¿Quieres apoyarnos? Con nuestro Código: "VIVESINLIMITES" tendrás 2 MESES GRATIS en el plan mensual del Hosting SERED QUIERO APOYARTE!
La segunda forma normal (2FN) se encarga de eliminar todas las dependencias parciales.
Es importante entender que son las dependencias funcionales, las claves primarias para comprender esta forma.
Características de la 2FN
- Se debe cumplir la primera forma normal.
- Todos los atributos no claves deben depender de la clave primaria completa.
¿Que se necesita para estar en 2FN?
La mejor manera de entender esta forma es con un ejemplo.
Tenemos esta tabla donde puedo ver todas las películas disponibles en el cine.
| Titulo | Formato | Director | Nacionalidad director | Precio | Duración | Puntuaciones | Productora id |
| El padrino | HD | Francis Ford Coppola | American | 30 | 175 minutos | A | 1 |
| El padrino | 3D | Francis Ford Coppola | American | 60 | 175 minutos | A | 1 |
| Toy Story | HD | John Lasseter | American | 30 | 81 minutos | B | 2 |
| Toy Story | 3D | John Lasseter | American | 60 | 81 minutos | B | 2 |
La clave primaria de esta tabla es (Titulo + Formato).
Las dependencias funcionales correctas, deberían lucir así:
- Titulo + Formato -> Director
- Titulo + Formato -> Precio
- Titulo + Formato -> Duración
- Titulo + Formato -> Puntuación
- Titulo + Formato -> Productora
Nota: nacionalidad del director no la tomaremos en cuenta en este caso, en el siguiente episodio explico porque.
Sin embargo, las dependencias no son esas… Sino estas:
- Titulo -> Director
- Titulo + Formato -> Precio
- Titulo -> Duración
- Titulo -> Puntuación
- Titulo -> Productora
Casi todas las columnas dependen funcionalmente de titulo y solamente el Precio depende de la clave primaria compuesta completa.
Esto es un problema de dependencias parciales, porque los atributos dependen de una parte de la clave y no de la clave primaria completa ( Titulo + Formato)
Por consecuente no cumplimos con la segunda forma normal.
¿Solución? Ya la conoces.. separar tabla
| Titulo | Director | Nacionalidad director | Duración | Puntuaciones | Productora id |
| El padrino | Francis Ford Coppola | American | 175 minutos | A | 1 |
| El padrino | Francis Ford Coppola | American | 175 minutos | A | 1 |
| Toy Story | John Lasseter | American | 81 minutos | B | 2 |
| Toy Story | John Lasseter | American | 81 minutos | 83 | 2 |
| Titulo | Formato | Precio |
| El padrino | HD | 30 |
| El padrino | 3D | 60 |
| Toy Story | HD | 30 |
| Toy Story | 3D | 60 |
Ahora si, la tabla de películas tiene una sola clave primaria y todos sus campos dependen ella.
Y la tabla de precios tiene su clave primaria compuesta, y depende completamente.
El objetivo de esta forma: Todas las columnas deben tener como determinante la clave primaria completa.
Si quieres otro ejemplo de dependencias parciales aquí te lo dejo, si no sabes como aplicar la primera forma normal, En el anterior capitulo te lo explico.
Los que navegan mas profundo, son los que descubren tesoros mas valiosos.
Anterior capitulo
Siguiente capitulo