Download Bases de Datos - UNRC - Universidad Nacional de Río Cuarto

Document related concepts

Modelo de base de datos wikipedia , lookup

Base de datos relacional wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

SQL wikipedia , lookup

ADO.NET wikipedia , lookup

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