Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FORMNORMAL
FORMNORMAL
FORMNORMAL
Hay cinco niveles de normalizacin, siendo cada vez ms complejo el proceso de obtencin de
tablas normalizadas. Para bases de datos relativamente sencillas se puede terminar la
normalizacin en el tercer nivel o tercera forma normal.
El proceso de normalizacin se basa en la descomposicin sin prdida de las tablas que estn
en una forma normal inferior, obtenindose una forma normal superior. El proceso de
Pgina 1 de 7
descomposicin sin prdida, significa que se ha de dividir o descomponer la tabla en otras con
menor cantidad de atributos sin que haya prdida de informacin.
La Primera Forma Normal, o 1FN, es la ms elemental de todas. Una tabla est en 1FN si el
valor que contiene un atributo de un registro, un campo, es nico y elemental. En cada uno de
los atributos slo se puede incluir un dato, aunque sea compuesto, pero no se pueden incluir
una lista de datos. Por ejemplo, no se pueden incluir en el atributo Direccin el domicilio
habitual y el de vacaciones; habra que crear dos registros que se diferenciarn por el atributo
Direccin:
Tabla de una base de datos
NIF Ape
Nom
Dir
1 Garca Francisco C/Marn 16
2
Snche
Luisa
z
CPost Pobl
Prov
33698 Oviedo Asturias
Valladolid
C/Teneras 34 85458 Cigales
Pontevedr
C/Ramorta 65 54585 Bueu
a
Esta tabla no est en 1FN, ya que el cliente con Id 2 tiene dos direcciones. Para poder tener
esta tabla en 1FN se hace el siguiente cambio:
Tabla de una base de datos
NIF Ape
Nom
Dir
CPost Pobl
Prov
1 Garca Francisco C/Marn 16
33698 Oviedo Asturias
Sanche
2
Luisa
C/Teneras 34 85458 Cigales Valladolid
z
Snche
Pontevedr
2
Luisa
C/Ramorta 65 54585 Bueu
z
a
Pontevedr
a
Para solucionar algunos problemas de dependencias funcionales, que no se podan resolver solo
con la normalizacin en 3FN, se han propuesto tres formas normales adicionales. La
normalizacin ms all de 3FN queda al juicio del diseador de la base de datos. A partir de esa
forma normal, la eliminacin de dependencias funcionales pasa por la creacin de tablas con
multitud de informacin redundante, con un posible aumento de tamao, por lo que se ha de
optar entre una optimizacin del diseo y una optimizacin del tamao. Llegndose a diversas
soluciones de compromiso entre ambos parmetros. Salvo excepciones, con la 3FN o a lo sumo,
la FNBC (que veremos a continuacin) es ms que suficiente, y llevar la normalizacin ms all
ser ms perjudicial que beneficioso.
Una tabla est en Forma Normal de Boyce-Codd o FNBC si solo existen dependencias
funcionales elementales que dependan de la clave primaria o de cualquier clave alternativa. Si
la clave primaria est formada por un solo atributo y est en 3FN, ya est en FNBC.
Un ejemplo tpico para mostrar una tabla que, estando en 3FN, mantiene dependencias
funcionales, sin relacin con el ejemplo seguido hasta este momento, es una tabla que posee
los atributos direccin, cdigo postal y poblacin, suponiendo que a poblaciones diferentes le
corresponden cdigos postales distintos.
Tabla en tercera forma normal
CPost Dir
C/ Pantano Camarillas
30009
n16
48596 Av. Buenos Aires n12
Pobl
Murcia
Madrid
En este caso hay dependencia entre el cdigo postal y la poblacin, ya que, conocido el cdigo
postal se puede conocer la poblacin, y conocida la direccin y la poblacin, se conoce el
cdigo postal. Para transformar la tabla en una tabla en FNBC se crea una tabla de cdigos
postales y poblaciones, eliminando de la tabla original la poblacin, obtenindose dos tablas,
una con los atributos direccin y cdigo postal y otra con el cdigo postal y la poblacin:
Tabla en forma normal de Boyce-Codd
CPost Dir
30009 C/ Pantano Camarillas n16
48596 Av. Buenos Aires n12
Juan
Marcos
Camin
Camin
Mudanza
Mudanza
Con estas condiciones, los conductores son independientes de la carga; el tipo de vehculos
depende del conductor y el tipo de vehculo depende de la carga. En este caso hay
dependencias funcionales multivaloradas, ya que algunos atributos que forman la clave
dependen de otro atributo que tambin la forman.
Para conseguir que esta tabla est en 4FN se necesita crear dos nuevas tablas en lugar de la
tabla actual, mantenindose en cada una de ellas una dependencia mltiple. La primera tabla
tendr los atributos conductor y tipo de vehculo y la segunda, tipo de vehculo y tipo de carga.
De este modo la tabla en 4FN debido a que la clave primaria de ambas tablas son todos los
campos que la forman. Resultado:
Tabla en cuarta forma
normal
Tipo Vehculo Tipo Carga
Furgoneta
Perecederos
Furgoneta
Perecederos
Furgoneta
Muebles
Furgoneta
Muebles
Camin
Mudanza
Camin
Mudanza
Pgina 5 de 7
informacin redundante, con pocos atributos o cuando una tabla posee una gran cantidad de
atributos y se hace por ello inmanejable.
Para conseguir que una tabla 4FN con gran cantidad de atributos est en 5FN, se parte la tabla
original en tantas tablas como se desee, teniendo cada una de ellas en comn con las dems
los campos que forman la clave primaria en la tabla original.
Ejemplo para el caso de una tabla que posee una gran cantidad de atributos:
Tabla
Datos
Id
Familiares
1 D1 D2 D3
Datos
Profesionales
D4
D5
D6
Datos
Personales
D7 D8 D9
Datos Clnicos
D10 D11 D12
En este caso tenemos una empresa donde se guardan los datos personales, familiares,
profesionales y clnicos de cada empleado en una nica tabla llamada Empleados. Si esta tabla
est ya en 4FN, se puede partir en las tablas empleados-personal, empleados-familia,
empleados-profesional, empleados-clnicos; de este modo, la velocidad de acceso y la gestin
de datos por cada departamento de la empresa se simplifica, al no tenerse que crear ningn
tipo de restriccin sobre determinados atributos que no han de ser vistos por el personal que no
los necesite.
El resultado sera:
Tabla en quinta forma normal
Id
Datos Familiares
1
D1
D2
D3
Ejemplo para el caso de una tabla que posee mucha informacin redundante, con pocos
atributos:
Tabla que no
normal
Biblioteca
Ttulo
T1
T2
T3
T4
T1
T2
T3
Pgina 6 de 7
Fecha
FT
FU
FV
FG
FH
FT
FV
Socio
S1
S2
S1
S4
S3
S4
S3
Si se tiene una tabla de prstamo de libros de una biblioteca, con los atributos ttulo, fecha de
prstamo y nmero de socios que ha tomado prestado el libro, existen multitud de registros que
se crean diariamente en esa tabla, pero para cada libro o para cada socio habr pocos registros,
con lo que una consulta para esa tabla como: Cules son los libros ledos por un determinado
socio?, puede tener una velocidad de respuesta elevada. Si esta tabla se parte en las tablas
ttulo-fecha, ttulo-socio y socio-fecha, cualquier consulta similar a la anterior tendr un tiempo
de respuesta tolerable, y cuando sea necesario, se podrn realizar consultas que impliquen los
datos de las tres tablas.
El resultado sera pues:
Tabla en quinta forma normal
Ttulo-Fecha
Ttulo
Fecha
T1
FT
T2
FU
T3
FV
T4
FG
T1
FH
T2
FT
T3
FV
Pgina 7 de 7