Independencia de datos en DBMS

 Ingeniero de bases de datos
  • Introducción
  • ¿Qué es la Independencia de los datos?
  • Independencia de los tipos de datos

Introducción

Hoy, vamos a abordar uno de los temas más importantes de los sistemas de Gestión de bases de datos, que es la Independencia de los datos. La razón detrás de la implementación de tres niveles de abstracción de datos no es otra que lograr la independencia de los datos. La independencia de los datos es algo que se ocupa de los cambios que tienen lugar en diferentes niveles de esquema. Aparte del significado de independencia de datos, aprenderá sobre su necesidad y sus tipos aquí. Así que, ¡comencemos sin más preámbulos!

¿Qué es la Independencia de los datos?

Todos ya estamos familiarizados con los dos términos “datos” e “independencia” por separado, por lo que podemos descifrar más o menos el significado de todo el término “independencia de datos” en el mismo sentido. Del propio término se desprende claramente que estamos hablando de la independencia de los datos presentes en una base de datos. En palabras técnicas, puede decirlo de la siguiente manera: “La independencia de datos es la propiedad de DBMS que permite al usuario cambiar la definición del esquema en un nivel sin necesidad de cambiar la definición del esquema en los niveles superiores posteriores”. Es muy necesario que cuando estamos haciendo cambios en un nivel, no obstaculice los otros niveles. Para ser precisos, la independencia de los datos se refiere a la independencia o autosuficiencia de los datos presentes en los tres niveles de la arquitectura de la base de datos. Además, es algo que le ayuda a mantener los datos separados de los programas de aplicación que los utilizan. A menudo se ve como un tipo de transparencia de datos que preocupa mucho a un sistema de gestión de bases de datos centralizado.

Antes de analizar un aspecto más profundo de la independencia de los datos, hagamos un rápido recordatorio de los niveles de una base de datos. El esquema interno o físico es el primer nivel que está en conexión directa con la base de datos y también a nivel de memoria. El segundo es el esquema conceptual o lógico que sirve de mediador entre el tercer y el primer nivel. El tercer nivel es el esquema externo que dicta cómo la base de datos es visible para los múltiples usuarios finales. Suponiendo una instancia de una base de datos de Bibliotecas, la implementación de estos tres niveles se parece un poco a esto:

Esquema interno Esquema lógico Esquema externo
Archivos desordenados de relaciones de bases de datosindice de primera columna de Visitantes Visitantes (id: int, nombre: string, edad: int, contacto: numérico, dirección: string) Libros (id: int, título: string, autor: string, isbn: numérico) View1: BookRecords (b_id: int, b_name: string, author: string) View2: VisitorRecords (v_id: int, v_name: string)

Independencia de datos separa los datos de la API e implementa los cambios realizados en uno de los niveles de las asignaciones entre niveles. Ayuda a mantener la libertad de estos niveles individuales de la base de datos al mismo tiempo. Desde algunos puntos de vista, la independencia de los datos y la independencia de la operación juntas resaltan el fenómeno de abstracción de datos en un SGBD.

¿Cómo lograr la independencia de datos en DBMS?

Para adquirir independencia de datos, nos aseguramos de que nuestra base de datos cumpla con los requisitos de abstracción de datos. En palabras sencillas, la abstracción de datos es el proceso de mantener ocultos los detalles irrelevantes del usuario final. Si pensamos con respecto a las entidades del mundo real, podemos tomar el ejemplo de un automóvil. Cuando un conductor conduce un automóvil, tiene un conocimiento completo de conducir un automóvil, pero si por alguna razón no puede arrancar el automóvil, necesitará la asistencia de un mecánico de automóviles. Esto es así porque el conductor solo sabe conducir un automóvil, no sabe cómo lidiar con los problemas de circuitos internos, la razón es que los circuitos internos y el mecanismo del automóvil se le ocultan. Asimismo, la estructura interna es invisible para los programadores y usuarios finales. Esta propiedad de limitar la visibilidad en una base de datos se conoce como abstracción de datos. Una base de datos tiene hasta tres niveles de abstracción. Estos tres niveles se enumeran a continuación:

  • Nivel físico (esquema interno)
  • Nivel conceptual (Nivel lógico)
  • Nivel de vista

El nivel físico de abstracción de datos se encarga del esquema interno. Este nivel de abstracción define cómo se almacenan los datos de una base de datos. Almacena las estructuras de datos detalladas y complejas de la base de datos en las que los usuarios finales y los programadores no estarían interesados. También se considera el nivel más bajo de abstracción de datos.

