16.12.15

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

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:


Tabla de Empleados
(*)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: