Modelado logico relacional de bases de datos


Dado el ejercicio anterior normalizado en 3FN, vamos a continuar con la normalización hasta la 4FN.

Resolución del Ejercicio: Normalización hasta la 4FN

La Cuarta Forma Normal (4FN) se centra en eliminar dependencias multivaloradas independientes. Este tipo de dependencia ocurre cuando un atributo tiene múltiples valores posibles que no están relacionados entre sí, pero se registran en la misma tabla. Para cumplir la 4FN, separamos estas dependencias en tablas distintas.


Tablas normalizadas en 3FN:

  1. Tabla Clientes:
ID_ClienteNombreTeléfono
101Ana Pérez777-777-777
102Pedro López888-888-888
103Marta Sánchez999-999-999
  1. Tabla Compras:
ID_CompraID_ClienteFecha_Compra
11012024-11-20
21022024-11-21
31032024-11-22
  1. Tabla Productos:
ProductoPrecio
Manzanas1.5
Naranjas2.0
Plátanos1.0
Peras1.2
Melón3.5
Uvas2.5
  1. Tabla Detalle_Compra:
ID_CompraProductoCantidad
1Manzanas2
1Naranjas3
2Plátanos4
2Peras2
2Melón1
3Uvas1

forma normal 3

Paso 1: Identificar dependencias multivaloradas

En el modelo actual:

  1. Cada compra puede estar asociada con varios productos (multivaloración 1: ID_CompraProducto).
  2. Cada compra también puede estar asociada con varios clientes si se admitieran clientes conjuntos (este caso no está presente en este ejemplo, pero lo mencionamos para entender la 4FN).

Dependencias multivaloradas potenciales:

  • ID_CompraProducto (varios productos por compra).
  • ID_CompraCantidad (una cantidad por producto).

Paso 2: Eliminar dependencias multivaloradas

Para cumplir la 4FN, las dependencias multivaloradas deben estar en tablas separadas si no están relacionadas entre sí.

Ajustes necesarios:

Separar las dependencias multivaloradas de la tabla Detalle_Compra:

  • Crear una tabla para los productos asociados a cada compra.
  • Mantener la relación entre producto y cantidad en otra tabla.

Tablas resultantes en 4FN:

  1. Tabla Compras:
ID_CompraID_ClienteFecha_Compra
11012024-11-20
21022024-11-21
31032024-11-22

  1. Tabla Clientes:
ID_ClienteNombreTeléfono
101Ana Pérez777-777-777
102Pedro López888-888-888
103Marta Sánchez999-999-999

  1. Tabla Productos:
ProductoPrecio
Manzanas1.5
Naranjas2.0
Plátanos1.0
Peras1.2
Melón3.5
Uvas2.5

  1. Tabla Compra_Productos:
    Esta tabla registra qué productos están asociados a una compra.
ID_CompraProducto
1Manzanas
1Naranjas
2Plátanos
2Peras
2Melón
3Uvas

  1. Tabla Producto_Cantidad:
    Esta tabla registra las cantidades asociadas a cada producto.
ProductoID_CompraCantidad
Manzanas12
Naranjas13
Plátanos24
Peras22
Melón21
Uvas31

forma normal 4

Explicación de los cambios

  1. Separación de multivaloraciones:

    • La relación entre ID_Compra y Producto ahora está en Compra_Productos.
    • La cantidad específica para cada producto está en Producto_Cantidad.
  2. Relaciones más específicas:

    • Cada tabla representa una relación más precisa:
      • Compra_Productos muestra qué productos están en cada compra.
      • Producto_Cantidad muestra las cantidades de productos en cada compra.
  3. Cumplimiento de la 4FN:

    • Todas las dependencias multivaloradas son independientes y están en tablas separadas.

Esquema relacional final

  1. Relaciones:

    • Tabla Compras.ID_Cliente → FK de Tabla Clientes.ID_Cliente.
    • Tabla Compra_Productos.ID_Compra → FK de Tabla Compras.ID_Compra.
    • Tabla Compra_Productos.Producto → FK de Tabla Productos.Producto.
    • Tabla Producto_Cantidad.ID_Compra → FK de Tabla Compras.ID_Compra.
    • Tabla Producto_Cantidad.Producto → FK de Tabla Productos.Producto.
  2. Claves primarias:

    • Tabla Compras: ID_Compra.
    • Tabla Clientes: ID_Cliente.
    • Tabla Productos: Producto.
    • Tabla Compra_Productos: (ID_Compra, Producto).
    • Tabla Producto_Cantidad: (Producto, ID_Compra).

Ventajas del modelo en 4FN

  1. Eliminación completa de redundancia:

    • Las dependencias multivaloradas están perfectamente organizadas.
  2. Mayor flexibilidad:

    • Es fácil agregar información adicional, como varios productos o cantidades, sin afectar la estructura.
  3. Consistencia garantizada:

    • No hay dependencias multivaloradas que introduzcan inconsistencias.
  • Planteamiento del problema

    Tienes la siguiente tabla que ya cumple con la 3FN, pero no cumple con la 4FN debido a dependencias multivaluadas:

    Profesor_IDNombre_ProfesorAsignaturaIdioma
    1Juan GarcíaMatemáticasEspañol
    1Juan GarcíaMatemáticasInglés
    2María LópezHistoriaEspañol
    2María LópezHistoriaFrancés
    Loading...

    Problemas en el diseño

    1. Hay dependencias multivaluadas:
      • Un profesor puede enseñar varias Asignaturas.
      • Un profesor puede hablar varios Idiomas.
    2. Estas dependencias son independientes entre sí, lo que viola la Cuarta Forma Normal (4FN).

    Instrucciones

    1. Identifica las dependencias multivaluadas en la tabla original.
    2. Descompón la tabla para eliminar estas dependencias y cumplir con la 4FN.
    3. Usa claves primarias y foráneas para vincular las tablas.
    4. Representa las tablas resultantes con un diagrama relacional.

    Loading...