MATERIA: Sistemas de Bases de Datos

CLAVE: COMP-530

SEMESTRE DE UBICACION: Quinto

AREA: Ciencias de la Computación


OBJETIVOS: Este curso cubre lo referente a sistemas de bases de datos, cuyos temas incluyen modelos de datos (Entidad-Relación, relacional y orientado a objetos); lenguajes de consulta (álgebra relacional, cálculo relacional); el diccionario de datos; implementación del núcleo de un sistema de bases de datos comerciales. Otros temas que también se cubren son: Optimización de las consultas; teoría de las formas normales y el diseño de la base de datos; proceso de transacciones, control y recuperación de errores; seguridad e integridad; sistemas distribuidos de bases de datos; interfaces con los usuarios y lenguajes de consulta gráficos; estudio de la organización física de las bases de datos; tecnologías modernas (hipertexto y sistemas basados en el conocimiento)

TEMARIO:

  1. Panorama general de los sistemas de Bases de Datos

    • Capacidades de un sistema manejador de bases de datos (DBMS)

    • Terminología básica en el tema

    • Lenguajes para bases de datos

    • Aplicaciones modernas de los sistemas de bases de datos

    • Sistemas orientados a objetos

    • Sistemas basados en el conocimiento

    • Historia y perspectiva

  2. Modelos de datos para los Sistemas de Bases de Datos

    • Modelos de datos

    • El modelo Entidad-Relación

    • El modelo relacional

    • El modelo de redes

    • El modelo jerárquico

    • Un modelo orientado a objetos

  3. La Lógica como un modelo de datos

    • El significado de las reglas lógicas

    • El modelo lógico de datos

    • La evaluación de reglas no recursivas

    • Evaluación incremental de puntos fijos mínimos

    • Negaciones en el cuerpo de las reglas

    • Lógica y Algebra relacionales

    • Cálculo relacional

    • Cálculo relacional de tuplos

    • El esquema del Mundo cerrado

  4. Lenguajes de consulta relacionales

    • Consideraciones generales respecto a lenguajes de consulta

    • ISBL: Un lenguaje "puro" del Algebra Relacional

    • QUEL: Un lenguaje del cálculo relacional de tuplos

    • Consulta por ejemplos (Query by example): Un lenguaje DRC

    • Definición de los datos en QBE

    • El lenguaje de consulta SQL

    • Definiciones de datos en SQL

    • Inmersión de SQL en lenguaje anfitrión

  5. Organización física de los datos

    • El modelo físico de los datos

    • Organización a través de un heap

    • Archivos organizados por función de dispersión

    • Archivos con índices

    • Arboles-B

    • Archivos con Indice Denso

    • Estructuras de datos en Sistemas DBTG

    • Estructuras de datos para jerarquías

    • Estructuras de datos para relaciones

    • Consultas por rangos o parciales

    • Funciones de dispersión particionadas

    • Estructuras para árboles de búsquedas

  6. Teoría de diseño para bases de datos relacionales

    • ¿Qué constituye un mal diseño de una base de datos?

    • Dependencias funcionales

    • Estudio de las dependencias funcionales

    • Descomposición Unión-sin pérdida

    • Descomposición que preserva dependencias

    • Formas normales para los esquemas de relación

    • Descomposición Unión-sin pérdidas a BCNF

    • Descomposiciones 3NF que preservan las dependencias

    • Dependencias multivaluadas

    • Cuarta Forma Normal

    • Dependencias generalizadas

  7. Lenguajes para bases de datos orientadas a objetos

    • El Lenguaje de definición DBTG

    • El Lenguaje de consulta DBTG

    • Comandos para la modificación de la base de datos DBTG

    • Definición de los datos del IMS

    • Un Lenguaje jerárquico de manipulación de datos

    • Definición de los datos en OPAL

    • Manipulación de los datos en OPAL

  8. Protección de la base de datos frente a usos indebidos

    • Integridad

    • Restricciones de integridad en Consulta-por-ejemplos

    • Seguridad

    • Seguridad en Consulta-por-ejemplos

    • Seguridad en SQL/RT

    • Seguridad en OPAL/GEMSTONE

BIBLIOGRAFIA:

  • Ullman, J. D., Principles Of Database And Knowledge-base Systems, Vol.I, Computer Science Press, 1988

BIBLIOGRAFIA COMPLEMENTARIA:

  • Alagic, Ogject-Oriented Database Programming,Springer-Verlag, 1988

  • Date, C. J., An Introduction to Database Systems, Vol. I (Data Bases), 3rd Edition, Addison-Wesley Publishing Company, 1982

  • Filman, R. E.; Friedman, D. P., Coordinated Computing: Tools and Techniques for Distributed Software, Mc Graw-Hill, Computer Science 1984

  • Kershenbaum, A., Telecommunications Network Design Algorithms, Mc Graw-Hill, Computer Science 1993

  • Korth, H.; Silbersschatz, A., Database Systems Concepts, Second Edition Mc Graw-Hill, Computer Science 1991

  • Pascal, F., Understanding Relational Databases, with Examples in SQL, Wiley,1993

  • Robertazzi, T.G., Computer Networks and Systems, Queuing Theory and Performance Evaluation, Mc Graw-Hill, Computer Science, 1990

  • Wiederhold, G., File Organization for Database Design, Mc Graw-Hill, Computer Science, 1987