Diccionario de datos - Data dictionary

Un diccionario de datos , o repositorio de metadatos , como se define en el Diccionario de Computación de IBM , es un "repositorio centralizado de información sobre datos como significado, relaciones con otros datos, origen, uso y formato". Oracle lo define como una colección de tablas con metadatos. El término puede tener uno de varios significados estrechamente relacionados con las bases de datos y los sistemas de gestión de bases de datos (DBMS):

  • Un documento que describe una base de datos o una colección de bases de datos.
  • Un componente integral de un DBMS que se requiere para determinar su estructura.
  • Una pieza de middleware que amplía o reemplaza el diccionario de datos nativo de un 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 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 o repositorio de datos autónomo 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 software del sistema, la documentación, la aplicación y los usuarios, así como otra información relevante para la administración del sistema.

Si un sistema de diccionario de datos solo lo utilizan los diseñadores, usuarios y administradores y no 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 una estructura de 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 cataloga la organización, los contenidos y las convenciones de una o más bases de datos. Esto generalmente incluye los nombres y descripciones de varias tablas (registros o entidades) y su contenido ( campos ) más detalles adicionales, como el tipo y la longitud de cada elemento de datos . Otro dato importante que puede proporcionar un diccionario de datos es la relación entre las tablas. A veces se hace referencia a esto en los diagramas Entidad-Relación o, si se utilizan descriptores de conjuntos, se identifica en qué bases de datos de conjuntos participan las tablas.

En un diccionario de datos activo, se pueden imponer restricciones a los datos subyacentes. Por ejemplo, se puede imponer un rango sobre el valor de los datos numéricos en un elemento de datos (campo), o se puede obligar 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 ciertos detalles de ubicación descritos dentro de su diccionario de datos activo (por ejemplo, dónde están ubicadas 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 el sistema, diseñados 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 necesitan. Los archivos de comando 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 dicho documento.

Middleware

En la construcción de aplicaciones de bases de datos, puede resultar útil introducir una capa adicional de software de diccionario de datos, es decir , middleware , que se comunica con el diccionario de datos 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 objetivo 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 entre entidades y diseñados para adaptarse a diferentes aplicaciones que comparten una base de datos común. Extensiones a los datos de diccionario también puede ayudar en la búsqueda de optimización contra bases de datos distribuidas . Además, las funciones de DBA a menudo se automatizan mediante 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 servicios de diccionario de datos de alto nivel, que pueden reducir sustancialmente la cantidad de programación necesaria para crear menús , formularios , informes y otros componentes de una aplicación de base de datos, incluida la propia base de datos. Por ejemplo, PHPLens incluye una biblioteca de clases PHP para automatizar la creación de tablas, índices y restricciones de clave externa de manera portátil para múltiples bases de datos. Otro diccionario de datos basado en PHP, que forma 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 combinaciones complejas . Para el entorno ASP.NET , el diccionario de datos de Base One proporciona servicios de DBMS cruzados 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 . Las características de Visual DataFlex 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. La industria de bienes raíces, por ejemplo, se rige por un Diccionario de datos de RESO que la Asociación Nacional de REALTORS exige que sus MLS cumplan a través de su manual de políticas. Esta capa de mapeo intermedia para las bases de datos nativas de MLS es compatible con empresas de software que brindan servicios de API a las organizaciones de MLS.

Ejemplos específicos de plataforma

Los desarrolladores utilizan una especificación de descripción de datos ( DDS ) para describir atributos de datos en descripciones de archivo que son externas al programa de aplicación que procesa los datos, en el contexto de un IBM i . 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 .

Atributos típicos

Aquí hay una lista no exhaustiva de elementos típicos que se encuentran en un diccionario de datos para columnas o campos:

  • Nombre de la entidad o formulario o su ID (EntityID o FormID). El grupo al que pertenece este campo.
  • Nombre del campo, como el nombre del campo RDBMS
  • Título del campo mostrado. Puede usar el nombre del campo por defecto si está en blanco.
  • Tipo de campo (cadena, entero, fecha, etc.)
  • Dimensión (es) como valores mínimo y máximo, ancho de visualización o número de posiciones decimales. Los diferentes tipos de campos pueden interpretar esto de manera diferente. Una alternativa es tener diferentes atributos según el tipo de campo.
  • Orden de visualización de campo o orden de tabulación
  • Coordenadas en pantalla (si es una interfaz de usuario posicional o basada en cuadrícula)
  • Valor por defecto
  • Tipo de solicitud, como lista desplegable, cuadro combinado, casillas de verificación, rango, etc.
  • Es obligatorio (booleano): si es 'verdadero', el valor no puede estar en blanco, nulo o solo espacios en blanco
  • Es de solo lectura (booleano)
  • Nombre de la tabla de referencia, si es una clave externa. Se puede utilizar para listas de validación o selección.
  • Varios controladores de eventos o referencias a. Ejemplo: "al hacer clic", "al validar", etc. Consulte la programación basada en eventos .
  • Código de formato, como una expresión regular o declaraciones "PIC" de estilo COBOL
  • Descripción o sinopsis
  • Características o especificación del índice de la base de datos

Ver también

Referencias

enlaces externos