¿Qué significa ANSI en arquitectura?

Niveles de Almacenamiento en Bases de Datos

Valoración: 4.55 (4808 votos)

En el fascinante mundo de las bases de datos, la forma en que se organiza y se accede a la información es tan crucial como la información misma. Para manejar la complejidad inherente a grandes volúmenes de datos y permitir que diferentes usuarios interactúen con ellos de maneras distintas, se utiliza una arquitectura en capas conocida como niveles de almacenamiento o, más formalmente, la arquitectura de tres esquemas ANSI/SPARC.

¿Qué es la arquitectura de base de datos de 3 niveles?
La arquitectura de tres niveles es una arquitectura de aplicación de software bien establecida que organiza las aplicaciones en tres niveles informáticos lógicos y físicos: el nivel de presentación, o interfaz de usuario; el nivel de aplicación, donde se procesan los datos; y el nivel de datos, donde se almacenan y gestionan los datos de la aplicación.

Esta arquitectura proporciona diferentes niveles de abstracción, permitiendo a los usuarios y aplicaciones centrarse en la información que necesitan, sin tener que preocuparse por los detalles de cómo se almacena físicamente. Es un concepto fundamental que separa la vista del usuario de la realidad física de los datos, ofreciendo flexibilidad y independencia de datos.

El Propósito de la Arquitectura de Tres Esquemas

La arquitectura de tres esquemas propuesta por el comité ANSI/SPARC en los años 70 surgió como una forma de estandarizar el diseño y la estructura de los sistemas de gestión de bases de datos (SGBD). Su objetivo principal es separar la interfaz de usuario de la base de datos física mediante la introducción de tres niveles de abstracción o esquemas:

  • El nivel externo o de vista.
  • El nivel conceptual.
  • El nivel interno o físico.

Esta separación es vital porque permite que los cambios en un nivel no afecten a los otros niveles, siempre y cuando las interfaces entre ellos (las asignaciones o mappings) se mantengan. Esto conduce a lo que se conoce como independencia de datos.

Nivel Interno (o Físico)

Este es el nivel más bajo de abstracción. Describe cómo los datos se almacenan *físicamente* en los dispositivos de almacenamiento. Se ocupa de detalles de bajo nivel como:

  • La estructura física de los archivos de la base de datos.
  • Los métodos de acceso utilizados (por ejemplo, si los datos están organizados secuencialmente, indexados, o mediante hashing).
  • La forma en que los registros de datos se almacenan (por ejemplo, su tamaño, la ubicación de los campos dentro del registro).
  • Las rutas de acceso a los datos.
  • Estrategias de compresión y cifrado a nivel físico.

El esquema interno describe la estructura de almacenamiento físico completa de la base de datos. Es la visión más cercana al hardware. El administrador de la base de datos (DBA) suele ser el principal responsable de definir y gestionar este nivel, optimizando el rendimiento mediante la elección de las estructuras de almacenamiento y los métodos de acceso más adecuados.

Los detalles de este nivel son completamente transparentes para los usuarios a nivel conceptual y externo. Un cambio en cómo se almacenan físicamente los datos (por ejemplo, reorganizar archivos, cambiar un índice) no debería requerir cambios en los niveles superiores, gracias a la independencia física de datos.

Nivel Conceptual

También conocido como el nivel lógico, este nivel describe la estructura *lógica* de toda la base de datos para la comunidad de usuarios en su conjunto. Actúa como un intermediario entre los niveles interno y externo.

El esquema conceptual describe:

  • Todas las entidades, sus atributos y los tipos de datos de los atributos.
  • Las relaciones entre las entidades.
  • Las restricciones de integridad que deben cumplirse (por ejemplo, claves primarias, claves foráneas, reglas de validación).
  • La información semántica sobre los datos.
  • Las operaciones permitidas sobre los datos.

Este nivel es una representación completa de la información de la base de datos, independiente de cómo se almacena físicamente y de cómo los usuarios individuales la ven. Es la visión de la base de datos como un todo, abstracta de los detalles de implementación física.

El diseño del esquema conceptual es una tarea crítica en el desarrollo de bases de datos y generalmente es responsabilidad del DBA o de diseñadores de bases de datos. Proporciona una base estable para el desarrollo de aplicaciones, ya que es menos propenso a cambios que el esquema interno.

Nivel Externo (o de Vista)

Este es el nivel más alto de abstracción. Describe la parte de la base de datos que un usuario o una aplicación particular ve. Un usuario individual o un grupo de usuarios solo necesita acceder a una porción específica de la base de datos, y el nivel externo les proporciona una vista personalizada.

Un esquema externo, también llamado subesquema o vista, describe:

  • La estructura de una parte de la base de datos relevante para un usuario o aplicación específica.
  • Cómo se derivan los datos de esta vista a partir del esquema conceptual.
  • Puede incluir datos agregados o transformados, o excluir datos sensibles para ese usuario.

Pueden existir múltiples esquemas externos sobre el mismo esquema conceptual. Cada esquema externo adapta la base de datos a las necesidades de un grupo de usuarios específico, simplificando su interacción con los datos y proporcionando seguridad al ocultar partes de la base de datos a las que no deberían tener acceso.

