stringtranslate.com

Diccionario de datos

Un diseño simple de un diccionario de datos

Un diccionario de datos o repositorio de metadatos , según la definición del Diccionario de informática de IBM , es un "repositorio centralizado de información sobre datos, como significado, relaciones con otros datos, origen, uso y formato". [1] Oracle lo define como una colección de tablas con metadatos. El término puede tener uno de varios significados estrechamente relacionados relacionados con las bases de datos y los sistemas de gestión de bases de datos (DBMS):

Documentación

Los términos diccionario de datos y repositorio de datos indican una utilidad de software más general que un catálogo. Un catálogo está estrechamente relacionado con el software DBMS. Proporciona la información almacenada en él al usuario y al DBA, pero se accede principalmente a ella por los diversos módulos de software del propio DBMS, como los compiladores DDL y DML , el optimizador de consultas, el procesador de transacciones, los generadores de informes y el ejecutor de restricciones. Por otro lado, un diccionario de datos es una estructura de datos que almacena metadatos , es decir, datos (estructurados) sobre información. El paquete de software para un diccionario de datos o repositorio de datos independiente puede interactuar con los módulos de software del DBMS, pero lo utilizan principalmente los diseñadores, usuarios y administradores de un sistema informático para la gestión de recursos de información. Estos sistemas mantienen información sobre la configuración del hardware y el software del sistema, la documentación, la aplicación y los usuarios, así como otra información relevante para la administración del sistema. [2]

Si un sistema de diccionario de datos es utilizado únicamente por los diseñadores, usuarios y administradores y no por el software DBMS, se denomina diccionario de datos pasivo. De lo contrario, se denomina diccionario de datos activo o diccionario de datos. Cuando se actualiza un diccionario de datos pasivo, se hace de forma manual e independientemente de cualquier cambio en la estructura del DBMS (base de datos). Con un diccionario de datos activo, el diccionario se actualiza primero y, como resultado, los cambios se producen automáticamente en el DBMS.

Los usuarios de bases de datos y los desarrolladores de aplicaciones pueden beneficiarse de un documento de diccionario de datos autorizado que catalogue la organización, el contenido y las convenciones de una o más bases de datos. [3] Esto normalmente incluye los nombres y descripciones de varias tablas ( registros o entidades ) y sus contenidos ( campos ), además de detalles adicionales, como el tipo y la longitud de cada elemento de datos . Otra pieza importante de información que puede proporcionar un diccionario de datos es la relación entre tablas. A esto a veces se hace referencia en los diagramas de relación de entidades (ERD), o si se utilizan descriptores de conjuntos, identificando en qué conjuntos participan las tablas de la base de datos.

En un diccionario de datos activo, se pueden imponer restricciones a los datos subyacentes. Por ejemplo, se puede imponer un rango al valor de los datos numéricos en un elemento de datos (campo), o se puede obligar a un registro de una tabla a participar en una relación de conjunto con otro tipo de registro. Además, un DBMS distribuido puede tener ciertas especificaciones de ubicación descritas dentro de su diccionario de datos activo (por ejemplo, dónde se ubican físicamente las tablas).

El diccionario de datos consta de tipos de registros (tablas) creados en la base de datos mediante archivos de comandos generados por sistemas, adaptados a cada DBMS back-end compatible. Oracle tiene una lista de vistas específicas para el usuario "sys". Esto permite a los usuarios buscar la información exacta que se necesita. Los archivos de comandos contienen sentencias SQL para CREATE TABLE, CREATE UNIQUE INDEX, ALTER TABLE(para integridad referencial), etc., utilizando la sentencia específica requerida por ese tipo de base de datos.

No existe un estándar universal en cuanto al nivel de detalle de un documento de este tipo.

Software intermedio

En la construcción de aplicaciones de bases de datos, puede ser útil introducir una capa adicional de software de diccionario de datos, es decir, middleware , que se comunica con el diccionario de datos del DBMS subyacente. Un diccionario de datos de "alto nivel" de este tipo puede ofrecer características adicionales y un grado de flexibilidad que va más allá de las limitaciones del diccionario de datos nativo de "bajo nivel", cuyo propósito principal es respaldar las funciones básicas del DBMS, no los requisitos de una aplicación típica. Por ejemplo, un diccionario de datos de alto nivel puede proporcionar modelos alternativos de relación de entidades diseñados para adaptarse a diferentes aplicaciones que comparten una base de datos común. [4] Las extensiones del diccionario de datos también pueden ayudar en la optimización de consultas contra bases de datos distribuidas . [5] Además, las funciones de DBA a menudo se automatizan utilizando herramientas de reestructuración que están estrechamente acopladas a un diccionario de datos activo.

