Bases de Datos
Conocimientos previos recomendados:
- Necesario. Haber estudiado y realizado prácticas con algún(os) Lenguaje(s) de Programación Estructurada y sus respectivos procesadores (compiladores y/o intérpretes),
- Muy Recomendable. Sistemas Operativos (deseable SO Distribuidos), Redes de Ordenadores y Software de Comunicaciones.
OBJETIVOS
Estudio de conceptos, técnicas y herramientas de las modernas bases de datos; según se indica a continuación:
- Conceptos. Se estudia el Modelado Conceptual de la Información y los siguientes Modelos de Datos: ‘Entity-Relationship’, Relacional y Orientado a Objetos. Se estudia la Teoría de Diseño de Bases de Datos Relacionales y la Teoría de la Serializabilidad.
- Técnicas. Se describen y analizan diferentes estándares y modelos de referencia del área de Bases de Datos. En concreto: Arquitecturas de los Sistemas de Gestión de Bases de Datos –SGBD-, lenguaje SQL y su respectivo procesamiento y optimizadores, control de la concurrencia, gestión de transacciones y mecanismos de recuperación frente a fallos. Se describen aspectos avanzados del área como son: acceso remoto a BDs, Cliente/Servidor, Web Server y BDs Distribuidas, junto a distintas formas de cooperación entre múltiples bases de datos interoperables y heterogéneas.
- Herramientas. Se referencian algunas características de la tecnología del área y sus herramientas asociadas.
PROGRAMA
Tema I. Introducción, Contextualización y Tecnología de Bases de Datos.
Tema II. Modelado Conceptual y Modelos de Datos Semánticos.
II.1.- Modelado Conceptual.
II.2.- Introducción a los Modelos de datos.
II.2.1- El MD ‘Entity-Relationship’. Definiciones, conceptos, ejemplos y ejercicios.
II.2.2- El Modelo Orientado a Objetos ODMG 2.0.
Tema III. Bases de Datos Relacionales.
III.1.- Contextualización histórica de las Bases de Datos Relacionales.
III.2.- Introducción a los Modelos Clásicos: Relacional, Codasyl y Jerárquico.
III.3.- Sistemas y Lenguajes de Bases de Datos Clásicas: Relacional, Codasyl y Jerárquicas.
III.4.- Modelo de Datos Relacional. Definiciones y Conceptos.
III.5.- Lenguajes Formales del Modelo de Datos Relacional: Álgebra y Cálculo Relacional.
Tema IV. Diseño de Bases de Datos Relacionales.
IV.1.- Introducción al Diseño de las Bases de Datos Relacionales.
IV.2.- Introducción a la Teoría Relacional.
IV.3.- Dependencias Funcionales.
IV.4.- Formas Normales de la Relaciones.
IV.5.- Ejercicios de Normalización.
Tema V. El Lenguaje SQL de las Bases de Datos Relacionales.
V.1.- Introducción a los Lenguajes de la Tecnología Relacional.
V.2.- SQL. Lenguaje de Definición de Datos, DDL. Sintaxis en BNF.
V.3.- Precompilación y ejecución de un módulo SQL embebido en un ‘host’.
V.4.- SQL. Lenguaje de Manipulación de Datos, DML. Sintaxis en BNF.
V.5.- SQL. Lenguaje de Definición de Vistas. Ejemplos.
V.6.- Expresiones de Consultas en SQL. Ejemplos y ejercicios.
V.7.- Gramática del SQL en BNF.
Tema VI. Interconexión e Interoperabilidad entre Múltiples Bases de Datos Heterogéneas y Distribuidas.
VI.1.- Contextualización del Tema.
VI.2.- Concepto de Interoperabilidad entre Sistemas de Información Heterogéneos.
VI.3.- Interoperabilidad entre Sistemas de Bases de Datos: RDA, ODBC, C/S.
VI.4.- Sistemas de Bases de Datos Múltiples y Heterogéneos. Autonomía, Heterogeneidad y Distribución.
VI.5.- Organización de las Bases de Datos Relacionales Distribuidas, Homogéneas y Altamente Integradas.
Tema VII. Arquitectura de los SGBD Distribuidos.
VII.1.- Niveles de Transparencia en un Sistema de Bases de Datos Distribuido.
VII.2.- Estandarización de los SGBD. Modelos Arquitecturales para los SGBD Distribuidos.
Tema VIII. Diseño de Bases de Datos Distribuidas.
VIII.1.- Alternativas de diseño y Aspectos de la Distribución.
VIII.2.- Algoritmos de Fragmentación. Programas de localización de datos.
VIII.3.- Técnicas de Ubicación de Datos.
Tema IX. Control Semántico de los Datos.
IX.1.- Gestión de Vistas. Seguridad de los Datos.
IX.2.- Control de la Integridad Semántica.
Tema X. Procesamiento de Consultas Distribuidas.
X.1.- Objetivos del Procesamiento de Consultas.
X.2.- Niveles del Procesador de Consultas.
X.3.- Localización de Datos. Descomposición de una Consulta y Localización de Datos Distribuidos.
X.4.- Optimizadores y Algoritmos de Optimización de Consultas Distribuidas.
Tema XI. Gestión de Transacciones Distribuidas y Control de Concurrencia.
XI.1.- Definición, Propiedades y Tipos de Transacciones.
XI.2.- Teoría de la Serializabilidad.
XI.3.- Taxonomía de los mecanismos y algoritmos de Control de la Concurrencia: ‘Locking, Timestamping, Optimista y Pesimista, Gestión de Bloqueos’.
Tema XII. Fiabilidad de los Sistemas de Bases de Datos Distribuidos.
XII.1.- Concepto y Medida de Fiabilidad.
XII.2.- Protocolos de Fiabilidad Centralizada y Distribuida (Two-phase Commit).
XII.3.- Técnicas de recuperación frente a fallos: ‘Gestión del Log, Chekpoint, Undo/Redo etc.’.
BIBLIOGRAFÍA
Libros de Texto.
- Introducción a las Bases de Datos Modernas, C. Costilla, S. Publicaciones de la E.T.S. Ingenieros de Telecomunicación - UPM, 1998
- Principles of Distributed Database Systems, M. Tamer Özsu and P. Valduriez, Prentice-Hall, 1991
EVALUACIÓN
Examen con una parte teórica (sin libros) y otra práctica (con libros).
PROFESORADO
Coordinadora y Profesora: Dra.Carmen Costilla Rodríguez
25/06/1998