Download 1590-Sistemas de Gestión de Bases de Datos
Document related concepts
Transcript
Programa de la asignatura Curso: 2009 / 2010 SISTEMAS DE GESTIÓN DE BASES DE DATOS (1590) PROFESORADO Profesor/es: JESUS MANUEL MAUDES RAEDO - correo-e: jmaudes@ubu.es FICHA TÉCNICA Titulación: INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN Centro: ESCUELA POLITÉCNICA SUPERIOR Nombre asignatura: SISTEMAS DE GESTIÓN DE BASES DE DATOS (1590) Código de la asignatura: 1590 Tipo de asignatura: Obligatoria Nivel / Ciclo: 1 Curso en el que se imparte: 2 Duración y fechas: Cuatrimestral - 2º Cuatrimestre Créditos: 6.0 Créditos teóricos: 3.0 Créditos prácticos: 3.0 Áreas: LENGUAJES Y SISTEMAS INFORMATICOS Tipo de curso: Oficial Descriptores: Según BOE Requisitos previos: Según BOE Idioma: Español COMPETENCIAS TRANSVERSALES O GENÉRICAS INSTRUMENTALES Análisis y síntesis: 4 Organización y planificación: 3 Comunicación oral y escrita en la lengua nativa: 1 Conocimientos de informática relativos al ámbito de estudio: 3 Gestión de la información: 4 Resolución de problemas: 3 Toma de decisiones: 3 PERSONALES Razonamiento crítico: 3 SISTÉMICAS Pág. 1/8 Universidad de Burgos Aprendizaje autónomo: 3 Adaptación a nuevas situaciones: 2 Creatividad: 1 Iniciativa y espíritu emprendedor: 1 Motivación por la calidad: 3 COMPETENCIAS ESPECÍFICAS CONOCIMIENTOS DISCIPLINARES (SABER) Diseño de Datos: Modelo relacional e entidad/interrelación Conceptos fundamentales de cualquier API de programación de Bases de Datos Conocimiento de lenguajes de consulta declarativos. Formalizacion de los conceptos de Bases de Datos Relacionales HABILIDADES PROFESIONALES (SABER HACER) Creación de esquemas entidad-interrelación encaminados a modelar sistemas de información. Diseño de esquemas relacionales normalizados. Habilidad en el manejo de los lenguajes declarativos para bases de datos relacionales. ACTITUDES (SABER SER - SABER ESTAR) COMP. ACADÉMICAS (SABER TRASCENDER) OTRAS COMPETENCIAS ESPECÍFICAS OTROS OBJETIVOS DE LA ASIGNATURA Aplicación de los contenidos de la asignatura en un SGBD moderno. METODOLOGÍA Y RECURSOS PARA EL APRENDIZAJE El 50% de las horas serán presenciales en el aula. Durante estas horas se utilizará la metodología de clase magistra. El otro 50% serán clases de prácticas en el laboratorio. Habrá 2 alumnos por ordenador. Durante estas horas los alumnos intentarán solucionar los problemas propuestos por el profesor en un SGBD. Asimismo habrá un trabajo obligatorio sobre diseño y creación de un esquema de base de datos, orientado a que el alumno se enfrente a este tipo de problemas semanas antes del examen. Desde el punto de vista metodológico es un trabajo orientado a fomentar la asistencia a tutorías. Pág. 2/8 Universidad de Burgos BREVE DESCRIPCIÓN DE LAS ACTIVIDADES PRÁCTICAS La primera mitad del curso las prácticas están orientadas a programación con JDBC. De las dos horas que duran las prácticas, la primera estará orientada a que el profesor de a conocer técnicas, mientras la segunda hora estará dedicada a que los alumnos apliquen dichas técnicas en la programación de transacciones. La segunda mitad del curso las prácticas están orientadas a consultas con SQL interactivo. El profesor en la primera hora de la case resumira las tecnicas que los alumnos aplicaran en la segunda parte de la clase en la resulociond e una serie de enunciados de consultas. SEGUIMIENTO DEL ALUMNO Y CRITERIOS DE EVALUACIÓN La evaluación consistirá en la nota que se obtenga de la formula 0.25*(nota bloque aplicaciones de BDs)+ 0.25*(nota bloque lenguajes de consulta)+ 0.25*(nota bloque e/r)+ 0.25*(nota bloque normalizacion) Siempre que: 1) Se obtenga la nota minima de 3 sobre 10 en las 4 partes. 2) y ademas tambien se obtenga la nota minima de 3 sobre 10 en el trabajo obligatorio. De lo contrario no se hace la media y la nota es SUSPENSO. Cada bloque es una parte del examen oficial, que se corresponde con un bloque del temario, si bien: a) La nota del bloque E/R sale de 0.75 nota del examen + 0.25 nota del trabajo b) Se dedicará un día de prácticas para hacer un examen con ordenador de JDBC. El resultado de este examen sustituye a la nota del bloque de aplicaciones de Bases de Datos en el examen oficial escrito, caso de ser una nota más alta (es decir: nos quedamos con la mejor de las 2 notas). La nota de este examen de JDBC sólo se guarda hasta septiembre del mismo curso. c) Se dedicará otro día de prácticas para hacer un examen con ordenador de consultas SQL. El resultado de este examen sustituye a la nota de las preguntas del bloque de Lenguajes de Consulta en el examen oficial escrito, caso de ser una nota más alta (es decir: nos quedamos con la mejor de las 2 notas). La nota de este examen de SQL sólo se guarda hasta septiembre del mismo curso. BIBLIOGRAFÍA BÁSICA SOBRE LA MATERIA Pág. 3/8 Universidad de Burgos Fundamentos de Bases de Datos, Silberschatz, Korth y Sudarshan, 5ª Edición, 2006, McGraw-Hill/Interamericana, España BIBLIOGRAFÍA COMPLEMENTARIA Sistemas de Bases de Datos, Connolly & Begg, 4º Edición, 2005, Pearson - Addison Wesley, Madrid RECURSOS DE INTERNET OBSERVACIONES Y OTROS DATOS Se recomienda encarecidamente: 1) Tener los conocimientos de Java impartidos en la asignatura de "Metodología de la Programación" para poder seguir la parte de JDBC. 2) Tener los conocimientos de SQL impartidos en la asignatura de "Ofimática" 3) Tener los conocimientos de Modelo E/R impartidos en las asignaturas de "Ofimática" y "Análisis e Ingeniería del Software" Asimismo, es interesante (pero no tan imprescindible) haber visto la introducción a la normalización que se hace en "Análisis e Ingeniería del Software". El profesor dispone de abundante material (apuntes, tutoriales de practicas etc... ) que esta disponible en la plataforma UBUNet. Pág. 4/8 Universidad de Burgos ESTRUCTURA DE CONTENIDOS (TEMAS) SISTEMAS DE GESTIÓN DE BASES DE DATOS (1590) Bloque 1: Introducción a la problemática de construcción de aplicaciones sobre bases de datos > Antecedentes de las Bases de Datos Modernas • Datos persistentes y sistemas de ficheros • Los Sistemas Legados y la Dependencia Física > El Modelo de Referencia ANSI/SPARC • Division en Niveles • Esquemas y Administradores • La Metabase > Scripts SQL (Practica 1) • Levantar la base de datos • La interfaz gráfica de administración • Primeros Scripts SQL • Consultas de Metadatos • Cargar una Base de Datos > Aplicaciones de Bases de Datos con JDBC (Practicas 2 a 5) • Introducción a JDBC (Practica 2) - Conexión a la Base de Datos - ResultSets simples FetchSize - Correspondencia de Tipos entre SQL y Java getXXX de los valores nulos • Ejercicios de ResultSets y Consultas de Metadatos (Practica 3) - La Interface DataBaseMetaData • Transacciones SQL con JDBC (Practica 4) - Operaciones de manipulación de datos con SQL: executeUpdate - Operaciones de manipulación de tablas con SQL: execute - Transacciones: Autocommit, Commit y Rollback Soporte del Aislamiento en SQL ¿Cómo establecer un nivel de aislamiento en JDBC? • Tratamiento de Excepciones y Optimizacion de Transacciones (Practica 5) - Optimizar transacciones con consulta - Consultas Preparadas - Rollback en el catch Bloque 2: Lenguajes de Consulta Relacionales > El Álgebra Relacional y su equivalencia en SQL • Selección • Proyección • Operaciones de Conjuntos • Renombrar los Atributos de las Relaciones • Producto Cartesiano • Theta Join - Theta Join en el álgebra - Theta Join en el SQL Pág. 5/8 Universidad de Burgos • El Join Natural • Joins Externos - Joins Cualificados en SQL CROSS Join JOIN ON expresión booleana INNER Join LEFT/RIGHT OUTER JOIN FULL OUTER JOIN USING lista de campos comunes separados por comas NATURAL JOIN • El cociente relacional - El cociente en SQL utilizando una aproximación algebraica > Agrupamientos en SQL (Practica 6) • Repaso de las funciones de agregación • La clausula GROUP BY - Agrupamientos y nulos • La clausula HAVING - ¿Intercambiar HAVING y WHERE? - ¿HAVING sin GROUP BY? > Subconsultas SQL no Correlacionadas (Practica 7) • Subconsultas en la SELECT • Subconsultas en el FROM: La composición de operadores algebraicos • Subconsultas en el WHERE - Subconsultas WHERE que devuelven una única fila - Subconsultas WHERE que devuelven más de una fila ANY, SOME e IN ALL • Subconsultas en el HAVING > Subconsultas SQL Correlacionadas (Practica 8) • Referencias Externas y Subconsultas Correlacionadas • Subconsultas correlacionadas en la SELECT • Subconsultas correlacionadas en el WHERE - Con ANY - Con ALL - Con EXISTS • Subconsultas correlacionadas en el HAVING > Cocientes Relacionales desde una perspectiva pura de SQL (Practica 9) > Recapitulacion: Ejercicios Variados de SQL (Practica 10) Bloque 3: Paso del Modelo E/R a Tablas SQL > Repaso del paso del Modelo E/R a tablas SQL • Entidades y Atributos • Relaciones binarias 1:N - Dependencia por Existencia - Dependencia por identificación - Reflexivas 1:N • Relaciones binarias 1:1 - Dónde poner la clave ajena en Relaciones 1:1 Pág. 6/8 Universidad de Burgos • Relaciones Binarias N:M - Reflexivas N:M > Interrelaciones ISA • Introducción a las interrelaciones de especialización – generalización (ISA) - Representación diagramática de las relaciones ISA - Herencia de Atributos e Interrelaciones • Tipos de Interrelaciones de Especialización - Con/sin solapamiento - Interrelaciones Totales vs. Parciales - Jerarquías de Herencia - Discriminante de una Interrelación ISA - Paso a Tablas Relacionales de las Interrelaciones ISA Solución 1: Las especializaciones recuperan los atributos heredados mediante JOIN Solución 2: Juntar especializaciones y generalización en una sola tabla Solución 3: Los elementos de la generalización se obtienen como unión con las especializaciones > Revisión en profundidad del paso a SQL de las alternativas para pasar relaciones ISA > Las Interrelaciones de grado superior a dos • Justificación de las interrelaciones de grado superior • Repaso de las cardinalidades de Chen en las ternarias - El caso N:M:P - El caso 1:M:N - El caso 1:1:N - El caso 1:1:1 • Las interrelaciones ternarias como forma de modelado temporal en el Diagrama E/R - Posibles simplificaciones > Agregaciones Bloque 4: Normalización > Sintomas y anomalias de los malos diseños relacionales > Formas Normales > Primera Forma Normal > Teoría de las Dependencias Funcionales • Dependencias Funcionales • Cierre de un Conjunto de Dependencias - Axiomas de Armstrong • Cierre de un Conjunto de Atributos - Algoritmo para el calculo del cierre de un conjunto de atributos - Formalizacion del concepto de clave candidata • Equivalencia entre conjuntos de dependencias - Regla de Equivalencia entre conjuntos de dependencias - Equivalente Minimal Algoritmo para hallar el equivalente minimal > Formas normales basadas en Dependencias Funcionales • Segunda Forma Normal • Tercera Forma Normal • Forma Normal de Boyce-Codd Pág. 7/8 Universidad de Burgos > Descomposición de Relaciones • Conservacion de las Dependencias • Perdidas de Producto • Estrategia de Descomposicion Pág. 8/8 Universidad de Burgos