La segunda forma normal – 2NF
Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender únicamente de la clave principal).
En otras palabras podríamos decir que la segunda forma normal está basada en el concepto de dependencia completamente funcional. Una dependencia funcional es completamente funcional si al eliminar los atributos A de X significa que la dependencia no es mantenida, esto es que, una dependencia funcional es una dependencia parcial si hay algunos atributos que pueden ser eliminados de X y la dependencia todavía se mantiene, esto es .
El 1NF solamente elimina los grupos repetitivos, no la redundancia. Por eso hay 2NF.
Una tabla se dice que está en 2NF si cumple el siguiente criterio:
ya está en 1NF
no tiene dependencia parcial. Es decir, todos los atributos no claves son totalmente dependientes de la clave primaria
La Segunda Forma Normal (2NF) es un paso importante en la normalización de bases de datos. Veamos cómo aplicarla al ejemplo que mencionamos anteriormente.
En la tabla original de “Estudiantes”, teníamos lo siguiente:
Tabla
|
ID Estudiante |
Nombre Estudiante |
Curso 1 |
Curso 2 |
Curso 3 |
|
1 |
Juan Pérez |
Matemáticas |
Historia |
Inglés |
|
2 |
María López |
Historia |
Inglés |
|
|
3 |
Carlos Ramírez |
Matemáticas |
Para aplicar la 2NF, seguimos estos pasos:
- Identificar la clave primaria:
- En este caso, el ID Estudiante es nuestra clave primaria.
- Eliminar dependencias parciales:
- Observamos que los nombres de los cursos están relacionados con el ID Estudiante, no con el ID Curso.
- Creamos una nueva tabla llamada “Cursos” con las columnas “ID Curso” y “Nombre Curso”:
Tabla
|
ID Curso |
Nombre Curso |
|
1 |
Matemáticas |
|
2 |
Historia |
|
3 |
Inglés |
Actualizar la tabla “Estudiantes”:
En lugar de tener los nombres de los cursos directamente en la tabla “Estudiantes”, usamos los ID Curso como claves foráneas:
Tabla
|
ID Estudiante |
Nombre Estudiante |
ID Curso 1 |
ID Curso 2 |
ID Curso 3 |
|
1 |
Juan Pérez |
1 |
2 |
3 |
|
2 |
María López |
2 |
3 |
|
|
3 |
Carlos Ramírez |
1 |
De esta manera, hemos eliminado la redundancia de los nombres de los cursos y organizado mejor la información.
.gif)