Diccionario de datos


Un diccionario de datos , o depósito de metadatos , tal como se define en el IBM Dictionary of Computing , es un "depósito centralizado de información sobre datos como el significado, las relaciones con otros datos, el origen, el uso y el 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 administración de bases de datos (DBMS):

Los términos diccionario de datos y depósito 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 través de 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 la restricción. ejecutor 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 independiente o depósito de datos 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 solo 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 pasivos, se hace de forma manual e independiente de cualquier cambio en la estructura de un DBMS (base de datos). Con un diccionario de datos activo, el diccionario se actualiza primero y, como resultado, se producen cambios en el DBMS automáticamente.

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] Por lo general, esto incluye los nombres y las 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 información importante que puede proporcionar un diccionario de datos es la relación entre tablas. A veces se hace referencia a esto en los diagramas de entidad-relación, o si se usan descriptores de conjuntos, identificando en qué tablas de la base de datos de conjuntos participan.

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 FORZAR a un Registro en una Tabla a participar en una relación establecida 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 consiste en tipos de registro (tablas) creados en la base de datos por archivos de comando generados por sistemas, adaptados para cada DBMS de 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 CREAR TABLA, CREAR ÍNDICE ÚNICO, ALTERAR TABLA (para integridad referencial), etc., usando la sentencia específica requerida por ese tipo de base de datos.