BASES DE DATOS TEMA 1
Contenido 1. Qué es una base de datos? 2. Un ejemplo 3. Personas que interactúan con la base de datos 4. Inconvenientes de los sistemas de ficheros 5. Modelos de datos 6. Lenguajes de bases de datos 7. Arquitectura de un SGBD 2
3 Qué es una base de datos? Base de datos = conjunto de datos relacionados entre sí Datos = hechos con significado que pueden registrarse Ejemplo: nombre, teléfono y dirección de personas Cualquier tamaño y distinto grado de complejidad Agenda, biblioteca, datos fiscales
4 Propiedades de una BD Representa algún aspecto del mundo real llamado universo de discurso Conjunto de datos lógicamente coherente (no colección aleatoria) Propósito específico Dirigida a grupo de usuarios Aplicaciones
5 SGBD SGBD = Sistema de gestión de base de datos Conjunto de programas que permite a los usuarios crear y mantener una BD Definir = especificar Tipos de datos Estructuras de datos restricciones Construir = guardar datos en medio de almacenamiento Manipular Consultar BD para obtener datos Actualizar datos para reflejar cambios Generar informes
6 Ejemplo BD Universidad Información sobre estudiantes, cursos, notas,... Cinco archivos: ESTUDIANTES, ASIGNATURAS, NOTAS, REQUISITOS, GRUPOS Definir Especificar estructura de registros de cada archivo Tipo de datos de cada campo Construir Almacenar datos que representan a cada estudiante, Manipular asignatura, etc Consultas: notas de Pérez, lista de estudiantes asignatura BD en 1992 Actualizaciones: cambiar curso de Pérez a 2º, crear nuevo grupo de BD
Personas que interactúan con BD Administradores Autorizar acceso Coordinar y vigilar uso Adquirir recursos (software y hardware) Diseñadores Identificar datos que se almacenarán Elegir estructuras apropiadas para representar y almacenar Desarrollar vistas para cada grupo de usuarios Usuarios finales Consultar y actualizar 7
8 Personas que interactúan con BD Analistas de sistemas y programadores de aplicaciones Transacción programada (TP) Conjunto de operaciones de consulta y actualización que se programa Ejemplos: cajeros en banco, reservas de líneas aéreas Analistas Determinan requisitos de usuarios finales Desarrollan especificaciones para TP Programadores de aplicaciones Implementan especificaciones en forma de programas
9 Problemas sistemas de archivos Redundancia e inconsistencia de datos La misma información puede estar duplicada en diferentes archivos Ejemplo: secretaría estudiantes y notas, contabilidad pago matrícula Dificultad en el acceso de datos Hay que escribir programa de aplicación para cada consulta Problemas de integridad Restricciones de integridad propiedades que deben satisfacer los datos Si se añaden nuevas es difícil cambiar programas de aplicación
10 Problemas sistemas de archivos Problemas de atomicidad Ciertos conjuntos de operaciones deben ser atómicos (ocurrir completos o no ocurrir) Ejemplo: transferencia bancaria Propiedad difícil de asegurar en sistemas de archivos Anomalías en el acceso concurrente Acceso simultáneo por múltiples usuarios puede dar lugar a inconsistencias Problemas de seguridad Es difícil garantizar que sólo ciertos usuarios acceden a ciertos archivos
11 Modelos de Datos Colección de herramientas conceptuales para describir Datos Relaciones Semántica Restricciones de integridad
12 Tipos de modelos Modelos basados en objetos Tamaño variable Entidad-Relación Orientado a Objetos Modelos basados en registros Tamaño fijo Relacional De Red Jerárquico Modelos físicos Describen cómo se almacenan los datos en el ordenador Estructuras de registro, ordenamiento de los registros, rutas de acceso,...
13 Modelo Entidad-Relación nombre persona estudió duración económicas_uam edad tiene coche marca año
14 Modelo orientado a objetos Objeto = atributos + métodos (fragmento de código que opera sobre el objeto) Clase objetos con los mismos atributos y métodos Un objeto puede acceder a los datos de otro invocando un método
Modelo Relacional Colección de tablas Cada tabla tiene varias columnas Nombre Ciudad N.Cuenta Pepe Madrid 14 Juan Madrid 18 Paco Lugo 14 N.Cuenta 14 18 Saldo 1500 2000 15
Modelo en red Los datos se representan como colecciones de registros Las relaciones entre los datos se representan mediante enlaces (punteros) Pepe Juan Paco Madrid Madrid Lugo 14 1500 18 2000 16
Modelo Jerárquico Parecido a modelo en red Diferencia: los registros se organizan como colecciones de árboles Pepe Juan Paco Madrid Madrid Lugo 14 18 14 1500 2000 1500 17
18 Lenguajes de bases de datos 1. Definición de datos (LDD) Permite especificar estructuras, tipos de datos y restricciones aplicables a los datos a almacenar 2. Manipulación de datos (LMD) Permite insertar, actualizar, borrar y extraer datos Incluye lenguaje de consulta (ej. SQL)
Arquitectura de un SGBD 2. Dar permisos sobre el esquema 3. Consultas y Programas de Usuario 1. Definición del esquema de la BD Compilador LMD Procesador del lenguaje de consulta y optimizador Compilador LDD Tablas de Autorización Gestor de Transacciones Gestor de Almacenamiento Tablas de descripción de la BD Base de Datos física y Diccionario de Datos 19
20 Arquitectura de un SGBD Optimizador de consultas: Define el plan de ejecución de operaciones solicitadas por los usuarios, de tal manera que se lleven a cabo de la manera más eficiente posible.
21 Arquitectura de un SGBD Gestor de transacciones: Garantiza que los programas se ejecuten de una manera atómica, controla las operaciones concurrentes sobre la base de datos
Arquitectura de un SGBD Gestor de almacenamiento: dos componentes a. gestor de archivos: recupera desde disco las páginas que contienen la información solicitada por una transacción. b. gestor de buffer : mantiene en memoria principal la información más usada y decide cuándo llevar a disco alguno de estas páginas. 22
Arquitectura de un SGBD Diccionario de Datos: Contiene el esquema de la BD, los usuarios autorizados y sus permisos de acceso. Hay que distinguir entre la descripción de la BD y la base de datos en sí Descripción esquema de la BD 23