Este nivel proporciona independencia lógica de datos, lo que significa que los cambios en el esquema conceptual (si no afectan a la parte de la base de datos vista por el esquema externo) no requieren cambios en las aplicaciones que utilizan ese esquema externo.

Asignaciones (Mappings)

Para que estos tres niveles funcionen juntos, el Sistema de Gestión de Bases de Datos (SGBD) debe gestionar las asignaciones (mappings) entre ellos:

  • Asignación Conceptual/Interna: Relaciona el esquema conceptual con el esquema interno. Describe cómo se implementa el esquema conceptual en términos del esquema de almacenamiento interno. Permite al SGBD encontrar los registros físicos correspondientes a las entidades y relaciones definidas en el nivel conceptual. Es crucial para la independencia física de datos.
  • Asignación Externa/Conceptual: Relaciona cada esquema externo con el esquema conceptual. Describe cómo se obtiene la vista de un usuario a partir de la base de datos conceptual. Permite al SGBD traducir las solicitudes del usuario (expresadas sobre el esquema externo) a operaciones sobre el esquema conceptual. Es crucial para la independencia lógica de datos.

Estas asignaciones son manejadas exclusivamente por el SGBD y son transparentes para los usuarios.

Independencia de Datos: La Gran Ventaja

La independencia de datos es la capacidad de modificar el esquema en un nivel del sistema de base de datos sin tener que modificar el esquema en el nivel superior. Hay dos tipos:

  • Independencia Física de Datos: La capacidad de modificar el esquema interno sin tener que modificar el esquema conceptual. Por ejemplo, cambiar el método de organización de archivos, el tipo de dispositivo de almacenamiento, o añadir un nuevo índice sin afectar el esquema conceptual o las aplicaciones. Esto es relativamente fácil de lograr.
  • Independencia Lógica de Datos: La capacidad de modificar el esquema conceptual sin tener que modificar los esquemas externos. Por ejemplo, añadir una nueva entidad o un nuevo atributo a una entidad existente, o crear una nueva relación, sin afectar las vistas de los usuarios existentes (siempre y cuando los cambios no eliminen datos que la vista necesite). Esto es más difícil de lograr que la independencia física de datos, ya que los cambios conceptuales a menudo impactan en cómo los datos son percibidos lógicamente.

La arquitectura de tres esquemas, al proporcionar esta separación y gestionar las asignaciones, maximiza la independencia de datos, lo que a su vez facilita el mantenimiento de la base de datos, permite la evolución del diseño a lo largo del tiempo y protege las aplicaciones de usuario de los cambios en la estructura de almacenamiento o incluso en la estructura lógica global (siempre que la vista del usuario no se vea afectada directamente).

Comparativa de los Niveles de Almacenamiento

NivelVista de los DatosDescripciónUsuarios Principales / ResponsablesIndependencia que Permite
Interno (Físico)Cómo se almacenan físicamenteEstructuras de archivos, índices, punteros, ubicación físicaAdministrador de Base de Datos (DBA)Física de Datos
Conceptual (Lógico)Qué datos hay y cómo se relacionanEntidades, atributos, relaciones, restricciones de integridadDBA, Diseñadores de Base de DatosLógica de Datos
Externo (Vista)Parte de la base de datos relevante para un usuario/aplicaciónSubconjunto de datos, vistas personalizadas, datos derivadosUsuarios finales, Programadores de AplicacionesLógica de Datos

Preguntas Frecuentes

¿Son estos niveles implementados explícitamente en todos los SGBD?
No siempre se implementan como tres capas físicas distintas en el software del SGBD, pero la mayoría de los SGBD modernos se adhieren a los principios de esta arquitectura para proporcionar independencia de datos y diferentes niveles de abstracción, aunque la terminología exacta o la forma en que se gestionan las asignaciones pueden variar.

¿Quién define cada esquema?
El esquema interno y el conceptual suelen ser definidos por el Administrador de la Base de Datos (DBA) o el equipo de diseño de la base de datos. Los esquemas externos (vistas) pueden ser definidos por el DBA, los desarrolladores de aplicaciones o incluso usuarios avanzados, dependiendo del SGBD y las políticas de la organización.

¿Qué es un esquema?
Un esquema es la descripción de la estructura de una base de datos. Es un plano o mapa de la base de datos en un nivel particular de abstracción.

¿Cómo protege la seguridad el nivel externo?
Mediante el uso de vistas, se puede restringir el acceso de un usuario solo a los datos y operaciones que necesita, ocultando datos sensibles o irrelevantes definidos en el esquema conceptual.

En resumen, los niveles de almacenamiento son un concepto arquitectónico esencial en las bases de datos que permite gestionar la complejidad, ofrecer diferentes perspectivas a distintos usuarios y, crucialmente, proporcionar independencia de datos, facilitando así la evolución y el mantenimiento de los sistemas de bases de datos a lo largo del tiempo.

Si quieres conocer otros artículos parecidos a Niveles de Almacenamiento en Bases de Datos puedes visitar la categoría Bases de datos.

Ivan

Soy un entusiasta de la tecnología con especialización en bases de datos, particularmente en MySQL. A través de mis tutoriales detallados, busco desmitificar los conceptos complejos y proporcionar soluciones prácticas a los desafíos cotidianos relacionados con la gestión de datos

Aprende mas sobre MySQL

Subir