Segunda Forma Normal (2FN)
Podemos decir que una tabla se encuentra 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.
Cuando
hablamos de dependencia hablamos de Dependencia
Funcional.
Una dependencia
funcional es una conexión entre uno o más atributos. Por ejemplo si
conocemos el Legajo del empleado sabremos su Apellido y Nombre ya que existe una dependencia entre
ellos.
Las dependencias
funcionales se indican utilizando una flecha, de la siguiente manera:
Legajo -> Apellido y Nombre
Para comprender mejor el concepto veamos un ejemplo. Supongamos que estamos registrando los empleados que se encuentran trabajando en cada departamento en una tabla con el siguiente diseño:
(*)Legajo
|
(*)Código Dpto.
|
Nombre
|
Departamento
|
Fecha de
ingreso
|
…
|
1
|
6
|
Juan
|
Contabilidad
|
30/04/99
|
|
2
|
3
|
Pedro
|
Sistemas
|
02/06/90
|
|
3
|
2
|
Sonia
|
RRHH
|
23/11/12
|
|
4
|
3
|
Verónica
|
Sistemas
|
10/07/08
|
|
2
|
6
|
Pedro
|
Contabilidad
|
05/01/09
|
Si la clave principal de esta tabla, está formada por los campos Legajo
y Código Dpto., por todo analizado anteriormente, podemos decir que la tabla se
encuentra en 1FN. Analicemos entonces si también cumple la regla de la 2FN. Para ello deberemos analizar cuáles son
las dependencias funcionales:
Legajo -> Nombre
Código Dpto. -> Departamento
Legajo, Código Dpto. -> Fecha de Ingreso
Legajo -> Nombre
Código Dpto. -> Departamento
Legajo, Código Dpto. -> Fecha de Ingreso
Como puede verse,
tanto el campo Nombre como el Departamento dependen
sólo de parte de la clave, mientras que la Fecha de Ingreso depende de la clave completa. De manera que con solo existir una
dependencia parcial se concluye que toda la tabla no se encuentra en 2FN y
deberemos normalizarla.
Cuando nos
encontremos en situaciones como ésta, deberemos diseñar una tabla para cada una
de las dependencias parciales:
(*)Legajo
|
Nombre
|
1
|
Juan
|
2
|
Pedro
|
3
|
Sonia
|
4
|
Verónica
|
Tabla de Departamentos
(*)Código Depto.
|
Departamento
|
2
|
I+D
|
3
|
Sistemas
|
6
|
Contabilidad
|
...
|
Mientras que en la original sólo dejaremos la clave múltiple con aquellos campos que mostraban una dependencia de la clave completa:
| Tabla Empleados por Departamento |
|
(*)Legajo
|
(*)Código
Dpto.
|
Fecha de
ingreso
|
…
|
1
|
6
|
30/04/99
|
|
2
|
3
|
02/06/90
|
|
3
|
2
|
23/11/12
|
|
4
|
3
|
10/07/08
|
|
2
|
6
|
05/01/09
|
No hay comentarios:
Publicar un comentario