Los marcos de software destinados al desarrollo rápido de aplicaciones a veces incluyen facilidades de diccionario de datos de alto nivel, que pueden reducir sustancialmente la cantidad de programación requerida para construir menús , formularios , informes y otros componentes de una aplicación de base de datos, incluida la base de datos misma. Por ejemplo, PHPLens incluye una biblioteca de clases PHP para automatizar la creación de tablas, índices y restricciones de clave externa de forma portátil para múltiples bases de datos. [6] Otro diccionario de datos basado en PHP, parte del kit de herramientas RADICORE, genera automáticamente objetos de programa , scripts y código SQL para menús y formularios con validación de datos y uniones complejas . [7] Para el entorno ASP.NET , el diccionario de datos de Base One proporciona facilidades entre DBMS para la creación automatizada de bases de datos, validación de datos, mejora del rendimiento ( almacenamiento en caché y utilización de índices), seguridad de aplicaciones y tipos de datos extendidos . [8] Las características de Visual DataFlex [9] brindan la capacidad de usar DataDictionaries como archivos de clase para formar una capa intermedia entre la interfaz de usuario y la base de datos subyacente. La intención es crear reglas estandarizadas para mantener la integridad de los datos y hacer cumplir las reglas comerciales en una o más aplicaciones relacionadas.

Algunas industrias utilizan diccionarios de datos generalizados como estándares técnicos para garantizar la interoperabilidad entre sistemas. El sector inmobiliario, por ejemplo, se rige por un diccionario de datos de RESO, al que la Asociación Nacional de Agentes Inmobiliarios exige [10] que sus MLS cumplan a través de su manual de políticas. [11] Esta capa de mapeo intermedia para las bases de datos nativas de los MLS cuenta con el respaldo de empresas de software que brindan servicios API a las organizaciones MLS.

Ejemplos específicos de la plataforma

Los desarrolladores utilizan una especificación de descripción de datos (DDS) para describir los atributos de datos en descripciones de archivos que son externas al programa de aplicación que procesa los datos, en el contexto de un IBM i . [12] La tabla sys.ts$ en Oracle almacena información sobre cada tabla en la base de datos. Es parte del diccionario de datos que se crea cuando se crea la base de datos Oracle . [13] Los desarrolladores también pueden utilizar el contexto DDS de software libre y de código abierto (FOSS) para consultas estructuradas y transaccionales en entornos abiertos.

Atributos típicos

A continuación se muestra una lista no exhaustiva de elementos típicos que se encuentran en un diccionario de datos para columnas o campos:

Véase también

Referencias

  1. ^ ACM, Diccionario de informática de IBM, décima edición, 1993
  2. ^ Ramez Elmasri, Shamkant B. Navathe: Fundamentos de los sistemas de bases de datos , 3.ª ed., sección 17.5, pág. 582
  3. ^ TechTarget, SearchSOA , ¿Qué es un diccionario de datos? Archivado el 12 de febrero de 2009 en Wayback Machine
  4. ^ Patente de EE. UU. 4774661, Sistema de gestión de bases de datos con diccionario de datos activo, 19 de noviembre de 1985, AT&T
  5. ^ Patente de EE. UU. 4769772, Método de optimización de consultas automatizadas que utiliza optimizaciones locales paralelas y globales para la planificación del acceso a la materialización para bases de datos distribuidas, 28 de febrero de 1985, Honeywell Bull
  6. ^ PHPLens, biblioteca de diccionarios de datos ADOdb para PHP Archivado el 7 de noviembre de 2007 en Wayback Machine
  7. ^ RADICORE, ¿Qué es un diccionario de datos?
  8. ^ Base One International Corp., Diccionario de datos Base One
  9. ^ VISUAL DATAFLEX, características Archivado el 5 de abril de 2018 en Wayback Machine.
  10. ^ "API web de estándares de transacciones inmobiliarias (RETS)". nar.realtor . 23 de enero de 2015 . Consultado el 11 de octubre de 2020 .
  11. ^ "Manual sobre políticas de listado múltiple". nar.realtor . Enero de 2015 . Consultado el 11 de octubre de 2020 .
  12. ^ "Documentación DDS para IBM System i V5R3".
  13. ^ "Conceptos de Oracle - Diccionario de datos". dba-oracle.com . Consultado el 13 de febrero de 2017 .

Enlaces externos