Licenciatura en Ciencias Áreas terminales en Matemáticas, Física, Bioquímica y Biología Molecular, y Ciencias Computacionales y Computación Científica
Prerrequisitos:
Domina los conceptos básicos de la computación, los componentes de un sistema de cómputo, los sistemas operativos y los elementos básicos del arte de la programación. Maneja el proceso necesario para traducir un problema a diferentes niveles de abstracción.
Antecedentes Recomendadas:
Ninguna
Consecuentes Recomendadas:
Ninguna
Presentación de la unidad de aprendizaje:
Esta unidad de aprendizaje permite conocer los sistemas que manejan grandes cantidades de datos de formatos muy variados en forma sencilla y consistente.
Proporciona conceptos fundamentales sobre el diseño de bases de datos, modelos de datos, lenguajes de bases de datos e implantación de bases de datos.
Asimismo, proporciona un panorama general sobre el mundo real de las aplicaciones de bases de datos y su implementación.
Propósito de la unidad de aprendizaje:
Proporcionar al estudiante los elementos básicos de bases de datos y su funcionamiento, de manera que el estudiante adquiera las técnicas y la metodología necesarias para el diseño e implantación de una base de datos.
Competencias profesionales:
Utiliza o elabora programas o sistemas de computación para el procesamiento de información, cálculo numérico, simulación de procesos o control de experimentos.Trabaja datos experimentales y contribuye a su análisis.
Contribución al perfil de egreso:
Para el cumplimiento del perfil, se desarrolla la capacidad para integrarse en ambientes industriales, así como profesional en los equipos de desarrollo e innovación.
Secuencia temática:
I Introducción.
Objetivo y aplicaciones de los sistemas de bases de datos (SBD). Ventajas de los SBD frente a los sistemas de archivos.
Visión abstracta de los datos. Modelos de datos: modelo entidad-relación y modelo relacional.
Lenguajes de base de datos para expresar consultas y modificaciones.
Gestión de transacciones: atomicidad, consistencia y durabilidad.
Estructura de un SBD: gestor de almacenamiento y procesador de consultas.
Introducción a la arquitectura cliente servidor y procesamiento distribuido.
II Modelo entidad-relación.
Conceptos básicos: conjuntos de entidades y de relaciones.
Restricciones (correspondencia de cardinalidades y restricciones de participación) y llaves.
Cuestiones básicas de diseño de bases de datos, diagrama entidad-relación (E-R) y definición de un conjunto de entidades-débiles.
Características del modelo E-R extendido: especialización, generalización, conjuntos de entidades de nivel más alto-más bajo, herencia de atributos y agregación.
Fases de diseño de un esquema de base de datos E-R. Reducción de un esquema E-R a tablas: conjuntos de entidades fuertes y débiles, conjutos de relaciones, redundancia y combinación de tablas.
Comparación entre un diagrama E-R y un diagrama de clase UML (lenguaje de modelado unificado).
III Modelo relacional.
Estructura de las bases de datos relacionales: estructura básica, esquema de la base de datos, claves y diagramas de esquemas.
Operaciones fundamentales de álgebra relacional: selección, proyección, composición de operaciones relacionales, unión, producto cartesiano y diferencia de conjuntos. Definición formal del álgebra relacional.
Operaciones del álgebra relacional extendida: proyección generalizada, funciones de agregación y reunión externa.
Modificación de la base de datos y vistas. El cálculo relacional de tuplas y dominios.
IV SQL.
Estructura básica de una expresión SQL, operaciones sobre conjuntos, funciones de agregación y valores nulos.
Subconsultas anidadas: pertenencia a conjuntos, comprobación de relaciones vacías y tuplas duplicadas. Vistas en SQL.
Consultas complejas, modificación de la base de datos, reunión de relaciones y lenguaje de definición de datos.
V Integridad y seguridad.
Restricciones de dominio. Integridad referencial: conceptos básicos, integridad referencial en el modelo E-R y en SQL, y modificación de la base de datos.
Aserciones y disparadores (triggers).
Seguridad y autorización: violaciones de seguridad, autorizaciones y vistas y concesión de privilegios.
Autorización en SQL: privilegios y limitaciones. Cifrado y autenticación.
VI Diseño de bases de datos relacionales (BDR).
Dificultades en el diseño de las BDR.
Dependencias funcionales: definiciones básicas, dependencias triviales y no triviales, cierre de un conjunto de dependencias y cierre de un conjunto de atributos.
Normalización adicional I: primera, segunda y tercera formas normales; conservación de la dependencia, forma normal de Boyce-Codd.
Normalización adicional II: formas normales superiores, dependencias multivaluadas y la cuarta forma normal.
VII Administración de transacciones.
Recuperación: recuperación de transacciones (propiedades ACID) y del sistema.
Soporte de SQL para la recuperación: COMMIT y ROLLBACK.
Concurrencia: problemas de concurrencia, bloqueo, bloqueo mortal, seriabilidad y niveles de aislamiento.
Soporte de SQL para la concurrencia.
VIII Introducción a las bases de datos orientados a objetos.
El modelo de datos orientado a objetos: estructura de los objetos, clases de objetos, herencia, herencia múltiple e identidad de los objetos.
Lenguaje orientado a objetos y lenguajes de programación persistentes.
Sistemas C++/Java persistentes.
IX Introducción a las bases de datos relacionales orientadas a objeto.
Relaciones anidadas.Tipos complejos: tipos estructurados y creación de valores de tipos complejos. Herencia: herencia de tipos y de tablas.
Consultas con tipos complejos: expresiones de ruta, anidamiento y desanidamiento.
Funciones y procedimientos. Comparación de bases de datos orientadas a objetos y relacional-objeto.
Criterios de Evaluación:
Exámenes parciales: 30%
Examen final: 30%
Participación en clase: 10%
Búsqueda de información: 10%
Otra (especifique): Tareas.: 20%
Bibliografía básica:
Silberschatz, Abraham, Korth, Henry F. y Sudarshan S. 2002. Fundamentos de bases de datos. Ed. McGraw Hill.
Date, C. J. 2001. Introducción a los sistemas de bases de datos. Ed. Prentice Hall.
Bibliografía complementaria:
Ramez A. Elmasri y Shamkant B. Fundamentals of database systems. Ed. Navathe Addison-Wesley Pub Co.