Qué es la independencia de datos de programa y metadatos

La independencia de datos de programa se refiere a la capacidad de dejar los datos intactos y accesibles independientemente de modificaciones en la base de datos que los contiene. Permite a administradores reconfigurar la BD para nuevas necesidades de información sin que quienes necesitan los datos para investigación, informes y decisiones pierdan acceso repentino. Los metadatos dan a administradores información sobre el propio sistema de gestión de bases de datos (SGBD), ayudando a mantener integridad y rastrear rendimiento.

Esquema de base de datos

Los esquemas son planos de BD, articulando cómo se almacenan datos en el SGBD y describiendo relaciones entre tablas. Esquema físico: cómo se almacenan datos en el ordenador, describiendo hardware real usado. Esquema lógico: cómo se organizan datos dentro de la BD, detallando qué tablas para qué datos y qué valores son claves primarias para relaciones.

Independencia de datos

Hay dos niveles jerárquicos de independencia datos-programa, cada uno asegurando integridad y accesibilidad pese a cambios en esquema físico o lógico. Independencia física (nivel inferior): capacidad de actualizar hardware de almacenamiento sin alterar esquema lógico ni acceso del usuario final a través de aplicaciones. Independencia lógica: libertad para cambiar esquema lógico (añadir tablas, anexar campos) sin interrumpir acceso de usuarios finales a datos del SGBD.

Sobre metadatos

Metadatos son datos que describen los datos en una BD. En SGBD típico incluyen datos de tablas y columnas: nombres, tamaños, tipo de dato (cadenas, enteros, moneda). También articulan relaciones entre tablas y reglas de acceso y integridad.

Diccionario de datos

El diccionario de datos de una BD es su repositorio de metadatos, consolidando toda la info del esquema. Almacena metadatos en sus propias tablas, creadas por admin con lenguaje de definición de datos (LDD). El LDD no es lenguaje como SQL o Java; es subconjunto de comandos dentro de un lenguaje para crear/modificar objetos BD (tablas). Además de estructura, contiene info de procedimientos y permisos de acceso. Ayuda a preservar integridad evitando objetos con nombres duplicados o claves primarias que violen integridad relacional.