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

  1. 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.
  2. Transformar relaciones muchos a muchos en tablas intermedias:

    • Representar correctamente la relación entre FACTURA y PRODUCTO.
  3. 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.
  4. 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.