Tema 1 Conceptos básicos • Sistema de Gestión de Bases de Datos, SGBD (DBMS, Database Management System): software diseñado específicamente para el mantenimiento y la explotación de grandes conjuntos de datos BDII Introducción 1 Tema 1 Ventajas de los SGBDs Ventajas • • • • • • Independencia de los datos Acceso a los datos eficiente Integridad y seguridad Administración Acceso concurrente y recuperación Reducción del tiempo de desarrollo de las aplicaciones Inconvenientes • • • • • • • BDII Complejidad Tamaño Coste SGBD Coste hardware adicional Coste conversión Prestaciones Mayor impacto de los fallos Introducción 2 Tema 1 Perspectiva histórica Predecedor de los SGBD: sistemas basados en ficheros (aún existen) 1959. IBM presenta el sistema Ramac. • leía datos en forma no secuencial, haciendo posible este tipo de acceso a los archivos. 1961. Charles Bachman diseña el primer DBMS de propósito general. 1965-1970. Aparece la vista en dos niveles de la organización: conceptual y de usuario. • esto constituyó el fundamento del modelo de datos jerárquico. • IBM y American Airlines crean SABRE, que permitía el acceso de múltiples usuarios a los datos a través de una red de comunicaciones. 1970. Codd, investigador asociado de IBM, desarrolla el modelo relacional y establece los fundamentos para la teoría de BD. 1976. Aparece el modelo Entidad-Relación. Años 80. Se desarrollan DBMS para computadores personales. Aparecen DBASE, PARADOX, DB2, ORACLE, SYBASE, INFORMIX, etc. Aparecen los sistemas orientados a objetos, sistemas cliente/servidor para bases de datos distribuidas. Años 90. Se intenta extender las capacidades de los SGBD a nuevas aplicaciones (BD espaciales, temporales, multimedia y deductivas) BDII Introducción 3 Tema 1 El Modelo Relacional Un modelo es un conjunto de elementos de alto nivel que ocultan los detalles de bajo nivel Modelo Relacional DB2, Informix, Oracle, Sybase, MS Access, Paradox Otros modelos Jerárquico (IMS de IBM) En red (IDS) Orientado a Objetos (Objectstore y Versant) Relacional orientado a objetos (Informix, ObjectStore, Oracle...) BDII Introducción 4 Niveles de abstracción en un SGBD Tema 1 DDL (Data Definition Languaje) Nivel conceptual (esquema conceptual o lógico) Nivel externo o vistas Nivel físico Nivel externo o de vistas Nivel conceptual Nivel interno o físico BDII Introducción 5 Independencia de los datos Tema 1 Las aplicaciones deben ser independientes de los cambios que se produzcan en las estructuras de almacenamiento Independencia lógica de los datos • Capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicación Independencia física de los datos • BDII Capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual Introducción 6 Tema 1 Consultas a un SGBD Para el usuario, el valor de un SGBD viene determinado, entre otras cosas, por la facilidad con la que de él se obtenga información Lenguajes de consulta Optimización de las consultas Ejecución concurrente • La mayoría de las grandes aplicaciones de bases de datos son de acceso concurrente • El acceso concurrente produce problemas si no está controlado • Las transacciones y el control de concurrencia permiten controlar estos problemas BDII Introducción 7 Tema 1 Estructura de un SGBD Arquitectura general de un SGBD • SGBD centralizado / cliente-servidor centralizado: en un solo ordenador se ejecuta el SGBD, puede estar conectado a una red de terminales cliente-servidor: una parte del SGBD reside en ordenadores clientes (interfaz de usuario), el motor del SGBD reside en el servidor • SGBD distribuido bases de datos locales pueden trabajar de forma coordinada, como si fuera una única BD • Aprovechamiento o no de plataformas con paralelismo BDII Introducción 8 Tema 1 Estructura de un SGBD El motor del SGBD suele tener módulos para: BDII Interpretación de SQL Optimización de consulta Gestión de memoria intermedia Métodos de acceso (por ejemplo índices) Gestión de transacciones Control de acceso concurrente Seguridad Mantenimiento del catálogo (diccionario de datos) Introducción 9 Tema 1 Estructura de un SGBD Un SGBD está estructurado en diversos componentes o módulos, cada uno de los cuales hace una función específica. El S.O. proporciona servicios básicos Usuario paramétrico Usuario ocasional programas de aplicación consulta Diseñador de la BD esquema de BD Módulos: Procesador de consultas. Usuarios SGBD Procesador de consulta Se encarga de transformar las consultas en instrucciones de bajo nivel Gestor de BD. Gestor de Base de Datos Acepta consultas, examina los esquemas conceptual y externo para determinar que registros conceptuales se necesitan y llama al gestor de archivos para satisfacer esa solicitud. Gestor de Archivos. Manipula los archivos almacenados y gestiona la asignación de espacio en disco. BDII Introducción Gestor de Archivos Estructuras especiales de acceso Disco Datos Almacenados Catálogo 10 Tema 1 Estructura de un SGBD Procesador de consultas: • • • BDII Preprocesador de DML: convierte las instrucciones de DML de un programa de aplicación en llamas a funciones en el lenguaje host. Debe interactuar con el procesador de consultas para generar el código apropiado. Compilador DDL. Convierte las instrucciones DDL en una serie de tablas que contienen metadatos. Estas tablas se almacenan en el catalogo. Gestor del catalogo. Gestiona y mantiene el catalogo del sistema. Introducción Usuario paramétrico Diseñador de la BD Usuario ocasional programas de aplicación Preprocesador de LMD consulta Usuarios esquema de BD Procesador de consulta Compilador de LDD SGBD Gestor del Catálogo Código Objeto del programa Gestor de Base de Datos Gestor de Archivos Estructuras especiales de acceso Disco Datos Almacenados Catálogo 11 Tema 1 Estructura de un SGBD Gestor de la BD: • • • • • • • • BDII Control de autorización. Comprueba que el usuario tiene autorizaciones necesarias para realizar la operación requerida. Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos Módulo de integridad. Verifica que la operación satisface las restricciones de integridad. Control de concurrencia. Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos. Gestor de transacciones. Realiza el procesamiento requerido para las operaciones que recibe de las transacciones. Gestor de recuperación. Garantiza que la BD permanezca en un estado coherente cuando se produzcan fallos. Optimizador de consultas. Determina la estrategia optima para la ejecución de las consultas. Gestor del bufer. Responsable de la transferencia de datos entre la memoria principal y el almacenamiento secundario. Introducción Usuario paramétrico programas de aplicación Preprocesador de LMD Usuario ocasional consulta Diseñador de la BD esquema de BD Procesador de consulta Compilador de LDD SGBD Gestor del Catálogo Código Objeto del programa Módulos de Integridad, concurrencia, transacciones, optimización y recuperación Usuarios Control de autorización Gestor del búfer Procesador de comandos Gestor de Archivos Estructuras especiales de acceso Disco Datos Almacenados Catálogo 12 Tema 1 Tendencias actuales Las tendencias actuales de los SGBD del mercado se pueden resumir en: Plataformas de paralelismo masivo Funcionalidad pensada para llevar a cabo análisis masivos de datos (data warehousing y data mining) Incorporación al mundo de la Orientación a Objetos Incorporación al mundo de Internet Incorporación a las arquitecturas de objetos distribuidos (como CORBA o COM++) BDII Introducción 13