El nivel conceptual, que es el nivel medio de abstracción de datos, es para el nivel lógico del esquema. El nivel anterior responde a la pregunta ” ¿Cómo?’. De manera similar, este nivel responde a la pregunta ” ¿Por qué?”Describe qué y qué tipo de datos se almacenan en la base de datos.

El último y más alto nivel de abstracción de datos es el nivel de vista. Este nivel indica cómo los datos deben ser vistos por diferentes n usuarios. Es responsable de la interacción del usuario con la base de datos.

Tomemos un ejemplo a muy baja escala donde hemos almacenado los detalles de los clientes de una tienda. Por lo tanto, si hablamos del nivel físico, los datos se almacenan como bloques de memoria en bytes, gigabytes, terabytes, etc. Básicamente, se ocupa del almacenamiento de memoria compleja. Esta información no es visible para los programadores. El nivel lógico describirá los detalles del cliente que se ingresan y sus tipos de datos. La relación lógica se implementa entre los datos en este nivel utilizando lenguajes de programación. Este nivel es tratado principalmente por programadores. A nivel de vista, el usuario interactúa con el sistema a través de la interfaz gráfica de usuario para ingresar los datos, tal vez en un formato de formulario o en algún otro formato establecido. Ahora, cada nivel debe ser independiente del otro, para que cuando hagamos cambios en un nivel, no estemos obligados a hacer cambios en el siguiente nivel superior. Y esto es lo que hace la independencia de datos.

Para mantener estos tres niveles de abstracción de datos, es posible que necesitemos hacer cambios en un nivel de la base de datos, lo que podría ser una gran molestia si no fuera por la independencia de los datos. Estará de acuerdo en que cambiar todo el programa de aplicación para reflejar un ligero cambio en el esquema físico no es de ninguna manera a nuestro favor en términos de tiempo y programación. La independencia de los datos garantiza que hacer modificaciones en un nivel no afecte a los otros niveles de la base de datos. Sobre la base de los tres niveles de abstracción de datos, la independencia de los datos se ramifica en dos tipos.

Tipos de independencia de datos

Aprendamos sobre los dos tipos de independencia de datos y sus propiedades. Las dos categorías son:

  • Independencia de datos físicos
  • Independencia de datos lógicos

Independencia de datos físicos: Bajo independencia de datos físicos, tenemos la libertad de alterar el esquema físico sin estar obligados a alterar los programas de aplicación para eso. Es responsable de separar el nivel interno del nivel conceptual de una estructura de base de datos. La independencia de datos físicos permite proporcionar una descripción lógica o una descripción general de la base de datos, que no es necesariamente necesaria para especificar los detalles de la estructura lógica de una base de datos. Según la independencia de los datos físicos, los cambios realizados en el nivel interno no deben cambiar la definición del nivel conceptual o del esquema de nivel de vista.

La independencia física le permite modificar las estructuras de almacenamiento de archivos, los algoritmos de hash, las técnicas de compresión, los dispositivos de almacenamiento, la ubicación de la base de datos, el método de acceso, los índices, etc. Por lo tanto, básicamente se ocupa de la implementación de técnicas de almacenamiento de memoria eficientes. Cualquier cambio realizado en este nivel se aplicará en el mapeo entre los niveles interno y conceptual de la base de datos. Tenga en cuenta que las modificaciones introducidas deben estar localizadas. La independencia de los datos físicos se alcanza por el nivel físico y luego se lleva a cabo la transformación del nivel conceptual al interno de la base de datos.

De vez en cuando, nos vemos obligados a actualizar el nivel interno para mejorar el rendimiento de nuestro DBMS en vista de la gestión de memoria. Por lo tanto, la independencia de los datos físicos, sin lugar a dudas, juega un papel vital debido al hecho de que hacer cambios en las técnicas de almacenamiento de acuerdo con nuestros requisitos es algo a lo que un SGBD eficiente debe ser propenso.

Independencia Lógica de los Datos: La independencia de los datos lógicos da la libertad de cambiar el nivel conceptual del esquema sin imponer ninguna obligación de cambiar las vistas externas y los programas o API externos. Las modificaciones realizadas en este nivel se aplican en la asignación de niveles de vista lógica y final. Los programas de aplicación dependen en gran medida del nivel conceptual, lo que dificulta la independencia lógica de los datos en comparación con la independencia física de los datos. Cualquier cambio menor o mayor en la estructura lógica de la base de datos nos requeriría cambiar los programas también. Por lo tanto, lograr la independencia lógica de los datos puede ser bastante difícil. La independencia lógica de los datos rige la separación entre el nivel de vista final y el nivel conceptual.

La independencia de datos lógicos nos permite realizar cambios como agregar, modificar o eliminar un atributo, entidad o incluso una relación. Hacer tales modificaciones no requiere reescribir el programa de aplicación, sino hacer las modificaciones correspondientes en el programa. Nos permite fusionar dos registros en uno sin afectar a la capa externa. Si se desea dividir un registro existente en dos, es posible sin interferir con la estructura de nivel de vista del usuario final de una base de datos dada.

Hacer modificaciones oportunas al nivel conceptual para mantener su SGBD actualizado es esencial. Esta es la razón por la que se dice que la independencia de los datos lógicos está liderando un papel fundamental. No solo ayuda a mejorar el rendimiento y la velocidad del DBMS, sino que también resulta útil para hacer que su base de datos sea mucho más práctica y confiable.

Ventajas de la independencia de los datos

La independencia de los datos es indiscutible cuando se trata de ser una de las características más significativas de un sistema de gestión de bases de datos. Hay varias razones para justificar la necesidad de independencia de los datos en el SGBD. Por lo tanto, echemos un vistazo a las ventajas que satisfacen las necesidades de DBMS.

  • Calidad de los datos: La independencia de los datos ayuda a mejorar la calidad de los datos almacenados en una base de datos. Dado que modificar la estructura de la base de datos se vuelve más conveniente con independencia de los datos, el almacenamiento de datos se vuelve eficiente. Facilita la mejora del estado indiviso o intacto. Por lo tanto, se traduce en una mejora de la calidad de los datos almacenados.
  • Mantenimiento rentable: la independencia de los datos nos evita la molestia de realizar cambios en todos los niveles esquemáticos de nuestra base de datos si se requieren cambios en un nivel esquemático. Por lo tanto, mantener nuestra base de datos se vuelve asequible en buena medida.
  • Aspecto de seguridad: La aplicación adecuada de los estándares y protocolos para proteger la base de datos se vuelve más fácil. Por lo tanto, la independencia de los datos es de hecho útil para mejorar la seguridad de la base de datos.
  • Desarrolladores Centrados en la estructura General: Los desarrolladores pueden centrarse únicamente en el manejo y la actualización de la estructura lógica sin preocuparse por la implantación interna. Los cambios son absorbidos directamente por el mapeo de nivel conceptual y de nivel interno.
  • Reducción de la Incongruencia de los datos: La independencia de los datos permite modificar la estructura de nuestra base de datos para aumentar su compatibilidad. Esto ayuda a controlar la incongruencia de los datos.
  • Mejorar el rendimiento: la independencia de los datos alimenta la causa de la abstracción de datos. Además, facilita la implementación sin problemas de nuevos cambios. Como resultado, el acceso, recuperación o modificación de datos se vuelve rápido y conveniente. Así es como la independencia de los datos resulta útil para mejorar el rendimiento de la base de datos.

Como podemos inferir de los puntos enumerados anteriormente que destacan los méritos de la independencia de los datos, la independencia de los datos actúa como una de las armas de DBMS que superan los inconvenientes de los sistemas basados en archivos. Uno puede verlo como la inmunidad de las aplicaciones de usuario frente a los cambios realizados en la definición del esquema y la organización de datos. Cada moneda tiene dos caras, lo mismo va con esto también. Ahora que está bastante convencido de que la independencia de los datos es la clave para obtener confiabilidad y seguridad de una base de datos, debe preguntarse sobre su aspecto más oscuro. Entonces, permítanme decirles que hay solo dos deficiencias principales que comúnmente encontramos al tratar con la independencia de los datos. El primero es el aumento de la complejidad que conlleva la adopción de la independencia de los datos. Las bases de datos deben diseñarse cuidadosamente para hacer un uso óptimo de la independencia de los datos. La segunda desventaja está relacionada con la primera. Los programas de aplicación dependen en gran medida del esquema lógico de los datos. Por lo tanto, cambiar la estructura conceptual exige cambiar el programa de aplicación respectivo.

Espero que este blog haya sido capaz de arrojar la luz adecuada sobre la independencia de los datos y agregar valor a su conocimiento sobre DBMS. Aparte de la independencia de los datos, hay varios otros factores que implementan un gran impacto en una base de datos. Para obtener una buena comprensión de estos temas relevantes de DBMS, puede consultar otros blogs de Gran Aprendizaje. Manténgase atento y continúe su viaje de aprendizaje con nosotros. Es posible que prefiera optar por un curso intensivo en DBMS con una buena oportunidad de obtener un certificado. Tenemos numerosos cursos certificados que lo beneficiarán de una u otra manera. Entonces, ¿qué más estás esperando? ¡Inscríbete en un nuevo curso aquí! Feliz aprendizaje!

Leave a Reply