Está en la página 1de 14

En esta unidad se trabajara el concepto de normalizacin con sus respectivas

formas normales.
La normalizacin es un proceso que pretende conseguir tablas con una
estructura ptima y eficaz. El proceso de normalizacin est basado en lograr
la independencia de los datos respecto a las aplicaciones que los usan.








Conceptos de normalizacin

1FN,2FNy 3FN

FNBC, 4FN y 5FN


Semana 7

Semana 8







Identifica las formas normales de un esquema de una base de datos
relacional y las dependencias multivaluadas a partir de especificaciones
escritas por medio de la normalizacin.

Sntesis
NORMALIZACIN

Ejes de aprendizaje
Competencias

Lleva la base de datos a una forma normal tal que esta cumpla la
semntica del negocio sin que haya prdida ni corrupcin de los datos
de la organizacin.








1
Normalizacin es una serie de reglas que involucra anlisis y transformacin
de las estructuras de los datos en relaciones que exhiban propiedades nicas
de consistencia, mnima redundancia y mxima estabilidad.

La necesidad para normalizar puede ser mejor comprendida al mencionar las
distintas anomalas o desventajas de los datos NO NORMALIZADOS.




2
Una base de datos normalizada debe representar las siguientes
propiedades:
Los requerimientos para almacenamiento de datos se minimizan, dado
que el proceso de normalizacin sistemticamente elimina la duplicacin
de los datos.

los datos son almacenados en el mnimo nmero de lugares, las
posibilidades de inconsistencias en la informacin son reducidas al
mnimo.

Las estructuras normalizadas son ptimas para efectuar actualizaciones
de los datos.





1
http://www.wikilearning.com/tutorial/diseno_de_bases_de_datos_en_sql-normalizacion/21129-4
2
fuente: SENA - CEV Comunidad Educativa Virtual

Desarrollo de los ejes de aprendizaje
Normalizacin
Propiedades De Una B.D aplicando normalizacin

Procedimientos De Normalizacin

El proceso de normalizacin involucra bsicamente tres pasos. Despus de
cada paso, la base de datos se convierte en formas llamadas "formas
normales". Generalmente, la "tercera forma normal" es el estado que debe
alcanzar una base de datos para que se diga que est totalmente normalizada.
La cuarta y la quinta forma normal tambin existen, pero no son usadas en el

3
Las tablas o entidades deben cumplir con ciertas normas para convertirse
en una relacin.
1. Clave nica:
Cada registro tiene que tener una llave nica que lo identifique. Cualquier
atributo puede ser una llave, pero en lo posible trataremos de elegir como llave
nica al atributo que tenga una longitud menor y fija, como por ejemplo un
numero de ID.

2. No duplicados:
No debe haber nunca dos columnas o filas totalmente idnticas. Ejemplo: Dos
registros de discos compactos en una tienda seran idnticos si son dos copias
del ltimo lbum de Shakira, si no fuera porque cada disco compacto tiene un
nmero cdigo que los hace diferentes.
3. Insignificancia del orden:
La secuencia en la cual los atributos son escritos no debe importar. Podemos
escribir el ID del empleado de primero, o el nombre y el apellido de primero, y
esto no afectar las relaciones que establezcamos con otras tablas.
4. Forma no-normalizada:
Los datos en su forma elemental, no estn normalizados. Por lo tanto, lo
primero con lo que debemos comenzar es con los datos elementales o bsicos
que conformarn el diccionario de datos.
El diccionario de datos es creado a partir de los documentos o diagramas de
flujo. Se deben listar los elementos uno debajo del otro. As, obtendremos la
forma no-normalizada.


Existen tres niveles bsicos de normalizacin: Primera Forma Normal (1NF),
Segunda Forma Normal (2NF) y Tercera Forma Normal (3NF). Cada una de
estas formas tiene sus propias reglas.

3
Ibd., SENA - CEV Comunidad Educativa Virtual



GRADOS DE NORMALIZACIN
Reglas:


Cuando una base de datos se conforma a un nivel, se considera normalizada a
esa forma de normalizacin. No siempre es una buena idea tener una base de
datos conformada en el nivel ms alto de normalizacin, puede llevar a un nivel
de complejidad que pudiera ser evitado si estuviera en un nivel ms bajo de
normalizacin.



4
La regla de la Primera Forma Normal establece que las columnas repetidas
deben eliminarse y colocarse en tablas separadas.

