Download 1590-Sistemas de Gestión de Bases de Datos

Document related concepts

SQL wikipedia , lookup

NoSQL wikipedia , lookup

Apache HBase wikipedia , lookup

Cursor (base de datos) wikipedia , lookup

Adaptive Server Anywhere wikipedia , lookup

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: [email protected]
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