Normalización
de bases de datos
Primero forma normal (1FN)
Una tabla se encuentra en primera forma
cuando impide que un atributo de un a tabla pueda tomar mas de un
valor,
EJEMPLO
|
Trabajadores
|
|
DNI |
NOMBRE |
DEOARTAMENTO |
12345 |
ANDRES |
MANTENIMIENTO |
12346 |
ANDREA |
DIRECCION
GESTION |
La tabla anterior estaría en primera
forma normal si para cada atributo de un tupla solo tomara un valor y
quedaría de la siguiente manera.
|
Trabajadores
|
|
DNI |
NOMBRE |
DEOARTAMENTO |
12345 |
ANDRES |
MANTENIMIENTO |
12346 |
ANDREA |
DIRECCION |
12346 |
ANDREA |
GESTION |
SEGUNDA FORMA NORMAL (2FN)
Ocurre si una tabla esta en primera
forma normal y además cada atributo que no sea clave, depende de
forma funcional completa respecto de cualquiera de las claves, toda
la clave principal debe hacer dependientes al resto de atributos, si
hay atributos que depende.
Solo de parte de la clave entonces esa
parte de la clave y esos atributos formaran otra tabla.
Ejemplo
|
|
ALUMNOS |
|
|
DNI |
COD CURSO |
NOMBRE |
APELLIDO |
NOTA |
12345 |
34 |
Pedro |
Valiente |
9 |
12345 |
25 |
Pedro |
Valiente |
8 |
12346 |
34 |
Ana |
Fernández |
6 |
12347 |
25 |
Sara |
Crespo |
7 |
12347 |
34 |
Sara |
crespo |
6 |
Las tablas en 2fn quedarían de la
siguiente manera.
Primera tabla
|
ALUMNOS |
|
DNI |
NOMBRE |
APELLIDO |
12345 |
Pedro |
Valiente |
12345 |
Pedro |
Valiente |
12346 |
Ana |
Fernández |
12347 |
Sara |
Crespo |
12347 |
Sara |
crespo |
Segunda tabla
|
ALUMNOS |
|
DNI |
COD CURSO |
NOTA |
12345 |
34 |
9 |
12345 |
25 |
8 |
12346 |
34 |
6 |
12347 |
25 |
7 |
12347 |
34 |
6 |
TERCERA FORMA NORMAL (3FN)
Ocurre cuando una tabla esta en 2FN y
además ninguna atributo que no sea clave depende transitivamente de
las claves de la tabla, es decir no ocurre cuando algún atributo
depende funcionalmente de atributos que no son clave.
Ejemplo
|
|
ALUMNOS |
|
|
DNI |
NOMBRE |
APELLIDO |
COD CIUDAD |
CIUDAD |
12345 |
Salvador |
Velasco |
34 |
Zipaquirá |
12345 |
Pedro |
Valiente |
34 |
Zipaquirá |
12346 |
Ana |
Fernández |
47 |
Bogotá |
12347 |
Sara |
Crespo |
47 |
Bogotá |
12348 |
Mariana |
serrato |
08 |
Cali |
La tabla queda de la siguiente manera.
La ciudad depende funcionalmente del
cod ciudad, lo que hace que no este en 3FN.
COD CIUDAD |
CIUDAD |
34 |
Zipaquirá |
34 |
Zipaquirá |
47 |
Bogotá |
47 |
Bogotá |
08 |
Cali |
Por lo tanto se elimina de la tabla
quedando.
|
|
ALUMNOS |
|
DNI |
NOMBRE |
APELLIDO |
COD CIUDAD |
12345 |
Salvador |
Velasco |
34 |
12345 |
Pedro |
Valiente |
34 |
12346 |
Ana |
Fernández |
47 |
12347 |
Sara |
Crespo |
47 |
12348 |
Mariana |
serrato |
08 |