Articulo de referencia

Diccionario de datos

Un diseño sencillo de un diccionario de datos Un diccionario de datos , o repositorio de metadatos , según se define en el Diccionario de Computación de IBM , es un "repositorio...

Un diseño sencillo de un diccionario de datos

Un diccionario de datos , o repositorio de metadatos , según se define en el Diccionario de Computación de IBM , es un "repositorio centralizado de información sobre datos, como su 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 varios significados estrechamente relacionados con bases de datos y 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 es necesario para determinar su estructura.
  • Un componente de middleware que extiende o reemplaza el diccionario de datos nativo de un sistema 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 vinculado al software del sistema de gestión de bases de datos (DBMS). Proporciona la información almacenada en él al usuario y al administrador de bases de datos (DBA), pero se accede principalmente a él 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 el aplicador 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 se utiliza principalmente por 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, las aplicaciones 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 diseñadores, usuarios y administradores, y no por el software del sistema de gestión de bases de datos (DBMS), se denomina diccionario de datos pasivo. En caso contrario, se denomina diccionario de datos activo . Cuando se actualiza un diccionario de datos pasivo, la actualización se realiza manualmente y de forma independiente de cualquier cambio en la estructura del DBMS (base de datos). Con un diccionario de datos activo, primero se actualiza el diccionario y, como resultado, los cambios en el DBMS se producen automáticamente.

Los usuarios de bases de datos y los desarrolladores de aplicaciones pueden beneficiarse de un diccionario de datos autorizado que cataloga la organización, el contenido y las convenciones de una o más bases de datos. [ 3 ] Este documento suele incluir los nombres y las 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 . Otra información importante que puede proporcionar un diccionario de datos es la relación entre las tablas. A esto se hace referencia a veces en los diagramas entidad-relación (DER) o, si se utilizan descriptores de conjuntos, identificando a qué conjuntos pertenecen las tablas de la base de datos.

En un diccionario de datos activo, se pueden establecer restricciones sobre 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 sistema de gestión de bases de datos distribuido puede tener especificaciones de ubicación definidas en 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 el sistema, adaptados a cada sistema de gestión de bases de datos (DBMS) compatible. Oracle dispone de una lista de vistas específicas para el usuario "sys". Esto permite a los usuarios consultar la información exacta que necesitan. 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 que debe tener un documento de este tipo.

Middleware

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. Este diccionario de datos de "alto nivel" 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 dar soporte a las funciones básicas del DBMS, no a los requisitos de una aplicación típica. Por ejemplo, un diccionario de datos de alto nivel puede proporcionar modelos de entidad-relación alternativos adaptados 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 orientados al desarrollo rápido de aplicaciones a veces incluyen funcionalidades 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 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 portable 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 funcionalidades entre sistemas de gestión de bases de datos para la creación automatizada de bases de datos, validación de datos, mejora del rendimiento ( caché y utilización de índices), seguridad de la aplicación y tipos de datos extendidos . [ 8 ] Las características de Visual DataFlex [ 9 ] proporcionan 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. El objetivo es crear reglas estandarizadas para mantener la integridad de los datos y hacer cumplir las reglas de negocio 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 inmobiliaria, por ejemplo, se rige por un Diccionario de Datos de RESO que la Asociación Nacional de REALTORS 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 proporcionan 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 las 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

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 por ejemplo el nombre del campo del RDBMS.
  • Título del campo mostrado. Si está vacío, puede mostrarse el nombre del campo por defecto.
  • Tipo de campo (cadena de caracteres, número entero, fecha, etc.)
  • Medidas como valores mínimos y máximos, ancho de visualización o número de decimales. Los distintos tipos de campo pueden interpretarlas de forma diferente. Una alternativa es utilizar atributos diferentes según el tipo de campo.
  • Orden de visualización de campos o orden de tabulación
  • Coordenadas en pantalla (si se trata de una interfaz de usuario posicional o basada en cuadrícula)
  • Valor predeterminado
  • 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, ser nulo o contener solo espacios en blanco.
  • Es de solo lectura (booleano)
  • Nombre de la tabla de referencia, si se trata de una clave externa. Puede utilizarse para validación o listas de selección.
  • Diversos manejadores de eventos o referencias a ellos. Ejemplo: "on-click", "on-validate", etc. Véase programación orientada a eventos .
  • Código de formato, como una expresión regular o instrucciones "PIC" al estilo COBOL.
  • Descripción o sinopsis
  • Características o especificaciones del índice de la base de datos

Véase también

Referencias

  1. ACM, Diccionario de Informática de IBM , 10.ª 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 estadounidense 4774661, Sistema de gestión de bases de datos con diccionario de datos activo , 19 de noviembre de 1985, AT&T
  5. Patente estadounidense 4769772, Método automatizado de optimización de consultas que utiliza optimizaciones globales y locales paralelas para la planificación del acceso a la materialización en 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 de 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 la política de listados múltiples" . 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 .
  • Yourdon, Wiki de Análisis Estructurado , Diccionarios de Datos (Archivo web)
  • Octopai, Diccionario de datos vs. Glosario empresarial
Obtenido de " https://en.wikipedia.org/w/index.php?title=Data_dictionary&oldid=1310821277 "