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:
- Tabla Clientes:
| ID_Cliente | Nombre | Teléfono |
|---|---|---|
| 101 | Ana Pérez | 777-777-777 |
| 102 | Pedro López | 888-888-888 |
| 103 | Marta Sánchez | 999-999-999 |
- Tabla Compras:
| ID_Compra | ID_Cliente | Fecha_Compra |
|---|---|---|
| 1 | 101 | 2024-11-20 |
| 2 | 102 | 2024-11-21 |
| 3 | 103 | 2024-11-22 |
- Tabla Productos:
| Producto | Precio |
|---|---|
| Manzanas | 1.5 |
| Naranjas | 2.0 |
| Plátanos | 1.0 |
| Peras | 1.2 |
| Melón | 3.5 |
| Uvas | 2.5 |
- Tabla Detalle_Compra:
| ID_Compra | Producto | Cantidad |
|---|---|---|
| 1 | Manzanas | 2 |
| 1 | Naranjas | 3 |
| 2 | Plátanos | 4 |
| 2 | Peras | 2 |
| 2 | Melón | 1 |
| 3 | Uvas | 1 |
Paso 1: Identificar dependencias multivaloradas
En el modelo actual:
- Cada compra puede estar asociada con varios productos (multivaloración 1:
ID_Compra→Producto). - 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_Compra→Producto(varios productos por compra).ID_Compra→Cantidad(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:
- Tabla Compras:
| ID_Compra | ID_Cliente | Fecha_Compra |
|---|---|---|
| 1 | 101 | 2024-11-20 |
| 2 | 102 | 2024-11-21 |
| 3 | 103 | 2024-11-22 |
- Tabla Clientes:
| ID_Cliente | Nombre | Teléfono |
|---|---|---|
| 101 | Ana Pérez | 777-777-777 |
| 102 | Pedro López | 888-888-888 |
| 103 | Marta Sánchez | 999-999-999 |
- Tabla Productos:
| Producto | Precio |
|---|---|
| Manzanas | 1.5 |
| Naranjas | 2.0 |
| Plátanos | 1.0 |
| Peras | 1.2 |
| Melón | 3.5 |
| Uvas | 2.5 |
- Tabla Compra_Productos:
Esta tabla registra qué productos están asociados a una compra.
| ID_Compra | Producto |
|---|---|
| 1 | Manzanas |
| 1 | Naranjas |
| 2 | Plátanos |
| 2 | Peras |
| 2 | Melón |
| 3 | Uvas |
- Tabla Producto_Cantidad:
Esta tabla registra las cantidades asociadas a cada producto.
| Producto | ID_Compra | Cantidad |
|---|---|---|
| Manzanas | 1 | 2 |
| Naranjas | 1 | 3 |
| Plátanos | 2 | 4 |
| Peras | 2 | 2 |
| Melón | 2 | 1 |
| Uvas | 3 | 1 |
Explicación de los cambios
-
Separación de multivaloraciones:
- La relación entre
ID_ComprayProductoahora está enCompra_Productos. - La cantidad específica para cada producto está en
Producto_Cantidad.
- La relación entre
-
Relaciones más específicas:
- Cada tabla representa una relación más precisa:
Compra_Productosmuestra qué productos están en cada compra.Producto_Cantidadmuestra las cantidades de productos en cada compra.
- Cada tabla representa una relación más precisa:
-
Cumplimiento de la 4FN:
- Todas las dependencias multivaloradas son independientes y están en tablas separadas.
Esquema relacional final
-
Relaciones:
Tabla Compras.ID_Cliente→ FK deTabla Clientes.ID_Cliente.Tabla Compra_Productos.ID_Compra→ FK deTabla Compras.ID_Compra.Tabla Compra_Productos.Producto→ FK deTabla Productos.Producto.Tabla Producto_Cantidad.ID_Compra→ FK deTabla Compras.ID_Compra.Tabla Producto_Cantidad.Producto→ FK deTabla Productos.Producto.
-
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
-
Eliminación completa de redundancia:
- Las dependencias multivaloradas están perfectamente organizadas.
-
Mayor flexibilidad:
- Es fácil agregar información adicional, como varios productos o cantidades, sin afectar la estructura.
-
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_ID Nombre_Profesor Asignatura Idioma 1 Juan García Matemáticas Español 1 Juan García Matemáticas Inglés 2 María López Historia Español 2 María López Historia Francés Loading...
Problemas en el diseño
- Hay dependencias multivaluadas:
- Un profesor puede enseñar varias Asignaturas.
- Un profesor puede hablar varios Idiomas.
- Estas dependencias son independientes entre sí, lo que viola la Cuarta Forma Normal (4FN).
Instrucciones
- Identifica las dependencias multivaluadas en la tabla original.
- Descompón la tabla para eliminar estas dependencias y cumplir con la 4FN.
- Usa claves primarias y foráneas para vincular las tablas.
- Representa las tablas resultantes con un diagrama relacional.
Loading...- Hay dependencias multivaluadas: