Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Table of Contents
Introducción ................................................................................................................................. 2
Entidades .................................................................................................................................. 2
Relaciones................................................................................................................................. 2
Exposición del diagrama Entidad/Relación .................................................................................. 3
Exposición del modelo relacional ................................................................................................. 4
Normalización del modelo............................................................................................................ 5
Creación de la base de datos ........................................................................................................ 6
Observaciones .......................................................................................................................... 6
Modificaciones de las tablas respecto del diagrama E/R ..................................................... 6
Inserción de valores.............................................................................................................. 6
Sentencias DDL Y DML .................................................................................................................. 7
Búsquedas de datos ................................................................................................................. 7
Triggers, procedimientos y funciones .................................................................................... 10
Introducción
Entidades
Relaciones
1
En el documento de Word es difícil mostrar los grafos relacionales. Por ello señalamos que en el modelo
relacional se trazan grafos (flechas) que van desde las FK de las tablas que las tengan hacia la PK de la tabla
con la que se relacionan.
ALEJANDRO LOZANO [1 DAW] 4
BASES DE DATOS 2018/2019
Dado que esta base de datos se ha construido con las reglas del modelo E/R, no debería
presentar problemas dependencia funcional, redundancia de datos o anomalías de
actualización, borrado o inserción. Asumimos que este modelo se encuentra en:
§ Primera Forma Normal: todos los atributos de todas las tablas toman valores
atómicos
§ Segunda Forma Normal: para confirmar 2FN, hemos introducido una clave
primaria simple en aquellas tablas donde la clave era compuesta, y nos hemos
asegurado de que los atributos que no forman para de ella tengan una
dependencia funcional completa2.
§ Tercera Forma Normal: No se observan relaciones de dependencia funcional
transitiva en ninguna de las tablas. Los atributos se identifican directamente con
la clave primaria y dependen de ella y de ningún otro atributo. Dicho de forma
simplificada, los atributos no primarios aportan datos relevantes directamente en
relación con la clave primaria, y sin la concurrencia de la clave primaria carecen
de sentido.
2
Esta operación se ha hecho en las tablas que expresan relaciones (PDI_Cursos, PDI_Secretario,
Cursos_Aulas, Conserje_Aulas, Conserje_Despachos).
ALEJANDRO LOZANO [1 DAW] 5
BASES DE DATOS 2018/2019
Observaciones
Modificaciones de las tablas respecto del diagrama E/R
• En la tabla PDI el atributo Apellido está establecido como NOT NULL, ya que los usuarios
acostumbran a utilizar las búsquedas empleando este campo y no queremos que quede
vacío.
• Lo mismo se ha hecho con el campo APELLIDO de la tabla PAS
• A la tabla PDI_CONTRATADO se le ha añadido el campo “FECHA_ALTA” (tipo DATE), ya que al
Departamento le interesa saber cuánto tiempo llevan contratados los profesores de esta
categoría.
• En la tabla DESPACHOS hemos establecido el atributo ORDENADOR como TRUE por defecto, ya
que se entiende que, salvo excepciones, todos los despachos tienen que contar con uno.
Inserción de valores
Se adjunta un documento .txt con las instrucciones INSERT que se han llevado a cabo. Hubo
que realizar modificaciones sobre la marcha en algunas instrucciones debido a errores a la
hora de escribir las originales, por lo que no funcionan todas las cargas de datos de ese
documento.
3
Ver fichero ‘esquema_bbdd.mwb’
ALEJANDRO LOZANO [1 DAW] 6
BASES DE DATOS 2018/2019
2. Muestra el número de aula y los puestos para alumnos de los que disponen
4. Muestra todos los datos del PDI, sean funcionarios o contratados (realizado con Left
Join)
Estos son todos los PDI Contratados y, efectivamente, hay dos que se han incorporado
en 2019
7. Muestra los datos del PAS cuyo nombre contenga la letra A y ordénalos por DNI de
forma descendente. Limita la búsqueda a 3 resultados.
Estos son todos los miembros del PAS, y hay más de 3 que tienen la letra A en su
nombre
8. Muestra las aulas que tienen una extensión por encima de la media (con subconsulta)
9. De entre los miembros del PAS, calcular cuántos de cada tipo tienen un valor de DNI
superior a la media de todo el PAS. Agruparlos por Tipo de PAS
Todos los DNI del PAS (nótese que los primeros 4 DNI tienen una cifra menos debido a
un error de inserción)
1. Crear una nueva tabla ‘Nuevo PDI Contratado’ donde se registren automáticamente
las nuevas incorporaciones. Debe quedar constancia del usuario que da el alta y del
momento en el que lo hace
Creamos el Trigger:
Para comprobar que funciona vamos a añadir 5 horas de dedicación docente al funcionario
con código 2. Este es el estado de los funcionarios antes de utilizar el procedimiento:
3. Diseñar un procedimiento almacenado que impida crear aulas con una extensión
menor a 50 metros cuadrados y que, en caso de intentar hacerlo, devuelva un mensaje
avisando de esta prohibición.
Para comprobarlo, intentamos crear una nueva aula con dimensiones prohibidas:
CALL PA_CREA_AULA (44, 30, 35);