As mismo se logra asignando a cada tabla una llave primaria y un identificador,
esto elimina los grupos de datos repetidos.



Poner la base de datos en la Primera Forma Normal resuelve el problema de
los encabezados de columna mltiples. La normalizacin ayuda a clarificar la
base de datos y a organizarla en partes ms pequeas y ms fciles de
entender. En lugar de tener que entender una tabla gigantesca y monoltica que
tiene muchos diferentes aspectos, slo tenemos que entender los objetos
pequeos y ms tangibles, as como las relaciones que guardan con otros
objetos tambin pequeos.


Ejemplo:


Empleado
Identificacin
Nombre
Edad
Responsable
Direccin
Oficio1
Oficio2
Oficio3


Los usuarios de esta tabla tendrn problemas al almacenar los datos de los
empleados de la compaa, pues al definir el oficio de los empleados slo se
dispone de 3 opciones.


En vez de fijar el nmero de oficios de cada trabajador a 3, cada oficio del
trabajador se localizar en su propia tabla (tabla oficio).


4
Ibd., SENA - CEV Comunidad Educativa Virtual
Primera Forma Normal


As se elimina la necesidad de un nmero variable de oficios en la tabla
EMPLEADO. Esta solucin siempre ser mejor que limitar el nmero de
oficios en la tabla EMPLEADO.

Luego, se debe definir una PK para cada tabla, la cual identificar de
manera nica los registros y servir para obtener una fila de informacin.
Por lo anterior, la identificacin del trabajador ser la PK de la tabla
EMPLEADO.

Puesto que cada trabajador puede tener varias filas en la nueva tabla
OFICIO, la identificacin y el Cdigo_oficio de manera combinada sern la
PK completa de la tabla OFICIO.

Finalmente aplicando la primera forma normal las tablas quedan de la
siguiente manera:


Tabla EMPLEADO

Identificacin
Nombre
Edad
Responsable
Direccin










En la siguiente actividad realizar el modelo e-r y llevarlo a primera forma
normal.

Una red de tiendas-taller de automviles necesita crear una base de datos
para la gestin de las ventas realizadas en cada uno de los talleres.

De cada taller se guarda el cdigo del taller, su CIF, telfono, fax, la direccin
y la provincia en la que se encuentra.

Para cada taller se desea llevar un control de su inventario, de forma que se
pueda saber qu niveles de existencias tienen de cada producto. De los
productos se guarda su cdigo (igual en todos los talleres), nombre y precio.

Cada tienda puede realizar una venta de productos sin necesidad de instalarlos
en un automvil. Esto se har emitiendo tickets, y para ticket se guarda su
nmero, fecha y precio. Se debe tener en cuenta que el nmero de ticket es
Tabla OFICIO

Codigo_oficio
Identificacin
Nombre_Oficio
Descripcin
Calificacin
Llave primaria
Llave fornea
Actividad # 1:


establecido a nivel de tienda-taller, de forma que el nmero de ticket slo es
nico para cada tienda-taller.

En cambio, para las reparaciones, se emite una factura de las que se guarda
un nmero (nico en toda la red), una fecha y un total. Las facturas son
emitidas a un taller en concepto de reparacin de un automvil.
Cada automvil es almacenado en la base de datos mediante su matrcula,
marca, modelo y kilometraje.

Por ltimo, cada automvil puede ser de un solo cliente, de los que se guarda
su NIF, nombre y direccin, con el fin de poder consignar los datos de las
facturas.





5
La regla de la Segunda Forma Normal establece que todas las dependencias
parciales se deben eliminar y separar dentro de sus propias tablas. Una
dependencia parcial es un trmino que describe a aquellos datos que no
dependen de la llave primaria de la tabla para identificarlos.

Una vez alcanzado el nivel de la Segunda Forma Normal, se controlan la
mayora de los problemas de lgica. Podemos insertar un registro sin un
exceso de datos en la mayora de las tablas.

Ejemplo:

Tabla
EMPLEADO

Nombre
Edad
Responsable
Direccin








Para obtener la segunda forma normal se deben sacar Oficio y
Descripcin a una tercera tabla.
la PK de la tercera tabla es cdigo_oficio y su larga descripcin aparece
slo una vez.


5
www.javeriano.edu.co/javeriano/guias/virtual/sitio2/octavo/guia_7/documentos/normalizacion.pdf
Tabla OFICIO-
EMPLEADO

