Sunteți pe pagina 1din 17

UNIDAD 5.

NORMALIZACIN

Sntesis
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.

Ejes de aprendizaje

Conceptos de normalizacin 1FN,2FNy 3FN FNBC, 4FN y 5FN Semana 7 Semana 8

Competencias

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. 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.

Desarrollo de los ejes de aprendizaje

Normalizacin

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.

Propiedades De Una B.D aplicando normalizacin

http://www.wikilearning.com/tutorial/diseno_de_bases_de_datos_en_sql-normalizacion/21129-4

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 a ctualizaciones de los datos.

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

Reglas:
3
1.

Las tablas o entidades deben cumplir con ciertas normas para convertirse en una relacin. 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
2 2 3 3 3

fuente: SENA - CEV Comunidad Educativa Virtual Ibd., SENA - CEV Comunidad Educativa Virtual

nica al atributo que tenga una longitud menor y fija, como por ejemplo un numero de ID. 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.
2.

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.
3. 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. GRADOS DE NORMALIZACIN

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. 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.

Primera Forma Normal

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). 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.

Ibd., SENA - CEV Comunidad Educativa Virtual

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. quedan de la

Finalmente aplicando la primera forma normal las tablas siguiente manera: Tabla OFICIO Codigo_oficio Identificacin Nombre_Oficio Descripcin Calificacin Tabla EMPLEADO Llave primaria Llave fornea IdentificacinNom bre Edad Responsable Direccin

Actividad # 1:

En la siguiente actividad realizar el modelo e-r y llevarlo a primera forma normal. Una cadena de agencias de viajes desea disponer de una Base de Datos que contemple informacin relativa al hospedaje y vuelos de los turistas que la contratan.

Los datos a tener en cuenta son: La cadena de agencias est compuesta por un conjunto de sucursales. Cada sucursal viene definida por el cdigo de sucursal, direccin y telfono.

La cadena tiene contratados una serie de hoteles de forma exclusiva. Cada hotel estar definido por el cdigo de hotel, nombre, direccin, ciudad, telfono y nmero de plazas disponibles. De igual forma, la cadena tiene contratados una serie de vuelos regulares de forma exclusiva. Cada vuelo viene definido por el nmero de vuelo, fecha y hora, origen y destino, plazas totales y plazas de clase turista de las que dispone. La informacin que se desea almacenar por cada turista es el cdigo de turista, nombre y apellidos, direccin y telfono.

Por otra parte, hay que tener en cuenta la siguiente informacin:

A la cadena de agencias le interesa conocer que sucursal ha contratado el turista. A la hora de viajar el turista puede elegir cualquiera de los vuelos que ofrece la cadena, y en que clase (turista o primera) desea viajar. De igual manera, el turista se puede hospedar en cualquiera de los hoteles que ofrece la cadena, y elegir el rgimen de hospedaje (media pensin o pensin completa). Siendo significativa la fecha de llegada y de partida.

Segunda Forma Normal

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.
5

www.javeriano.edu.co/javeriano/guias/virtual/sitio2/octavo/guia_7/documentos/normalizacion.pdf

Ejemplo: Tabla EMPLEADO Nombre Edad Responsable Direccin

Tabla OFICIOEMPLEADO Nombre Oficio Calificacin

Tabla OFICIO Codico_oficio Oficio Descripcin

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.

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.

Actividad # 2:

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

Tercera Forma Normal

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.

Ejemplo general:

En este ejemplo vamos aplicar hasta la tercera forma normal.

6 6

Ibd.

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 ultima forma normal. ESTADO INICIAL 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 PRIMERA NORMAL FACTURA Pk Numero_factura Fecha_factura Cod_cliente Nombre _cliente Direccion _cliente Telefono_cliente Cod_vendedor Nom_vendedor Total_factura FORMA SEGUNDA NORMAL FACTURA Pk Numero_factura Fecha_factura Cod_cliente Nombre _cliente Direccion _cliente Telefono_cliente Cod_vendedor Nom_vendedor Total_factura FORMA TERCERA NORMAL FACTURA Pk Numero_factura Fecha_factura FK Cod_cliente FK Cod_vendedor Total_factura FORMA

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 PRODUCTO Pk FK Numero_factura Pk FK Cdigo_producto Cantidad_producto Precio_total 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.

Forma Normal de Boyce-Codd o FNBC:

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.
7

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.

CURSO ESTUDIANTE ASIGNATURA PROFESOR Luis Informtica Jess

http://www.google.com.co/search?hl=es&client=firefox-a&rls=org.mozilla%3AesAR%3Aofficial&channel=s&q=normalizacion+de+bases+de+datos+FNBC&aq=f&aqi=&aql=&oq=&gs_rfai

Luisa Mario Mara Juan Toms

Matemticas Fsica Ingles Bases de datos Ingles

Pedro Mximo Lourdes Rafael Jess

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 asignatura Profesor;

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 Luisa Mario Mara Juan Toms

Jess Pedro Mximo Lourdes Rafael Jess

PROFE_ASI G PROFESOR ASIGNATURA Jess Pedro Mximo Lourdes Rafael Informtica Matemticas Fsica Ingles Bases de datos

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.

Cuarta Forma Normal

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. 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. TRANSPORT E Conductor Juan Marcos Juan Marcos Juan Marcos Tipo Vehculo Tipo Carga Furgoneta Furgoneta Furgoneta Furgoneta Camin Camin Perecederos Perecederos Muebles Muebles 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. Conductor Juan Marcos
8 9 9

Tipo Vehculo Furgoneta Furgoneta

http://www.scourdesign.com/articulos/BD-FN.php Ibd.

Juan Marcos Juan Marcos

Furgoneta Furgoneta Camin Camin

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 Furgoneta Furgoneta Furgoneta Furgoneta Camin Camin Tipo Carga Perecederos Perecederos Muebles Muebles Mudanza Mudanza

Quinta Forma Normal


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
10 10

Ibd.

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 ProyeccinUnin 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. 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 Dat os Fa mili are s D1 D2 D3 Datos Profes ionale s Dat os Per son ale s D5 D6 D7 D8 D9 Dato s Clnic os

D4

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 D1 D2 D3

Id 1

Datos Profesionales D4 D5 D6

Id

Datos personales D7 D8 D9

Id

Datos clnicos D10 D11 D12

S-ar putea să vă placă și