Está en la página 1de 8

Base de Datos I

Unidad: Normalizacin

Normalizacin.
La normalizacin es un proceso iterativo en el cual la base de datos se dinamiza para reducir redundancia y para aumentar estabilidad. Durante el proceso de la normalizacin se determina la expansin o propagacin de tablas y claves. Aplicando la normalizacin a los datos, la base de datos se vuelve ms estable. Para aplicar la normalizacin a la base de datos no se requiere de tcnicas avanzadas, mas bien a que se conozca bien el negocio y las diversas maneras que se desea relacionar los datos en su problemtica. Cuando se normaliza una base de datos, se eliminan las columnas que: Contienen mas de un valor Duplicadas o repetidas No describen la tabla Contienen datos redundantes (intiles, basura) Pueden derivarse de otras columnas (edad, puede derivarse de la fecha de nacimiento)
La normalizacin es el proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos ms pequeas, que adems de ser ms simples y ms estables, son ms fciles de mantener. Tambin se puede entender la normalizacin como una serie de reglas que sirven para ayudar a los diseadores de bases de datos a desarrollar un esquema que minimice los problemas de lgica. Cada regla est basada en la que le antecede. La normalizacin se adopt porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conduca a errores de lgica cuando se trataban de manipular los datos. La normalizacin tambin hace las cosas fciles de entender. Los seres humanos tenemos la tendencia de simplificar las cosas al mximo. Lo hacemos con casi todo, desde los animales hasta con los automviles. Vemos una imagen de gran tamao y la hacemos ms simple agrupando cosas similares juntas. Las guas que la normalizacin provee crean el marco de referencia para simplificar una estructura de datos compleja. Otra ventaja de la normalizacin de base de datos es el consumo de espacio. Una base de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay menos repeticin de datos, lo que tiene como consecuencia un mucho menor uso de espacio en disco. El proceso de normalizacin tiene un nombre y una serie de reglas para cada fase. Esto puede parecer un poco confuso al principio, pero poco a poco se va entendiendo el proceso, as como las razones para hacerlo de esta manera.

Definiciones para un mejor entendimiento: Dependencia funcional. Los valores de los atributos dependen de un atributo principal (llave primaria), por ejemplo num_cli, nombre, direccin, telfono; donde: nombre, direccin y telfono dependen de num_cli que es la llave primaria. Dependencia transitiva Es cuando un atributo determina a otro a travs de un tercer atributo. Ejemplo en una tabla empleado se tiene num_emp, nombre_empleado, direccin, edad, fecha-nacimiento, aqu edad puede derivarse de la fecha de su nacimiento, por lo que el campo edad tiene una dependencia transitiva.

La siguiente seccin describe las cinco formas normales.

Ing. Joaqun Calzada Castillo

Grupo 3. E

Pgina 1 de 8

Base de Datos I

Unidad: Normalizacin

La Primera Forma Normal (1FN)


Las columnas de una tabla estn en la primera forma normal si cumplen las siguientes caractersticas: Contienen solo un valor Tienen solo una ocurrencia (es decir, no tienen columnas repetidas)

La primera regla de normalizacin es que se debe eliminar columnas repetidas o columnas que contienen ms de un valor a una tabla nueva. Primero examinaremos la tabla Ordenes-Cliente la cual no esta normalizada Tabla-1 No normalizada con varios valores en una columna. NumCli 101 102 103 104 Nombre Juan Prez Gilberto Garca Sandy Flores Francisco Torres Calle Avenida 2 Calzada de las Bombas Avenida Jurez Avenida Santa Rosa Num_Orden M31,M98,M129 M56 M37,M40 M14

En esta tabla la columna num_orden tiene mas de un valor. Esto hace muy difcil de realizar tareas muy simples, ejemplo: Eliminar las ordenes arriba de M56, o Imprimir las ordenes de una forma clasificada u ordenada. Para realizar cualquiera de estas dos tareas se necesitara de un algoritmo complejo que examinara cada valor en la columna del numero de orden para cada fila. Es por lo tanto importante que cada columna en una tabla consista exactamente de un nico valor. Tabla-2 No normalizada y con mltiples columnas repetidas. NumCli Nombre 101 Juan Prez 102 Gilberto Garca 103 104 Calle Avenida 2 Calzada de las Bombas Sandy Avenida Flores Jurez Francisco Avenida Torres Santa Rosa Orden_Num1 Orden_Num2 Orden_Num2 Orden_Num3 M31 M98 M129 Null M56 M37 M14 Null M40 Null Null Null Null Null Null Null