Nombre
Oficio
Calificacin

Tabla OFICIO

Codico_oficio
Oficio
Descripcin
Segunda Forma Normal


En la tabla OFICIO de la primera forma normal se observa que las
descripciones detalladas se repiten para cada trabajador que tenga ese
oficio.

Adems, cuando el ltimo trabajador con conocimientos de herrero se
va de la ciudad, la descripcin del oficio de desvanece.






En esta actividad retomamos la actividad uno y aplicamos la segunda forma normal






6
Una tabla est normalizada en esta forma si todas las columnas que no son llave son
funcionalmente dependientes por completo de la llave primaria y no hay dependencias
transitivas. Comentamos anteriormente que una dependencia transitiva es aquella en
la cual existen columnas que no son llave que dependen de otras columnas que
tampoco son llave.

Cuando las tablas estn en la Tercera Forma Normal se previenen errores de lgica
cuando se insertan o borran registros. Cada columna en una tabla est identificada de
manera nica por la llave primaria, y no debe haber datos repetidos. Esto provee un
esquema limpio y elegante, que es fcil de trabajar y expandir.

Un dato sin normalizar no cumple con ninguna regla de normalizacin. Para explicar
con un ejemplo en que consiste cada una de las reglas, vamos a considerar los datos
de la siguiente tabla.




En este ejemplo vamos aplicar hasta la tercera forma normal.
La normalizacin la podemos trabajar con la siguiente estructura, cundo ya
tengamos normalizada la base de datos la llevamos al modelo relacional y
tomamos la ltima forma normal.




6
Ibd.

Tercera Forma Normal

Actividad # 2:

Ejemplo general:




ESTADO INICIAL PRIMERA FORMA
NORMAL
SEGUNDA FORMA
NORMAL
TERCERA FORMA
NORMAL
FACTURA

FACTURA FACTURA FACTURA
Pk
Numero_factura
Fecha_factura
Cod_cliente
Nombre _cliente
Direccion _cliente
Telefono_cliente
Cod_vendedor
Nom_vendedor
Cdigo_producto
Nombre_producto
Cantidad_producto
Precio_unitario
Precio_total
Pk Numero_factura
Fecha_factura
Cod_cliente
Nombre _cliente
Direccion _cliente
Telefono_cliente
Cod_vendedor
Nom_vendedor
Total_factura

Pk Numero_factura
Fecha_factura
Cod_cliente
Nombre _cliente
Direccion _cliente
Telefono_cliente
Cod_vendedor
Nom_vendedor
Total_factura

Pk Numero_factura
Fecha_factura
FK Cod_cliente
FK Cod_vendedor
Total_factura

CLIENTE
Pk Cod_cliente
identificacion_cliente
Nombre _cliente
Direccion _cliente
Telefono_cliente

VENDEDOR
Pk Cod_vendedor
Nom_vendedor

DETALLE_FACTURA DETALLE_FACTURA DETALLE_FACTURA
Pk FK
Numero_factura
Pk Cdigo_producto
Nombre_producto
Cantidad_producto
Precio_unitario
Precio_total
Pk FK
Numero_factura
Pk FK
Cdigo_producto
Cantidad_producto
Precio_total

Pk FK
Numero_factura
Pk FK
Cdigo_producto
Cantidad_producto
Precio_total

PRODUCTO PRODUCTO

Pk Cdigo_producto
Nombre_producto
Precio_unitario



Pk Cdigo_producto
Nombre_producto
Precio_unitario






Actividad # 3


Realizar el modelo relacional de la estructura del ejemplo anterior.



7
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
llamada curso que posee los
atributos ESTUDIANTE,
ASIGNATURA y PROFESOR.













Sea la relacin CURSO (Estudiante, Asignatura, Profesor) en la que un
profesor solo imparte una nica asignatura. Con las siguientes dependencias
funcionales
Estudiante, Asignatura Profesor;
Profesorasignatura

7
http://www.google.com.co/search?hl=es&client=firefox-a&rls=org.mozilla%3Aes-
AR%3Aofficial&channel=s&q=normalizacion+de+bases+de+datos+FNBC&aq=f&aqi=&aql=&oq=&gs_rfai
CURSO
ESTUDIANTE ASIGNATURA PROFESOR
Luis Informtica Jess
Luisa Matemticas Pedro
Mario Fsica Mximo
Mara Ingles Lourdes
Juan
Bases de
datos
Rafael
Toms Ingles Jess
Forma Normal de Boyce-Codd o FNBC:

