V2#
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 Videojuegos Populares. 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 del Juego |
Género |
Año de Lanzamiento |
Desarrollador |
Sede del Desarrollador |
Personajes Principales |
Plataformas |
Calificación |
---|---|---|---|---|---|---|---|
Fortnite |
Battle Royale, Acción |
2017 |
Epic Games |
Cary |
Jonesy, Peely, Drift |
PC, PS4, Xbox, Switch |
8.4 |
Minecraft |
Sandbox, Aventura |
2011 |
Mojang Studios |
Estocolmo |
Steve, Alex, Creeper |
PC, PS4, Xbox, Switch, Móvil |
9.5 |
League of Legends |
MOBA, Estrategia |
2009 |
Riot Games |
Los Ángeles |
Ahri, Jinx, Yasuo, Lux |
PC |
9.2 |
Genshin Impact |
RPG, Aventura |
2020 |
miHoYo |
Shanghai |
Lumine, Aether, Venti, Zhongli |
PC, PS4, PS5, Móvil |
8.8 |
Among Us |
Multijugador, Estrategia |
2018 |
InnerSloth |
Redmond |
Crewmate, Impostor |
PC, PS4, Xbox, Switch, Móvil |
7.5 |
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#
![../../../images/diagrama_exam2.jpeg](../../../images/diagrama_exam2.jpeg)
Figura 24 Diagrama ER sobre una compañía con empleados y varias sucursales.#
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 Lanzamiento
2. Selección: Filtrar juegos del género «RPG»
3. Proyección: Obtener solo los Desarrolladores y sus Sedes
4. Selección: Filtrar juegos con calificación mayor a 8.0
5. Proyección y Selección: Obtener Títulos y Personajes Principales de juegos lanzados después de 2015
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.