Aqu, en vez de una sola columna del nmero de orden, hay tres separados pero columnas duplicadas para el nmero de orden (orden_Num1, orden_Num2, y orden_Numr3). Este formato no es eficiente. Qu sucede si un cliente tiene ms de tres rdenes? En este caso se tendra que agregar una nueva columna con un valor existente de la columna para hacer una nueva entrada. Es difcil estimar un nmero mximo razonable de las pedidos para un cliente. Si su negocio es enrgico, puede ser que se tenga que crear 200 columnas del nmero de orden para una fila. Tambin si un cliente tiene solamente 10 rdenes, la base de datos contendr 190 valores nulos para este cliente. Adems, es difcil y desperdiciador de tiempo recuperar datos con la repeticin de columnas. Por ejemplo, para determinarse qu cliente tiene nmero de orden M98, usted debe mirar cada columna del nmero de orden individualmente (los 200 o ms de ellas) en cada fila para encontrar una coincidencia. Para reducir la tabla del cliente a la primera forma normal, divdala en dos tablas ms pequeas, una tabla para almacenar solamente la informacin del cliente (vase la tabla-3) y otra para almacenar solamente la informacin de la orden (vase la tabla-4).
Ing. Joaqun Calzada Castillo Grupo 3. E Pgina 2 de 8

Base de Datos I

Unidad: Normalizacin

Tabla-3 Clientes NumCli (llave Primaria) 101 102 103 104 Tabla-4 Ordenes Num_Orden (llave Primaria) M31 M98 M129 M56 M37 M40 M14 NumCli (llave fornea) 101 101 101 102 103 103 104 Nombre Juan Prez Gilberto Garca Sandy Flores Francisco Torres Calle Avenida 2 Calzada de las Bombas Avenida Jurez Avenida Santa Rosa

Observe que hay solamente un caso de una columna en el cliente y en las tablas de orden y cada columna contiene exactamente un valor. La columna NumCli en la tabla de la orden se relaciona con la columna Numcli en la tabla del cliente. Una tabla normalizada con la primera forma normal tiene las siguientes ventajas: Permite Agregar datos nuevos sin la necesidad de alterar el diseo de la tabla. (Permite crear cualquier nmero de los pedidos para cada cliente sin tener que agregar columnas nuevas) Permite el acceso de la informacin mas eficiente mente llevando con ello rapidez en el acceso de los datos. (Permite que las consultas y ordenamientos de datos muy rpidos por que las bsquedas solo son para una columna, Num_Orden) El espacio en disco se utiliza de un modo mas eficiente, no existen columnas vacas.

La Segunda Forma Normal (2FN)


Una tabla est en la segunda forma normal cuando est en la primera forma normal y contiene solamente las columnas que le dan la informacin sobre la llave de la tabla. La segunda regla de la normalizacin es que usted debe quitar a una tabla nueva esas columnas que no dependan de la llave primaria de la tabla actual. La tabla-5 demuestra una tabla del cliente que est en la primera forma normal porque no hay columnas duplicadas y cada columna tiene exactamente un valor. NumCli 101 101 101 102 103 103 Nombre Juan Prez Juan Prez Juan Prez Gilberto Garca Sandy Flores Sandy Flores Calle Avenida 2 Avenida 2 Avenida 2 Calzada de las Bombas Avenida Jurez Avenida Jurez Num_Orden M31 M98 M129 M56 M37 M40 Fecha_orden 19/03/91 13/08/91 09/02/91 14/05/90 25/12/90 15/03/91 Cantidad_orden $400.87 $3,000.90 $919.45 $1,000.50 $299.89 $299.89
Pgina 3 de 8

Ing. Joaqun Calzada Castillo

Grupo 3. E

Base de Datos I

Unidad: Normalizacin

104

Francisco Torres

Avenida Santa Rosa

M14

02/04/90

$2,300.56

