V1#
Instrucciones#
A continuación, se detalla un examen práctico de normalización y modelado de una base de datos relacional, utilizando una tabla de películas de superhéroes. Sigue cuidadosamente cada paso y completa las tareas requeridas.
Tiempo máximo: 2 horas.
Contexto#
La siguiente tabla contiene información sobre Películas de Superhéroes. La tabla original tiene problemas de diseño, incluyendo redundancia, no atomicidad y dependencias transitivas. Utilizaremos este contenido para realizar el proceso de normalización hasta la Tercera Forma Normal (3FN).
Título de la Película |
Género |
Año de Estreno |
Director |
Fecha de Nacimiento |
Personajes Principales |
Características Adicionales |
Calificación |
---|---|---|---|---|---|---|---|
Avengers: Endgame |
Acción, Aventura |
2019 |
Anthony y Joe Russo |
1970-07-08 |
Iron Man, Capitán América, Thor |
Superhéroes, VFX, Secuela |
8.4 |
Spider-Man: No Way Home |
Acción, Ciencia Ficción |
2021 |
Jon Watts |
1980-05-01 |
Spider-Man, Doctor Strange, MJ |
Multiverso, VFX, Secuela |
8.9 |
Wonder Woman |
Acción, Fantasía |
2017 |
Patty Jenkins |
1971-07-28 |
Wonder Woman, Steve Trevor |
Feminismo, VFX, Secuela |
7.4 |
Black Panther |
Acción, Aventura |
2018 |
Ryan Coogler |
1981-05-23 |
Black Panther, Shuri, Killmonger |
Cultura africana, VFX, Secuela |
7.9 |
Guardians of the Galaxy |
Aventura, Ciencia Ficción |
2014 |
James Gunn |
1976-08-05 |
Star-Lord, Gamora, Rocket, Groot |
Humor, VFX, Secuela |
8.0 |
Tareas#
Parte 1: Normalización hasta la Tercera Forma Normal (3FN)#
Objetivo: Llevar la tabla hasta la 3FN, eliminando redundancias y asegurando atomicidad.
Nota
Producto: Completa la normalización hasta obtener un conjunto de tablas relacionadas, que representen la estructura normalizada hasta la 3FN.
Parte 2: Implementación en MySQL#
Con las tablas obtenidas en el proceso de normalización:
Creación de Tablas Normalizadas en MySQL:
Crea las tablas en MySQL siguiendo la estructura obtenida de la normalización. Considera los tipos de datos apropiados para cada columna y define las claves primarias y las relaciones entre tablas.Población de las Tablas:
Inserta los datos de la tabla original en las nuevas tablas normalizadas. Asegúrate de no perder información y de representar adecuadamente los datos de columnas con listas, utilizando tablas de ayuda para relaciones de muchos a muchos (por ejemplo, para personajes principales y plataformas de streaming).Uso de Llaves y Relaciones:
Define claves foráneas para establecer relaciones entre tablas.
Utiliza correctamente relaciones fuertes y débiles según corresponda.
Nota
Ninguna información debe ser omitida en la transición. Solo puedes agregar tablas de ayuda cuando sea necesario para mantener la integridad de la base de datos.
Parte 3: Modelado con Diagramas EER y ER#
Dibujar el Diagrama ER:
Representa la base de datos con un diagrama ER usando los símbolos correctos de entidades, relaciones y atributos. Las claves primarias y foráneas deben estar claramente etiquetadas, y se deben distinguir las relaciones fuertes y débiles.Dibujar el Diagrama EER:
Crea el Diagrama EER a partir de la base de datos implementada. Realiza la ingeniería inversa para generar el diagrama, asegurándote de que:Todos los elementos del modelo estén correctamente representados.
Los tipos de relación (uno a uno, uno a muchos, muchos a muchos) sean precisos y claros.
Truco
Usa software de diseño de bases de datos para los diagramas (Workbrench), asegurándote de mostrar claramente todas las claves y relaciones.
Parte 4: Ingeniería Directa#
Dado el anterior diagrama ejecuta las siguientes dos tareas:
Conversión del Diagrama a Código:
Con el diagrama EER, realiza la ingeniería directa y escribe el código SQL para crear la base de datos con sus respectivas tablas y relaciones.Población de la Base de Datos:
Inserta 3 registros de prueba en las tablas generadas, asegurándote de representar adecuadamente las relaciones entre ellas. Los datos deben ser consistentes y reflejar las relaciones definidas.
Nota
Los registros de prueba deben representar correctamente las relaciones de las tablas (por ejemplo, un título de película con sus plataformas de streaming asociadas y personajes principales).
Parte 5: Consultas Básicas#
Responde las siguientes preguntas utilizando consultas de MySQL. Si la consulta no retorna nada puedes cambiar la pregunta para que retorne algo.
1. Proyección: Obtener los Títulos y Años de Estreno
2. Selección: Filtrar películas del género «Acción»
3. Proyección: Obtener solo los Directores y sus Ciudades
4. Selección: Filtrar películas estrenadas después de 2018
5. Proyección y Selección: Obtener Títulos y Calificaciones de películas con calificación mayor a 8.0
Criterios de Evaluación#
Normalización: La estructura de datos está correctamente normalizada hasta la 3FN.
Creación de Tablas y Población en MySQL: Se implementan correctamente las tablas normalizadas y se ingresa la información requerida.
Modelado con Diagramas: Los diagramas ER y EER están correctamente dibujados, utilizando los elementos adecuados y diferenciando las relaciones fuertes y débiles.
Conversión de Diagramas a Código y Población de Datos: La ingeniería directa está completa y contiene registros de prueba que representan las relaciones entre tablas.
Consultas: Implementación y funcionamiento de las consultas, código que responda la pregunta dejada.