stringtranslate.com

Diccionario de datos

Un diseño simple de un diccionario de datos.

Un diccionario de datos , o repositorio de metadatos , tal como se define en el Diccionario de Computación de IBM , es un "depósito 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 a ella acceden principalmente los distintos 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 controlador de restricciones. 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 un repositorio 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, documentación, aplicaciones y usuarios del hardware y software del sistema, 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 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 cataloga la organización, el contenido y las convenciones de una o más bases de datos. [3] Esto generalmente incluye los nombres y descripciones de varias tablas ( registros o entidades ) y su contenido ( campos ), además de 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 tablas. A veces se hace referencia a esto en los diagramas entidad-relación (ERD) o, si se utilizan descriptores de conjuntos, se identifica 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 establecida con otro tipo de registro. Además, un DBMS distribuido puede tener ciertas ubicaciones específicas descritas dentro de su diccionario de datos activo (por ejemplo, dónde se encuentran 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, adaptados para 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 necesitan. Los archivos de comando contienen declaraciones SQL para CREATE TABLE,, CREATE UNIQUE INDEX( ALTER TABLEpara integridad referencial), etc., utilizando la declaración 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 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 soportar 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 entre entidades y relaciones diseñados para adaptarse a diferentes aplicaciones que comparten una base de datos común. [4] Las extensiones al diccionario de datos también pueden ayudar en la optimización de consultas en 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 funciones 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 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 funciones 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. 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 [10] que cumplan sus MLS a través de su manual de políticas. [11] Esta capa de mapeo intermedia para las bases de datos nativas de MLS está respaldada por compañías de software que brindan servicios API a organizaciones 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 archivos que son externos 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 gratuito 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:

Ver también

Referencias

  1. ^ ACM, Diccionario de Computación de IBM, décima edición, 1993
  2. ^ Ramez Elmasri, Shamkant B. Navathe: Fundamentos de los sistemas de bases de datos , 3er. ed. secta. 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 estadounidense 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 globales y paralelas 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 diccionario 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 . Consultado el 11 de octubre de 2020 .
  11. ^ "Manual sobre política de listado múltiple". nar.realtor . 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