Sin embargo, la tabla no se normaliza a la segunda regla. Tiene estos problemas: Primero, observe que las primeras tres filas en esta tabla repiten los mismos datos para las columnas: numcli, nombre, y calle. Es decir, los datos son redundantes. En segundo lugar, si el cliente, Juan Perez, cambia su direccin, usted debe entonces poner al da todas las filas existentes para reflejar la nueva direccin. En este caso, tres filas. Cualquier fila con la vieja direccin (se fue sin cambios) conduce a los datos contrarios. As, su base de datos carece integridad. Tercero, puede ser que se desee ajustar la base de datos eliminando todas las rdenes antes del 1 de noviembre de 1990, pero en el proceso, usted tambin pierde toda la informacin del cliente para Gilberto Garcia y Francisco Torres. La prdida inintencional de filas durante una operacin de la actualizacin se llama una anomala. As pues, cmo resolver estos problemas? Observe que esta tabla contiene la informacin sobre un cliente individual, tal como NumCli, nombre, y calle, que sigue siendo igual cuando usted agrega una orden. Es decir las columnas tienen num_orden, fecha de la orden, y la cantidad de la orden no pertenece al cliente y no depende del Numero de cliente, que es la llave primaria. Deben estar en otra tabla. Para reducir la tabla del cliente a la segunda forma normal, divdala en dos tablas, segn lo demostrado en la tabla-6 y la tabla-7. Tabla-6 Clientes NumCli (llave Primaria) 101 102 103 104 Tabla-7 Ordenes Num_Orden (llave Primaria) M31 M98 M129 M56 M37 M40 M14 Fecha_ord en 19/03/91 13/08/91 09/02/91 14/05/90 25/12/90 15/03/91 02/04/90 Cantidad_orden $400.87 $3,000.90 $919.45 $1,000.50 $299.89 $299.89 $2,300.56 NumCli (llave fornea) 101 101 101 102 103 103 104 Nombre Juan Prez Gilberto Garca Sandy Flores Francisco Torres Calle Avenida 2 Calzada de las Bombas Avenida Jurez Avenida Santa Rosa

Note que la tabla del cliente ahora contiene solamente una fila para cada cliente individual, mientras que la tabla de la orden contiene una fila para cada orden, y el nmero de orden es su llave primaria.
Ing. Joaqun Calzada Castillo Grupo 3. E Pgina 4 de 8

Base de Datos I

Unidad: Normalizacin

La tabla de la orden contiene una columna comn, NumCli, que relaciona las filas de la orden con las filas del cliente. Una tabla que se normaliza a la segunda forma normal tiene estas ventajas: Permite la actualizacin de la informacin de un registro, sin la necesidad de actualizarla en varios registros de la misma tabla. (Actualizaciones a la informacin del cliente en apenas una fila) Permite suprimir datos que ya no se necesitan sin afectar informacin que si es necesaria. (Suprimir pedidos del cliente sin la eliminacin de la informacin necesaria del cliente). Uso de espacio en disco mas eficiente, No almacenar datos repetidos o redundantes.

La Tercera forma Normal (3FN)


Una tabla est en la tercera forma normal si esta en la 2FN y cuando contiene solamente las columnas independientes, es decir, columnas no derivadas de otras columnas (dependencias transitivas). La tercera regla de la normalizacin es que usted debe quitar las columnas que se pueden derivar de columnas existentes. La tabla-8 muestra una tabla de la orden con un total despus de la columna del impuesto que se calcula de agregar un impuesto del 10% a la columna de la cantidad de la orden. Tabla-8 Num_Orden (llave Primaria) M31 M98 M129 M56 M37 M40 M14 Fecha_ord en 19/03/91 13/08/91 09/02/91 14/05/90 25/12/90 15/03/91 02/04/90 Cantidad_orden $400.87 $3,000.90 $919.45 $1,000.50 $299.89 $299.89 $2,300.56 Tot_des_impue $440.96 $3,300.99 $1,011.39 $1,100.55 $329.87 $329.87 $2,530.61 NumCli (llave fornea) 101 101 101 102 103 103 104

Para reducir esta tabla a la tercera forma normal, elimine Tot_des_impue (total despus del impuesto) porque es una columna dependiente que cambia nicamente con el impuesto. Para su informe, usted puede crear un algoritmo para obtener la cantidad para el total despus del impuesto. Usted necesita solamente guardar el valor de la fuente porque usted puede derivar siempre valores dependientes. Semejantemente, si usted tiene una tabla del empleado, usted no tiene que incluir una columna de la edad si usted tiene ya una columna con la fecha de nacimiento, porque usted puede calcular siempre la edad a partir de la fecha de nacimiento. Una tabla que esta en la tercera forma normal tiene las siguientes ventajas: Un manejo eficiente del espacio en disco, no necesitas almacenar datos reduntantes. Solo necesitas columnas necesarias, las columnas derivadas son eliminadas.

Ing. Joaqun Calzada Castillo

Grupo 3. E

Pgina 5 de 8

Base de Datos I

Unidad: Normalizacin

Cuarta Forma Normal (4FN)


Una tabla esta en la cuarta forma normal si esta en la 3FN y contiene dependencias multivaloradas. Existe multidependecia cuando un valor de un campo est siempre asociado con varios valores de otro u otros campos dependientes Un esquema de relaciones R est en 4FN con respecto a un conjunto D de dependencias funcionales y de valores mltiples s, para todas las dependencias de valores mltiples en D de la forma X->->Y (x es a y), donde X<=R (X es superllave a r) y Y<=R, se cumple por lo menos una de estas condiciones: X->->Y es una dependencia de valores mltiples trivial. X es una superllave del esquema R.