Procedemos a su normalizacin hasta FNBC. Aplicamos la regla de
descomposicin sin prdidas a la dependencia que impide la restriccin en
FNBC, Asignatura Profesor:
PROFE_ASIG(profesor,asignatura)
ESTU_PROFE(estudiante,profesor)
Quedando las tablas de la siguiente manera:
ESTU_PROFE
ESTUDIANTE PROFESOR
Luis Jess
Luisa Pedro
Mario Mximo
Mara Lourdes
Juan Rafael
Toms Jess

Slo podemos asegurar una descomposicin sin prdidas para una
normalizacin hasta 3FN, a partir de ella no podemos asegurar que no se
pierdan dependencias.
Si se llega a FNBC y se pierde una dependencia entonces podemos proceder
de dos maneras posibles:
1. Dejamos la normalizacin hasta 3FN.
2. Rediseamos el modelo entidad-relacin.




8
Existe dependencia funcional multivalorada o de mltiples valores si, dados
tres atributos de una tabla, si para cada valor del primer atributo existen
mltiples valores en el segundo atributo y no hay ninguna relacin entre el
tercer atributo y el primero, a no ser a travs del segundo atributo.

8
http://www.scourdesign.com/articulos/BD-FN.php
PROFE_ASIG
PROFESOR ASIGNATURA
Jess Informtica
Pedro Matemticas
Mximo Fsica
Lourdes Ingles
Rafael Bases de datos
Cuarta Forma Normal

Una tabla est en Cuarta Forma Normal o 4FN si est en FNBC y las nicas
dependencias funcionales multivaloradas que existen son las dependencias
funcionales de la clave con los atributos que no forman parte de la misma.
Estas dependencias multievaluadas de la clave con los atributos que no forman
parte de la misma son dependencias triviales, por lo que algunos autores dicen
que no existen dependencias multievaluadas en 4FN.
Ejemplo:
9
Supongamos que los atributos de la tabla transporte son conductor, tipo de
vehculo y tipo de carga, formando los tres campos la clave primaria. A cada
conductor se le puede asignar un vehculo u otro y cada vehculo puede
transportar varios tipos de carga.
TRANSPORTE

Conductor

Tipo Vehculo Tipo Carga
Juan Furgoneta Perecederos
Marcos Furgoneta Perecederos
Juan Furgoneta Muebles
Marcos Furgoneta Muebles
Juan Camin Mudanza
Marcos Camin 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.

9
Ibd.

Conductor

Tipo Vehculo
Juan Furgoneta
Marcos Furgoneta
Juan Furgoneta
Marcos Furgoneta

Para conseguir que esta tabla est en
4FN se necesita crear dos nuevas tablas
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:
Tipo Vehculo Tipo Carga

Furgoneta Perecederos
Furgoneta Perecederos
Furgoneta Muebles
Furgoneta Muebles
Camin Mudanza
Camin Mudanza



10
Se dice que hay dependencia de JOIN, de unin o de producto si una tabla
tiene dependencia de unin con varias de sus proyecciones y se puede
obtener la tabla por medio de la unin de dichas proyecciones.
Proyeccin:
Creacin de una tabla cuyos elementos forman un subconjunto de una tabla
dada. Se incluyen todas las filas y algunas columnas.


Unin:
Formar, a partir de dos tablas, una nueva con todos los campos de una de ellas
y los registros de ambas, excepto los repetidos. Ambas tablas han de tener el
mismo grado y las mismas columnas.
Una tabla esta en Quinta Forma Normal (5FN) o Forma Normal de Proyeccin-
Unin si est en 4FN y las nicas dependencias que existen son las
dependencias de unin de una tabla con sus proyecciones relacionndose
entre las distintas proyecciones mediante la clave primaria o cualquier clave
alternativa.

10
Ibd.

Juan Camin
Marcos Camin
Quinta Forma Normal


La 5FN se emplea cuando en una misma tabla tenemos mucha 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:
Id Datos
Familiares
Datos
Profesionales
Datos
Personales
Datos Clnicos
1 D1 D2 D3 D4 D5 D6 D7 D8 D9 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:

Id Datos Familiares
1 D1 D2 D3

Id Datos Profesionales
1 D4 D5 D6


Id Datos personales
1 D7 D8 D9

Id Datos clnicos
1 D10 D11 D12