Ejercicio 32: Mapeo de un Diagrama Entidad-Relación al Modelo Relacional
En este ejercicio, se requiere convertir un Diagrama Entidad-Relación (DER) proporcionado en un modelo relacional formal. El objetivo es identificar las entidades, relaciones, claves primarias y claves foráneas, y definir las tablas correspondientes en el modelo relacional.
Objetivos
- Convertir un DER en un modelo relacional.
- Identificar entidades, relaciones, claves primarias y claves foráneas.
- Definir tablas y relaciones en el modelo relacional.
Entrada de Datos
- Diagrama Entidad-Relación que modela un sistema de gestión de clientes, empleados, productos y facturas.
Código Base
-- TODO: Implementar el modelo relacional basado en el DER proporcionado.
-- Ejemplo de estructura de tabla
CREATE TABLE cliente (
numero_cliente INT PRIMARY KEY,
nombre VARCHAR(50),
apellido VARCHAR(50),
cuil VARCHAR(11),
email VARCHAR(100),
codigo_postal VARCHAR(10),
fecha_nacimiento DATE
);
-- TODO: Crear las tablas restantes y definir las claves foráneas.
Tareas a Resolver
Identificar claves primarias y foráneas:
- Determinar los atributos que identifican de manera única cada entidad.
- Agregar atributos como claves foráneas para representar las relaciones.
Transformar relaciones muchos a muchos en tablas intermedias:
- Representar correctamente la relación entre
FACTURA
yPRODUCTO
.
- Representar correctamente la relación entre
Escribir el Modelo Relacional final:
- Definir las tablas con sus atributos y tipos de datos.
- Especificar las claves primarias y foráneas en cada tabla.
Verificar la coherencia y normalización del modelo:
- Identificar redundancias innecesarias.
- Asegurar que el diseño respeta las restricciones impuestas en el DER.
Pruebas
- Verificar que las tablas creadas reflejan correctamente las entidades y relaciones del DER.
- Comprobar que las claves primarias y foráneas están correctamente definidas.
- Asegurar que el modelo relacional cumple con las reglas de normalización.
Reflexión Final
- Considerar cómo escalar el modelo para manejar más datos sin perder eficiencia.
- Evaluar qué índices serían útiles para optimizar consultas en este sistema.