Dependencias funcionales
Un atributo U depende funcionalmente de otro X, o X determina a Y, sí y sólo si cada valor de X tiene asociado en todo momento un único valor de Y.
Ejemplo
Con atributos como DNI, Nombre, Apellido1, Apellido2, Padre, Madre, el DNI determina todos los demás atributos.
Descomposición de tablas
En una tabla con atributos CodPed, CodMat, DesMat, CanPed, PreUni se identifica que:
- CodMat determina DesMat y PreUni.
- CodPed y CodMat determinan CanPed.
| CodPed | CodMat | DesMat | CanPed | PreUni |
|---|---|---|---|---|
| 1 | 6 | Martillo | 7 | 12 |
| 1 | 7 | Llave inglesa | 2 | 9,95 |
| 2 | 7 | Llave inglesa | 3 | 9,95 |
La solución de normalización es descomponer en dos tablas:
Tabla PedMat (CodPed, CodMat, CanPed):
| CodPed | CodMat | CanPed |
|---|---|---|
| 1 | 6 | 7 |
| 1 | 7 | 2 |
| 2 | 7 | 3 |
Tabla PedMat2 (CodMat, DesMat, PreUni):
| CodMat | DesMat | PreUni |
|---|---|---|
| 6 | Martillo | 12 |
| 7 | Llave inglesa | 9,95 |
De esta forma se elimina la redundancia garantizando que cada valor de X tiene asociado en todo momento un único valor de Y.
¡Salud y coding!