Fundamentos y Estructura de los Sistemas Gestores de Bases de Datos (SGBD)
1. Capacidades Esenciales de un Sistema Gestor de Bases de Datos (SGBD)
Definición: Conjunto de programas que facilitan el acceso a los datos.
- Facilitar el acceso a los datos: Permite la visualización en diversos formatos (ej. hexadecimal, gráficos).
- Consistencia e Integridad de los datos:
- Consistencia: Todo cambio realizado en la Base de Datos (BD) respetará la integridad de la misma.
- Integridad (Restricciones): Restricciones aplicables a diferentes niveles:
- A nivel de campo (atributo): Ej. Edad laboral >= 16.
- A nivel de registro (tupla): Ej. Alumno no repetido (clave primaria).
- A nivel de tabla: Ej. Número de alumnos por grupo < 35.
- A nivel de relaciones: Ej. Todo producto tiene un código de proveedor que debe existir en la tabla de proveedores (clave foránea).
- Control de la Seguridad de la Base de Datos (BD):
- Realizar Backups (copias de seguridad).
- Recuperar la BD a partir de un backup.
- Reacción ante la caída del sistema.
- Control de acceso de usuarios (mediante login y contraseña).
- Gestión de permisos de acceso (comandos
GRANT/REVOKE).
- Control de la Concurrencia (Acceso en paralelo): Asegura que múltiples usuarios puedan acceder y modificar datos simultáneamente. Ej.: Ingresos y recibos en una Cuenta Corriente (C.C.).
- Facilitar la Administración: Incluye la gestión de la Base de Datos y del propio SGBD.
2. Componentes y Lenguajes de un SGBD
- Herramientas de Gestión para la Administración:
- Manipulación de la BD (creación, modificación, etc.).
- Manipulación de usuarios (creación, asignación de privilegios, etc.).
- Herramientas de Programación para Usuarios.
2.1. Tipos de Lenguajes de Programación (SQL)
El estándar SQL (Structured Query Language) se divide en varios sublenguajes:
- Lenguaje de Definición de Datos (DDL - Data Definition Language): Utilizado para definir la estructura de la base de datos (ej. crear tablas).
- Lenguaje de Control de Datos (DCL - Data Control Language): Utilizado para gestionar usuarios y permisos.
- Lenguaje de Manipulación de Datos (DML - Data Manipulation Language): Utilizado para gestionar los datos dentro de las tablas (ej.
INSERT,DELETE,UPDATE,SELECTde registros).
3. Integridad de Datos
Definición: Asegurar que todos los datos de una Base de Datos sean correctos.
3.1. Niveles de Integridad
- Integridad Sintáctica.
- Integridad Semántica.
4.2.3. Campo (Atributo de una Tabla)
Un atributo queda definido por:
- Nombre asociado: Debe ser único en la tabla.
- Tipo de datos que puede guardar:
- Texto (alfabético, numérico).
- Numérico (entero, real, etc.).
- Lógico (Sí/No, Booleano).
- Fecha / Hora.
- Tamaño máximo ocupado.
4. Conceptos Fundamentales de Bases de Datos (BD)
4.1. Definición de Base de Datos (BD)
Conjunto de datos pertenecientes al mismo contexto, almacenados de manera estructurada y expresando claramente las relaciones entre ellos.
4.2. Elementos de una BD Relacional
< Explicación: Modelo Relacional >
4.2.1. El Modelo Relacional
El modelo relacional es una manera de explicar la realidad, contrastando con otros modelos históricos como el Jerárquico o el de Red.
4.2.2. Relación
Definición: Conexión existente entre dos tablas diferentes.
Ejemplos:
- Alumnos Ciclos <-> Profesores Ciclos
- Créditos (MP) <-> Especialidades
4.2.3. Cardinalidad de una Relación
Definición: Número máximo de elementos de cada tabla que pueden estar relacionados.
Ejemplos:
- Créditos <--> Especialidades
- Pacientes <-> Médicos de Cabecera:
- 1 Paciente -> Tiene asignado -> 1 Médico.
- M Pacientes <- Controla <- 1 Médico.
Representación de una Relación
Se representa incluyendo el campo clave (clave primaria) de una tabla en la otra tabla con la que está relacionada (convirtiéndose en clave foránea).
Ejemplo:
- Tabla
Campos_Futbol(nombre, capacidad, fecha, etc.). - Tabla
Equipos_Futbol(nombre_equipo, etc., nombre_campo_futbol).
4.2.4. Campo (Atributo de una Tabla)
Un atributo queda definido por:
- Nombre asociado: Debe ser único en la tabla.
- Tipo de datos que puede guardar:
- Texto (alfabético, numérico).
- Numérico (entero, real, etc.).
- Lógico (Sí/No, Booleano).
- Fecha / Hora.
- Tamaño máximo ocupado.