SGBD vs sistemas de archivos: diferencias, modelos de datos y arquitecturas
Clasificado en Informática
Escrito el en
español con un tamaño de 5,35 KB
SGBD frente a sistemas de archivos
Antes de los SGBD, la información se almacenaba en sistemas de archivos, lo que ocasionaba grandes trastornos a la hora de incorporar nuevos requerimientos o de modificar lo existente.
Desventajas de los sistemas de archivos
- Redundancia e inconsistencia de los datos.
- Dificultad en el acceso a los datos.
- Aislamiento de los datos.
- Problemas de integridad.
- Problemas de atomicidad.
- Problemas de seguridad.
- Anomalías en el acceso concurrente.
Evolución: registros unitarios, archivos secuenciales, archivos indexados, archivos relativos y, finalmente, bases de datos.
Visión de los datos
El objetivo es proporcionar a los usuarios una visión abstracta de los datos. El sistema oculta los detalles de cómo se almacenan y mantienen los datos.
Niveles de abstracción
- Nivel físico: ¿cómo se almacenan? Estructuras de bajo nivel.
- Nivel lógico: ¿qué se almacena? Estructuras más simples.
- Nivel de vistas: describe partes concretas de los datos.
Modelos de datos
Existen distintos modelos de datos, cada uno con características y usos particulares:
- Modelo Entidad–Relación (E-R).
- Modelo orientado a objetos: puede verse como una extensión del modelo E‑R que incorpora encapsulación, métodos (funciones) e identidad de objeto.
- Modelo relacional orientado a objetos: combina características del modelo orientado a objetos y del modelo relacional.
- Modelo semiestructurado: permite especificar datos donde elementos individuales del mismo tipo pueden tener diferentes conjuntos de atributos.
- Modelo de datos jerárquico: una base de datos jerárquica es un arreglo jerárquico de tipos de registro. Se compone de un único tipo de registro raíz con un conjunto ordenado de cero o más tipos de subárboles dependientes. Cada subárbol consiste en un único tipo de registro (la raíz del subárbol) y sus subárboles de nivel inferior, y así sucesivamente.
- Modelo de datos en red: puede considerarse una forma extendida de la estructura jerárquica. La distinción principal es que en el modelo jerárquico un registro tiene uno y sólo un padre; en una estructura de red, un registro puede tener cualquier número de padres.
- Modelo relacional.
Lenguajes de bases de datos
Una base de datos proporciona:
- Un lenguaje de definición de datos (DDL) para especificar el esquema de la base de datos.
- Un lenguaje de manipulación de datos (DML) para expresar consultas y modificaciones sobre la base de datos.
Arquitectura de la base de datos
La arquitectura se ve fuertemente influida por el sistema informático subyacente sobre el que se ejecuta el SGBD.
Tipos de arquitecturas
- Centralizadas.
- Cliente‑servidor.
- Distribuidas.
Arquitectura de dos capas
En una arquitectura de dos capas, la aplicación se divide en un componente que reside en la máquina cliente y que llama a la funcionalidad del sistema de bases de datos en la máquina servidor mediante instrucciones del lenguaje de consultas.
Arquitectura de tres capas
En una arquitectura de tres capas, la máquina cliente actúa simplemente como frontal y no contiene llamadas directas a la base de datos. En su lugar, el cliente se comunica con un servidor de aplicaciones, normalmente mediante una interfaz de formularios. El servidor de aplicaciones, a su vez, se comunica con el sistema de bases de datos para acceder a los datos.
Usuarios y administración de bases de datos
Usuarios de base de datos e interfaces
- Usuarios normales: interactúan a través de aplicaciones.
- Programadores de aplicaciones: desarrollan las aplicaciones.
- Usuarios sofisticados: exploran los datos a través de un procesador o gestor de consultas.
- Usuarios especialistas: escriben aplicaciones especializadas, como bases de conocimiento, sistemas expertos, tipos de datos complejos (multimedia) y sistemas de modelado del entorno.
Administradores de bases de datos (ABD)
Los administradores de bases de datos (ABD) tienen el control centralizado tanto de los datos como de las aplicaciones. Sus funciones incluyen:
- Definición de esquemas.
- Definición de estructuras y métodos de acceso.
- Modificación del esquema y de la organización física.
- Control de autorizaciones para el acceso a los datos.
- Mantenimiento rutinario (por ejemplo: copias de seguridad, verificación de espacio libre, optimización del rendimiento).