Donde: X, Y son atributos Superllave es una llave que se puede encontrar en varias tablas. Para entender mejor an esto consideremos una tabla llamada estudiante que contiene los siguientes atributos: Clave, Especialidad, Curso tal y como se demuestra en la siguiente Tabla:
Tabla-9 Estudiante Clave S01 S01 S01 B01 C03 Especialidad Sistemas Natacin Bioqumica Danza Sistemas Natacin Bioqumica Guitarra Civil Natacin Curso

Suponemos que los estudiantes pueden inscribirse en varias especialidades y en diversos cursos. El estudiante con clave S01 tiene su especialidad en sistemas y Bioqumica y toma los cursos de Natacin y danza, el estudiante B01 tiene la especialidad en Bioqumica y toma el curso de Guitarra, el estudiante con clave C03 tiene la especialidad de Civil y toma el curso de natacin. En esta tabla o relacin no existe dependencia funcional porque los estudiantes pueden tener distintas especialidades, un valor nico de clave puede poseer muchos valores de especialidades al igual que de valores de cursos. Por lo tanto existe dependencia de valores mltiples. Este tipo de dependencias produce redundancia de datos, como se puede apreciar en la tabla anterior, en -donde la clave S01 tiene tres registros para mantener la serie de datos en forma independiente lo cual ocasiona que al realizarse una actualizacin se requiera de demasiadas operaciones para tal fin. Existe una dependencia de valores mltiples cuando una afinidad tiene por lo menos tres atributos, dos de los cuales poseen valores mltiples y sus valores dependen solo del tercer atributo, en otras palabras en la afinidad R (A,B,C) existe una dependencia de valores mltiples si A determina valores mltiples de B, A determina valores mltiples de C, y B y C son independientes entre s. En la tabla anterior Clave determina valores mltiples de especialidad y clave determina valores mltiples de curso, pero especialidad y curso son independientes entre s.
Ing. Joaqun Calzada Castillo Grupo 3. E Pgina 6 de 8

Base de Datos I

Unidad: Normalizacin

Las dependencias de valores mltiples se definen de la siguiente manera: Clave ->->Especialidad y Clave->->Curso; Esto se lee "Clave multidetermina a Especialidad, y clave multidetermina a Curso" Para eliminar la redundancia de los datos, se deben eliminar las dependencias de valores mltiples. Esto se logra construyendo dos tablas, donde cada una almacena datos para solamente uno de los atributos de valores mltiples. Para nuestro ejemplo, las tablas correspondientes son: Tabla-10 Especialidad Clave Especialidad Tabla-11 Curso

S01 Sistemas B01 Bioqumica C03 Civil Clave Curso S01 Natacin S01 Danza B01 Guitarra C03 Natacin

Quinta forma normal (5FN).


Un esquema de relaciones R est en 5FN con respecto a un conjunto D de dependencias funcionales, de valores mltiples y de producto, si para todas las dependencias de productos en D se cumple por lo menos una de estas condiciones:

(R1, R2, R3, ... Rn) es una dependencia de producto trivial. Toda Ri es una superllave de R.

La quinta forma normal se refiere a dependencias que son extraas. Tiene que ver con tablas que pueden dividirse en subtablas, pero que no pueden reconstruirse. [En resumen: La normalizacin es una tcnica que se utiliza para crear relaciones lgicas apropiadas entre tablas de una base de datos. Ayuda a prevenir errores lgicos en la manipulacin de datos. La normalizacin facilita tambin agregar nuevas columnas sin romper el esquema actual ni las relaciones. Existen varios niveles de normalizacin: Primera Forma Normal, Segunda Forma Normal, Tercera Forma Normal, Forma Normal Boyce-Codd, Cuarta Forma Normal, Quinta Forma Normal o Forma Normal de Proyeccin-Unin, Forma Normal de Proyeccin-Unin Fuerte, Forma Normal de Proyeccin-Unin Extra Fuerte y Forma Normal de Clave de Dominio. Cada nuevo nivel o forma nos acerca ms a hacer una base de datos verdaderamente relacional. Se discutieron las primeras tres formas. stas proveen suficiente nivel de normalizacin para cumplir con las necesidades de la mayora de las bases de datos. Normalizar demasiado puede conducir a tener una base de datos ineficiente y hacer a su esquema demasiado complejo para trabajar. Un
Ing. Joaqun Calzada Castillo Grupo 3. E Pgina 7 de 8

Base de Datos I

Unidad: Normalizacin

balance apropiado de sentido comn y prctico puede ayudarnos a decidir cundo normalizar.]

Ing. Joaqun Calzada Castillo

Grupo 3. E

Pgina 8 de 8

También podría gustarte