Bases de Datos Relacionales: Modelo, Arquitectura y Álgebra
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 8,48 KB
1. Introducción a las Bases de Datos
Las bases de datos separan la implementación física de la parte lógica orientada al tratamiento de datos. Mediante el modelo por niveles, se consigue abstraer la implementación de los datos, accediendo por el modelo conceptual.
1.2. Modelo de Datos
Representa la información, haciendo referencia al contenido y a las relaciones entre los datos. La implementación del modelo de datos genera una base de datos. Una base de datos se define como un conjunto de datos con contenidos y relaciones entre los datos que la forman. Los datos pueden ser de dos tipos:
- Datos del Usuario: Datos sobre información útil para la base de datos.
- Datos del Sistema: Datos necesarios para la gestión de la información en la base de datos.
1.3. Características de las Bases de Datos
Una base de datos debe cumplir las siguientes características:
- Integridad: Asegurar que los datos en la base de datos sean válidos (no puede aparecer información incorrecta). Se utiliza el concepto de transacciones para mantener la integridad. Una transacción es un conjunto de acciones que se ejecutan de manera secuencial. En caso de error, la base de datos deshace los cambios hasta volver a un estado íntegro.
- Seguridad: Garantizar que el acceso a los datos esté controlado mediante usuarios autorizados. Se establecen 3 niveles de seguridad:
- Nivel 1: Control de acceso para usuarios no autorizados. Todos los usuarios se identifican con nombre y contraseña.
- Nivel 2: Codificación de la base de datos mediante sistemas de cifrado. La información sensible se encripta.
- Nivel 3: Control de datos íntegro. Supervisa que los datos sean consistentes. El control mediante transacciones asegura que la información procesada se incorpore correctamente a la base de datos.
- Redundancia Mínima: Minimizar la repetición de datos. La redundancia ocupa espacio adicional y provoca fallos de consistencia.
- Velocidad de Acceso: Los accesos a la base de datos deben ser ágiles. Los límites de acceso dependen del tipo de conexión, usuarios conectados, estructura física y lógica de la base de datos, orden de consultas, existencia de índices, etc.
- Representación de Información: Permite representar la información en múltiples vistas, generalmente dependiendo del tipo de usuario:
- Usuario Programador: Interfaz de lenguajes de alto nivel. Permite la modificación de tablas, usuarios, validaciones, etc. También la creación de formularios, informes y menús para usuarios finales.
- Usuarios Finales: Acceden mediante consultas sencillas que muestran los datos de manera intuitiva.
- Importación y Exportación:
- Importación (migración): Capacidad de incorporar datos de manera masiva desde medios externos.
- Exportación (Compatibilidad): Capacidad de exportar datos a un formato utilizable por otros medios.
- Independencia de Datos: Capacidad de la base de datos ante cambios.
- Independencia física: Capacidad de gestionar modificaciones en la estructura física.
- Independencia lógica: Capacidad de gestionar modificaciones en la estructura lógica.
1.4. Arquitectura de las Bases de Datos
- Nivel Interno: Representa el almacenamiento físico de la información. Define los ficheros que almacenan las tablas, el tamaño de registro y la construcción de ficheros de índices.
- Nivel Conceptual: Organización de datos mediante tablas y relaciones. Determina los campos de las tablas, sus propiedades (dominio, validaciones, restricciones) y las relaciones entre tablas (cardinalidad, dependencia en cascada).
- Nivel Externo: Representa la base de datos tal y como la perciben los usuarios. Define los esquemas externos, los usuarios y su correspondencia con el esquema externo, y las vistas para usuarios finales.
1.5. Sistemas Gestores de Bases de Datos (SGBD)
Un SGBD es un conjunto de herramientas que permiten la gestión de la información. Sus características principales son:
- Gestor de Base de Datos: Herramienta que administra las características principales de la base de datos, garantizando la disponibilidad de los datos.
- Diccionario de Datos: Base de datos propia que contiene los esquemas (internos, conceptuales y externos) y la información de las cuentas de usuario.
- Administrador de la Base de Datos (DBA): Gestiona la integridad, funcionamiento y seguridad. Define los esquemas, gestiona usuarios, etc.
- Seguridad de Datos: Incluye análisis transaccional, backups (copias de respaldo) y políticas de recuperación.
2. El Modelo Relacional
El modelo relacional formaliza la teoría de conjuntos y predicados de primer orden, representando las relaciones mediante tablas con columnas comunes.
- Tuplas: Filas de una tabla.
- Atributos: Columnas de una tabla.
- Grado de una relación: Número de atributos que contiene.
- Cardinalidad: Número de tuplas en un momento dado.
- Dominio: Grupo de valores que puede tener una columna.
2.1. Tuplas
Forman parte de una tabla con la misma estructura. Deben ser distintas. Dos relaciones con las mismas tuplas en diferente orden son equivalentes. Dos relaciones con los mismos atributos en diferente orden son equivalentes.
2.2. Clave
Identifica de forma única a una tupla. Puede estar formada por uno o más atributos.
2.3. Esquema
Es la definición de una relación, incluyendo los atributos que la componen y las restricciones sobre ellos (dominio, relaciones entre atributos).
- Realización: Enumera los elementos de una relación.
- Realización correcta: Cumple las condiciones del esquema.
3. Base de Datos Relacional
Grupo de tablas y relaciones entre ellas. El esquema de la base de datos es el conjunto de los esquemas para las relaciones.
- Valor nulo: Ausencia de valor en un atributo.
- Clave primaria: Atributo o grupo de atributos que identifica unívocamente los elementos de una relación.
- Clave foránea: Aparición de una clave primaria en otra relación.
Todo sistema de base de datos debe cumplir:
- Ningún atributo que forma parte de una clave puede tener valor nulo.
- Las claves no pueden tener valor nulo.
4. Álgebra Relacional
Lenguaje que define y manipula la base de datos según el modelo relacional. Permite obtener nuevas realizaciones mediante operaciones sobre realizaciones existentes. Se agrupan en dos tipos:
- Consulta: Obtener una relación a partir de otras existentes.
- Actualización: Añadir, borrar o modificar.
4.1. Operaciones Básicas
- Unión (∪): Conmutativa. Solo posible entre tablas unión-compatibles (mismos atributos y dominios). Elimina filas repetidas.
- Diferencia (-): No conmutativa. Solo posible entre tablas unión-compatibles.
- Producto Cartesiano (*): Conmutativa. Genera una nueva relación con todos los atributos de ambas relaciones.
- Selección (σ): Escoge tuplas según una función lógica.
- Proyección (π): Escoge un conjunto de atributos. Elimina filas repetidas.
4.2. Operaciones Derivadas
- Unión Natural (⋈): Similar al producto cartesiano, uniendo mediante campos comunes.
- Intersección (∩): Solo posible entre tablas unión-compatibles.
- División (/): Los atributos de la segunda relación deben estar contenidos en los de la primera.
4.3. Optimización de Consultas
Es posible modificar el orden de las operaciones para obtener el mismo resultado. Se pueden combinar proyecciones, selecciones, producto cartesiano, unión y diferencia para optimizar las consultas.