Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Eberle
Bases de datos
Alexander
2014
Normalizacin
blog.std-io.com
aaaaa
Normalizacin 2
Normalizacin
blog.std-io.com
Contenido
Notas de autor............................................................................................................................ 3
Introduccin ............................................................................................................................... 3
Primera forma normal (1FN) ...................................................................................................... 4
Segunda forma normal (2FN) ..................................................................................................... 6
Tercera forma normal (3FN) ...................................................................................................... 7
Forma normal de Boyce-Codd.................................................................................................... 8
Cuarta forma normal (4FN) ........................................................................................................ 8
Quinta forma normal (5FN) ........................................................................................................ 9
Aaaaa
Notas de autor
La idea de ste documento es centralizar las distintas entradas de mi blog relacionadas con
bases de datos, de igual forma puedes ver el ndice de entradas aqu ordenados por orden
de lectura.
Tambin quiero comentar que la idea de este pdf es resumir y compilar todo el proceso de
normalizacin de la forma ms clara y sencilla posible sin perder la esencia y el concepto
general.
Introduccin
Hoy en da, y desde hace muchos aos, nosotros usamos bases de datos para guardar
distintos tipos de datos que luego usaremos tiempo despus en un programa; podramos
decir que una base de datos es un conjunto de datos ordenados, pero estaramos en un
error, cualquiera que conozca un poco sobre este tema podra recaer en cosas como "datos
que tienen un tipo" y otra clase de falencias que descartan -obviamente- esta definicin. No
obstante lo antedicho, no vengo a detallar ni a inmiscuirme en lo profundo de la definicin
de bases de datos, por lo que tomaremos por el momento a la sealada antes (si, esa cutre
definicin) como el concepto de base de datos, por el momento.
En la dcada del 70', (como dije en entradas anteriores Winston Royce, creaba el ciclo de
desarrollo de software), el seor Edgar F. Codd publicaba un trabajo denominado "A
Relational Model of Data for Large Shared Data Banks", creando entonces el modelo
relacional que hoy en da aplica a todas las bases de datos (o debera hacerlo). No obstante,
uno suele encontrar software (de dudosa calidad) en internet como los conocidos sistemas
de foros Vbulletin, o SMF, que cuentan con serios problemas a la hora de cumplir los
criterios de normalizacin.
Codd, a la hora de disear el modelo relacional, construy una serie de criterios para poder
verificar que las tablas estuvieran correctas, estas normas de correccin le permiten al
programador poder corregir y realizar una tabla normalizada.
Originalmente, estas formas normales o criterios de normalizacin eran 3, creadas por el
mismo Codd; no obstante, tiempo despus se mejor la 3FN (3 criterio o forma normal 3)
junto con Boyce nombrando la nueva FN como FNBC (Forma Normal Boyce-Codd).
Todos los atributos son atmicos. Un atributo es atmico si los elementos del
dominio son indivisibles, mnimos.
Profundicemos el anlisis de los tems anteriores. El primer punto, los atributos son
atmicos, significa que un campo no posee varios valores -solo posee uno y solo un valor- y
que ese valor no puede ser dividido en dos campos; en otras palabras, con un ejemplo
sencillo podemos ilustrar la situacin, as decimos que un campo "Nombre y Apellido" no es
atmico ya que cuenta con dos valores tales como el nombre y el apellido, y puede ser
dividido en dos campos, uno llamado nombre y el otro llamado apellido.
El segundo punto, hace referencia a que la tabla tiene una clave primaria y sta es -clave
primaria- porque si un valor no se puede repetir y es nico, quiere decir que no habr dos
registros con el mismo valor para ese campo llamado clave primaria.
El tercer punto es bastante obvio, la clave primaria no puede contener un valor nulo, como
puede pasar en otros campos, tiene que haber un valor X.
El cuarto punto, tiene relacin con que cada campo debe estar basado en la clave primaria;
en otras palabras, supongamos que tengo una tabla usuarios y pongo de clave primaria color
de pelo, y el resto de los campos son dni, nombre, apellido, etc. esto sera completamente
errneo, ya que por el color de pelo no puedo deducir el nombre, el apellido y el dni de la
persona. En cambio, si pusiera de clave primaria DNI, esto sera correcto ya que el nombre,
el apellido y el color de pelo se pueden obtener basndose en el DNI, entonces todos los
dems campos estn identificados por esa clave primaria.
No existen relaciones de dependencias no triviales que no siguen los criterios de las claves.
Una tabla que se encuentra en la 4FN -se dice que est en la 5FN- si, y slo si, cada relacin
de dependencia se encuentra definida por claves candidatas.
En otras palabras, cualquier relacin de dependencia que haya en la tabla debe estar
compuesta por un campo o un grupo de campos que sean clave primaria, y el resto de los
campos no clave primaria dependan de los campos anteriores.
Por lo que no puede existir una relacin de dependencia en la que no haya una clave
primaria y sean simples campos, esto tambin est apoyado por la 3FN donde se prev el
problema de la dependencia transitiva.
Espero que hayan comprendido el desarrollo hasta ste punto, esto es, las 6 formas
normales (incluyendo la de B-C). Como sugerencia, quisiera agregar la lectura del artculo de
wikipedia de normalizacin y sobre todo en particular el tema de las reglas de Codd ya que
decid no hacer una entrada puesto que la explicacin de Wikipedia es simple y concreta.
Confo en que el fatigado lector encuentre til la informacin, colabore en subsanar errores
y facilite las tareas con base de datos, Los espero en la siguiente entrada de mi blog:
http://std-io.com.
10