Download Bases de Datos - UNRC - Universidad Nacional de Río Cuarto
Document related concepts
Transcript
UNIVERSIDAD NACIONAL DE RÍO CUARTO FACULTAD DE CIENCIAS EXACTAS, FÍSICO-QUÍMICAS Y NATURALES DEPARTAMENTO DE COMPUTACIÓN CARRERA/S:ANALISTA EN COMPUTACIÓN PROFESORADO EN CS DE LA COMPUTACIÓN. LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN PLAN DE ESTUDIOS: 1999 ASIGNATURA: Bases de Datos CÓDIGO: 1959 DOCENTE RESPONSABLE: Mg. Fabio Zorzan. EQUIPO DOCENTE: Ing Guillermo Fraschetti A.C. Mariana Frutos AÑO ACADÉMICO: 2016 REGIMEN DE LA ASIGNATURA: Cuatrimestral RÉGIMEN DE CORRELATIVIDADES: (para cursado) Aprobada Regular Ingles(1976) Programación Avanzada(1948) CARGA HORARIA TOTAL: 112 TEÓRICO-PRACTICAS: 56 hs PRÁCTICAS: 56 hs LABORATORIO: CARÁCTER DE LA ASIGNATURA: Obligatoria A. CONTEXTUALIZACIÓN DE LA ASIGNATURA La asignatura se dicta en el 3 año de las carreras de Analista en Computación, Profesorado en Cs de la Computación y Licenciatura en Ciencia de la Computación. B. OBJETIVOS PROPUESTOS Adquirir conocimiento y aplicarlo sobre modelización y diseño de bases de datos, especialmente usando los modelos Entidad-Relación y Relacional. Adquirir conocimiento y experiencia en la implementación de base de datos relacionales sobre motores de base de datos actuales. Adquirir conocimientos básicos sobre la optimización de bases de datos, manejo de transacciones y concurrencia. Adquirir conocimientos básicos sobre diferentes tipos de base de datos. C. CONTENIDOS BÁSICOS DEL PROGRAMA A DESARROLLAR En la asignatura se trabaja sobre los siguientes ejes temáticos: Base de datos: Generalidades. Modelo de entidades/relaciones. Modelo relacional. Lenguaje de Consulta SQL Diseño de bases de datos relacionales: conceptos básicos. Diseño de bases de datos relacionales: descomposición. Indexación y Hashing. Transacciones. Base de Datos Avanzadas. Los contenidos se especifican en el programa analítico. D. FUNDAMENTACIÓN DE LOS CONTENIDOS Los contenidos propuestos están orientados a que el alumnos adquiera experiencia en sobre modelización y diseño de bases de datos, especialmente usando los modelos Entidad-Relación y Relacional. Además se dictan al alumno los contenidos relacionados con el diseño de base de datos relacionales basado en la teoría de dependencia funcionales, esto otorga una fuerte base teórica al alumno a la hora poder diseñar o analizar que tan bueno es un diseño ya existente. Es fundamental que el alumno de tercer año adquiera una experiencia en el manejo de bases de datos relacionales, por esto es que se incluye en los contenidos de la materia el lenguaje SQL. Los prácticos se realizan sobre dos motores de bases de datos libres: PostgreSQL, MySQL y SQLite. El objetivo de utilizar tres motores diferentes es que el alumno adquiera experiencia en más de un RDBMS cliente-servidor y embebido. También se incluyen los contenidos básicos para el manejo de transacciones y de bases de datos avanzadas para darle al alumno una visión global de estos temas. E. ACTIVIDADES A DESARROLLAR (Consignar las formas metodológicas) CLASES TEÓRICAS-PRACTICAS: Presencial en aula y sala de maquinas, 56 Hs totales CLASES PRÁCTICAS: Presencial en sala de maquinas, 56 Hs totales CLASES DE TRABAJOS PRÁCTICOS DE LABORATORIO: F. NÓMINA DE TRABAJOS PRÁCTICOS 1) Modelo Entidad/Relación. 2) Álgebra relacional. 3) SQL. 4) Dependencias funcionales. 5) Diseño con dependencias funcionales. 6) Diseño con dependencias multivaluadas. 7) Transacciones. G. HORARIOS DE CLASES: HORARIO DE CLASES DE CONSULTAS: Responsable: Martes 9 Hs Auxiliares: Lunes 10 Hs Jueves 17 Hs H. MODALIDAD DE EVALUACIÓN: EVALUACIONES PARCIALES: 2 exámenes parciales escritos sobre el práctico de la materia, con sus respectivos recuperatorios. EVALUACIÓN FINAL: Los exámenes finales son escritos u orales sobre la teoría y práctica de la materia. CONDICIONES DE REGULARIDAD: Aprobar los dos exámenes prácticos y el proyecto final. CONDICIONES DE PROMOCIÓN: No tiene. PROGRAMA ANALÍTICO A. CONTENIDOS Unidad 1. Base de datos: Generalidades. Propósito de un manejador de base de datos. El problema de la redundancia e inconsistencia, manejo de múltiples usuarios, control de seguridad, control de integridad. Instancia y esquema de una base de dato. Independencia de los datos. Lenguaje de definición de datos (DDL). Lenguaje de manipulación de datos (DML). Teoría de Bases de Datos. Unidad 2. Modelo de entidades/relaciones. Conceptos básicos: entidades, conjunto de entidades, relaciones, conjunto de relaciones, atributos, cardinalidad. Claves. Roles. Diagrama de E/R. Generalización y especialización. Agregación. Reducción del modelo de E/R a tablas. Unidad 3. Modelo relacional. Conceptos básicos: relaciones, atributos, dominios. Claves: superclaves, claves candidatas, clave primaria. Lenguaje de consulta: álgebra relacional, cálculo relacional. Integridad referencial. Restricciones de Dominio. Aserciones. Triggers. Unidad 4. Lenguaje de Consulta SQL Estructura Básica. Operaciones Select. Funciones Agregadas. Valores Nulos. Subconsultas anidadas. Relaciones Derivadas. Vistas. Modificación de la Base de Datos. Lenguaje de Definición de Datos. Unidad 5. Diseño de base de datos relacionales: conceptos básicos. Anomalías del diseño relacional: redundancia de información, imposibilidad de representar información, pérdida de información. Dependencias Funcionales. Axiomas de Amstrong. Clausura transitiva de un atributo. Clausura transitiva de un conjunto de dependencias funcionales. Equivalencia de dos conjuntos de dependencias funcionales. Cobertura de un conjunto de dependencias funcionales. Unidad 6. Diseño de base de datos relacionales: descomposición. Descomposición de relaciones. Propiedades deseables de la descomposición: perdida de información, perdida de dependencias funcionales. Formas normales: BCNF, 3NF. 2NF, 1NF. Proceso de descomposición sin pérdida de información. Proceso de descomposición llevando a 3NF. Dependencias multivaluadas. Axiomas de Amstrong para dependencias multivaluadas. 4NF. Unidad 7. Indexación y Hashing. Conceptos básicos. Índices Ordenados. Índices de Árboles B+. Índices de Árbol B. Hashing estático. Hashing dinámico. Comparación de Índices Ordenados y Hashing. Definición de Índices en SQL. Acceso con clave múltiple. Unidad 8. API's para Acceso a Bases de Datos Introducción a API´s de accesos a Base de datos. JDBC. Componentes para ejecutar y procesar consultas a base de datos relaciones. Unidad 9. Procesamiento de Consultas Catalogo. Estimación de Costo. Medidas de costo de consulta. Algoritmos Básicos. Selecciones Complejas. Sort. Operaciones. Estimación de tamaño de Joins. MergeJoin. Hash-Join. Partición Recursiva. Join Complejos. Otras operaciones. Evaluación de Expresiones. Pipelining. Transformación de Expresiones Relacionales. Reglas de equivalencia. Elección de un Plan de Evaluación. Optimización basada en Costo. Optimización heurística. Unidad 10. Transacciones. Concepto. Estados de una transacción. Propiedades. Ejecuciones concurrentes. Serialización. Recuperabilidad. Equivalencia por vistas. Equivalencias en conflictos. Definición de transacción en SQL. Prueba de serialización. Unidad 11: Sistema de Recuperación. Clasificación de Fallas. Estructura de Almacenamiento. Recuperación. Atomicidad. Recuperación basado en Log. Modificación de la Base de Datos Diferida e Inmediata. Checkpoints. Paginado compartido. Recuperación con Transacciones Concurrentes. Gerenciamiento de Buffers. Buffering de registros-logs. Buffering de la Base de Datos. Técnicas de recuperación avanzadas. Fuzzy checkpointing. Unidad 12: Base de Datos Avanzadas. Introducción a distintos Sistemas Administradores de Base de Datos. Minería de Datos. Sistemas de Información Geográfica. Base de Datos Analíticas. Base de Datos Lógicas. Base de Datos Multidimencionales. Base de Datos Orientadas a Objetos. Data Warehousing. B. CRONOGRAMA DE CLASES Y PARCIALES Semana Día/Fecha 1 1 2 15/03/16 28/03/16 22/03/16 2 3 25/03/16 29/03/16 3 01/04/16 4 4 05/04/16 08/04/16 5 Teóricos/práct ico Introducción Modelo E/R E/R Tabulacion Feriado Modelo relacional Modelo Relaiconal SQL –DML Consulta Parcial Día/Fech a Prácticos 21/03/16 1) 23/03/16 28/03/16 1) 1) 30/03/16 2) 04/04/16 06/04/16 2) 2) 11/04/16 5 6 6 15/04/16 19/04/16 SQL-DDL Diseño 13/04/16 18/04/16 20/04/16 Consulta parcial 3) 3) 3) 7 7 8 8 9 9 10 10 11 11 26/04/16 29/04/16 03/05/16 06/05/16 10/05/16 13/05/16 17/05/16 20/05/16 24/05/16 27/05/16 Diseño Proyecto Proyecto Proyecto Multivada JDBC Proyecto Transacciones Proyecto Proyecto y consulta 2do parcial 25/04/16 27/04/16 02/05/16 04/05/16 09/05/16 11/05/16 16/05/16 18/05/16 23/05/16 25/05/16 3) 3) 4) 4) 5) 5) 6) 6) 6) Feriado 30/05/16 Proyecto Proyecto Consulta rec 2do parcial 01/06/16 06/06/16 08/06/16 Repaso 2do Parcial 7) 7) Entrega proyecto Cosnulta rec 2do parcial proyecto 12 12 13 13 03/06/16 07/06/16 10/06/16 14 14 17/06/15 Defensa Proyecto 13/06/16 15/06/15 Día/Fecha Labo rator ios Parciales / Recuperatorios 12/04/2016 Primer Parcial 22/04/2016 Rec parcial 31/05/16 2do Parcial 14/06/16 Rec 2do Parcial Primer (Recordar las fechas de parciales deberán ser consensuadas con los responsables de las demás asignaturas del cuatrimestre correspondiente, en acuerdo con la Res. C.S. 356/10) C. BIBLIOGRFÍA 1- Fundamentos de Base de Datos. Quinta Edición, Edition Silberschatz, Korth, Sudarshan. McGraw Hill Company, 2006. 2 - Data Base Systems Concepts. 4th Edition Silberschatz, Korth, Sudarshan. McGraw Hill Company, 2002. 3 - Principles of Database Systems. Ullman. Benjamin Comings, 1982. 4 - Fundamentals of Database Systems. Elmasri, Navathe. Addison Wesley, 1994. 5 - Data Modelling. Lawrence Sanders. Boyd and Fraser Publishing Company. 6 - An introduction to Database Systems. Vol 1 C.J. Date, Addison Wesley. 7 - An Introduction to Database Systems. Vol 2 C.J. Date. Addison Wesley. 8 - Diseño conceptual de Base de Datos. Battini, Ceri, Navathe. Addison Wesley, 1993. 9 - Database Model and Design. Toby Teory. Morgan Kaufmann Publishing