Diseño lógico de Bases de Datos
Enviado por RMena • 10 de Julio de 2019 • Tarea • 1.005 Palabras (5 Páginas) • 127 Visitas
Tarea 2
Ejercicio 1. Normaliza la tabla siguiente hasta tercera forma normal. Contiene un listado de los libros de una biblioteca, la clave principal es el campo ID. Explica cada paso de forma clara y concisa (2 puntos).
[pic 1]
La tabla se encuentra en FN1, ya que sus atributos son atómicos, es decir, sus valores son únicos.
* Debemos buscar aquellos datos que generan redundancia; Autor, País Autor y Editorial.
* Para evitar este problema, creamos dos tablas Autores y Editoriales.
En cada una de estas nuevas tablas, debemos añadir el campo id_libro. Así mantendremos la relación entre; Libros. Autores (Quien lo ha escrito) y Editoriales (A cual pertenece).
La tabla se encuentra 2FN, porque su clave primaria está formada por un único campo.
* Debemos identificar las dependencias funcionales.
* La tabla Editoriales contará con la clave primaria id_editorial y la tabla Autores contará con la clave primaria id_autor.
* Además ambas contarán con la clave foránea id_libro, clave primaria de la tabla Libros.
Libros | ||
id_libro | Título | Año publicación |
1000 | Don Quijote de la Mancha | 2015 |
1001 | Novelas Ejemplares | 2016 |
1002 | El Hobbit | 2012 |
1003 | El temor de un Hombre Sabio | 2013 |
1004 | El nombre del Viento | 2014 |
Editoriales | ||
id_editorial | Nombre | id_libro |
100 | Alfaguara | 1000 |
101 | Espasa Libros | 1001 |
102 | Norma Editorial | 1002 |
103 | Debolsillo | 1003 |
103 | Debolsillo | 1004 |
* Podemos entender que el campo Nombre depende de id_editorial. Por tanto, tiene una dependencia funcional con el id_editorial pero no con id_libro.
Autores | |||
id_autor | Nombre | País Autor | id_libro |
3000 | Cervantes | España | 1000 |
3000 | Cervantes | España | 1001 |
3001 | J.R.R Tolkien | Reino Unido | 1002 |
3002 | Patrick Rothus | EEUU | 1003 |
3002 | Patrick Rothus | EEUU | 1004 |
* Podemos entender que el campo Nombre y País Autor depende de id_autor. Por tanto, tiene una dependencia funcional con el id_autor pero no con id_libro.
Ahora debemos crear una tabla, con las claves primarias de cada tabla anterior. Para que las tres, queden relacionadas entre sí.
Editoriales_Libros_Autores | ||
id_editorial | id_libro | id_autor |
La tabla no se encuentra 3FN, ya que existen atributos que dependen de otros y no son clave primaria.
* Debemos encontrar las dependencias funcionales transitivas que existan.
En la tabla de Libros podemos comprobar, que el campo Año publicación depende del campo Título, ya que el título tiene un año de publicación.
Pero el campo título “no es una clave primaria” y se está generando un dependencia entre id_Libro y Año Publicación
...