Está en la página 1de 17

UNIDAD No.

Normalización de Datos

Mtra. Romery Alberto Monegro


Santo Domingo, D.N.
22 de Agosto 2013
Unidad 5: Normalización de Datos

INDICE DEL CONTENIDO

INTRODUCCIÓN DE LA UNIDAD .......................................................................................................................3

Desarrollo del Contenido ................................................................................................................................5

Conceptos y Objetivos de la Normalización ............................................................................................5

Dependencia Funcional ...............................................................................................................................6

Formas Normales .........................................................................................................................................7

Desnormalización .......................................................................................................................................17

Bibliografía......................................................................................................................................................17

2 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

INTRODUCCIÓN DE LA UNIDAD

Imagen obtenida en Google

La normalización de datos es un proceso que nos ayuda a poder estructurar de una forma
eficiente y eficaz el esquema de una base de datos, tomando en cuenta ciertas reglas a
seguir para poder lograr este objetivo. Cuando aplicamos estas reglas de normalización a
un esquema de datos, aseguramos que no tendremos inconveniente con los demás pasos
a seguir en el ciclo de vida de desarrollo de software. Cuando normalizamos una base de
datos evitamos incurrir en la repetición de datos y ayudamos a mantener la integridad
de los mismos.

Esta unidad tiene como objetivo general Aplicar técnicas de normalización de bases de
datos relacionales, para evitar inconsistencias y redundancias de datos.

Para desarrollar el contenido de la presente unidad se plantean los siguientes objetivos


específicos:

3 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

 Elaborar diseño de base de datos que minimicen la redundancia y que garanticen la


integridad de la información.
 Crear esquemas de datos que garantice un buen desempeño en la ejecución de las
operaciones de consulta y actualización de datos.
 Optimizar el desempeño de bases de datos aplicando las reglas de normalización.

4 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

Desarrollo del Contenido


Los conceptos descritos en esta unidad fueron tomados de la bibliografía especificada al
final de la unidad.

Conceptos y Objetivos de la Normalización


Normalización es el proceso de organizar de manera eficiente los datos dentro de una
base de datos. Esto incluye la creación de tablas y el establecimiento de relaciones
entre ellas según reglas pre-diseñadas tanto para proteger los datos y la base de datos,
como para hacer más flexible al eliminar la redundancia y dependencia incoherente.

La normalización también se puede entender como el proceso mediante el cual se


transforman datos complejos a un conjunto de estructuras de datos más pequeñas, que
además de ser más simples y más estables, son más fáciles de mantener.

Objetivos de la Normalización

• La eliminación de redundancia de datos


• Evitar problemas de actualización de los datos en las tablas
• Garantizar que las dependencias que tienen los datos entre ellos sean lógicas y
presenten algún sentido
• Mantener tablas livianas
• Producir modelo de dato más claro y preciso

5 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

Dependencia Funcional
Se dice que un conjunto de atributos (B) depende funcionalmente de otro conjunto de
atributos (A) si para cada valor de A hay un único valor posible para B. Simbólicamente
se denota por A→B. Y se lee B es funcionalmente dependiente de A

Por ejemplo el nombre de una persona depende funcionalmente de la cedula; es decir


para una cedula en particular sólo hay un nombre posible.

Tipos dependencia funcional

• Completa: En una dependencia funcional A→B, cuando A es un conjunto de


atributos, decimos que la dependencia funcional es completa, si B sólo depende
de A, y no de ningún subconjunto de A.

La dependencia funcional se representa como A⇒B. Ej.: En una tabla de Clientes,


el conjunto de atributos formado por el nombre y la cedula producen una
dependencia funcional sobre el atributo apellidos. La cedula produce una
dependencia funcional completa sobre el campo apellidos.

• Elemental: Se produce cuando A y B forman una dependencia funcional completa


y además B es un único atributo.

Ej.: En una tabla de Ventas, los atributos Producto, Cliente y Precio, sólo el
atributo Producto produce sobre el atributo Precio una Dependencia Funcional
Elemental.

6 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

• Trivial: Una dependencia funcional A→B es trivial cuando B es parte de A. Esto


sucede cuando A es un conjunto de atributos, y B es a su vez un subconjunto de A.

Ej.: En una tabla de Textos, los atributos Autor y Libro, el atributo Autor forma
una Dependencia Funcional Trivial.

Formas Normales
El proceso de normalización está basado en un conjunto de pasos aplicados a las
entidades, con el objetivo de adquirir un nivel de eficiencia basado en unas “reglas”
particulares. Estas reglas se conocen como Formas.

Existen seis Formas Normales que son conocidas actualmente en las cuales cada una
establece un criterio de revisión para determinar que una tabla posee aceptación de
dicho Nivel. Una tabla puede encontrarse en la primera forma normal y no en la
segunda, pero no al contrario. Esto significa que para que se logre una forma de
numeración mayor, se debe de haber cumplido con las anteriores formas normales.

Cada nivel de normalización indica un incremento en el nivel de adherencia sobre los


estándares reconocidos para el diseño de una base de datos. Mientras se incrementa el
nivel de normalización, naturalmente se tiende a incrementar el número de tablas y esta
a su vez tener menos columnas.

Historia de la Normalización

En 1970 Edgar Frank Codd presentó al mundo la tres primeras Formas Normal de
normalización, en su compendio titulado “A Relational Model of Data for Large Shared
Data Banks” (Un Modelo Relacional para Grande Datos Bancarios Compartido). Este texto
basa la primera forma normal en la organización de los datos, y para la segunda y la

7 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

tercera, en su dependencia funcional. Luego Codd, junto a R. Boyce, definieron una


tercera forma normal más estricta y se le conoce como forma normal Boyce-Codd.

Finalmente surgieron las Cuarta y Quinta Forma Normal, definidas por Fagin, basada en
dependencias multivaluadas y dependencia de unión en la data. Aunque muchos
diseñadores plantean que con llegar a la forma normal Boyce-Codd es suficiente, ya que
la cuarta y la quinta ha presentados polémicas sobre su aplicación.

Primera Forma Normal (First Normal Form, 1NF)

Plantea eliminar cualquier data redundante. Es inherente al esquema relacional, es


decir toda tabla relacional la cumple. Se dice que una tabla se encuentra en la primera
forma normal si:
• Impide que un atributo pueda tomar más de un valor (valor atómico). Ejemplo si
en la tabla de empleado se tienen campos como nombre, teléfonos, direcciones
electrónicas, etc. que pudieran almacenar más de un valor.

• Todas las instancias contiene el mismo número de valores. Tabla cuyos registros
pueden tener atributos variables, o que no se frecuente todos ellos. Ejemplo una
tabla de Empleado que tenga Pago1, Pago2, Pago3.

• Todas las instancias de una entidad sean diferentes. Crear una clave primaria que
diferencie una registro de los demás. Ejemplo la tabla de empleado su clave
primaria puede ser el código de empleado.

En la siguiente tabla el atributo Departamento permite más de un valor.

8 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

Para llevarlo a 1NF, se define ese campo para que acepte sólo un dato.

Las características que puedan dar indicio de que una tabla no está en la 1NF serían:
- Dato de tipo cadena con carácter de separadores. (micuenta@hotmail.com;
otracuenta@gmail.com)
- Nombre de atributos con números al final. (Telefono1, Telefono2)
- Tablas con ningún o deficiente clave primaria.

Segunda Forma Normal (Second Normal Form, 2NF)

Su objetivo es que la clave principal debe hacer dependientes al resto de atributos, si


hay atributos que depende sólo de una parte de la clave (cuando es compuesta),
entonces esa parte de la clave y esos atributos formarán otra tabla. Esta segunda forma
normal es técnicamente relevante si existe una clave compuesta en la entidad.

Se dice que una tabla se encuentra en la segunda forma normal si:


• Se encuentra en la primera forma normal.
• Cada atributo debe tener dependencia funcional de la clave. Ejemplo si en una
tabla de VentaDetalle se tiene como campo clave Venta+Producto, si existe un

9 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

campo ProductoPrecio que sólo es dependiente de la clave del producto, esto


debe ser parte de otra tabla donde Producto sea la clave y Precio un atributo.

En la siguiente tabla la clave DNI+Cod_Curso componen la clave, pero Nombre y


Apellido1 tiene dependencia funcional sólo del atributo DNI.

Para llevarla a la 2NF se dividen en 2 entidades, donde cada atributo depende sólo de la
clave principal.

Las características que puedan dar indicio de que una tabla no está en la 2NF:

- El prefijo de algún atributo pudiera indicar característica de una entidad.


(ProductoPrecio)
- El mismo dato en registros repetidos, presentando señales de dependencia
functional entre atributos.
- Ausencia de claves foráneas que mantengan la relación con la entidad principal
por cada atributo que componen la tabla compuesta.

10 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

Tercera Forma Normal (Third Normal Form, 3NF)

A diferencia de la 2FN, persigue que ningún atributo que no sea clave dependa
transitivamente de las claves de la tabla, es decir elimina que algún atributo no
principal, dependa funcionalmente de atributos que no son clave. Se dice que una tabla
se encuentra en la tercera forma normal si:

• Se encuentra en la segunda forma normal.


• Cada atributo que no es clave no debe tener dependencia funcional de otro
atributo no principal. Ejemplo si en una tabla de Producto se tiene un campo Tipo
que no es clave principal y otro campo PorcImpuesto que depende del Tipo.

En la siguiente tabla el atributo Provincia depende del atributo Cod_Provincia:

Para llevarla a la 3NF se extrae dicho atributo y se crea una entidad separada:

11 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

Características que puedan dar indicio de que una tabla no está en la 3NF serían:
- Lo indicado en la 2NF, sólo que aquí el atributo no es clave primaria.
- Atributos que agrupen datos (TotalVentas)

Forma Normal de Boyce-Codd (Boyce-Codd Normal Form, BCNF)

Esta forma normal es como un reemplazo tanto de la segunda como de la tercera forma
normal. Es una mejora unificada de ambas, la cual agrupa sus características en un
mecanismo general. Se dice que una tabla se encuentra en la forma normal Boyce-Codd
si:

• Se encuentra en la primera forma normal.


• Todos los atributos son totalmente dependiente de una clave. Ejemplo si en la
tabla Empleado el campo Código se refiere a la entidad empleado, esta se puede
considerer como clave y cada atributo que la componen dependen funcionalmente
de dicha clave.
• Cada entidad posee un atributo determinante que es la clave principal.

12 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

En la siguiente tabla se muestra una relación de Trabajador-Departamento-Responsable.

Como se visualiza un Trabajador puede estar en más de un Departamento, y un


Departamento tener varios Responsables. Aunque cada Trabajador sólo tiene asignado un
Responsable por Departamento, y un Responsable solo puede estar en un Departamento.

Para llevarlo a la forma BCNF se crean 2 entidades con una clave diferente

Aunque la tercera forma normal se considera generalmente como el punto cúspide en el


diseño ideal de la base de datos, podrían quedar algunos problemas críticos en el diseño
lógico. De ahí que surgen las siguientes formas normales que tratan sobre la relación
multivaluada y la dependencia de los atributos La Cuarta y Quinta forma Normal no son

13 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

comúnmente utilizadas, debido al esfuerzo extra que requiere, tanto en el tiempo que
toma implementarlas, como en el costo a nivel de rendimiento en la base de datos.

Cuarta Forma Normal (Fourth Normal Form, 4NF)

Basada en dependencias multivaluadas. Una dependencia multivaluada de X sobre Y (es


decir X->>Y), siendo X e Y atributos de la misma tabla, ocurre cuando Y tiene un
conjunto de valores bien definidos sobre cualquier valor de X. Es decir, dado X sabremos
los posibles valores que puede tomar Y. Se refiere a posibles valores (en plural) y se
trata de que los valores de ese atributo siempre sean los mismos según el valor de un
atributo y no del otro. Se dice que una tabla se encuentra en la cuarta forma normal si:

• Se encuentra en la forma normal Boyce-Codd. Ejemplo que todas las claves


estarán definidas y sus atributos tendrán dependencia de dicha clave.

• No debe haber más de una dependencia multivaluada entre un atributo y la clave


principal.

En la siguiente tabla se muestra una relación NoCurso-Profesor-Material. Donde un Curso


puede tener más de un Profesor, y por cada Curso se puede utilizar más de un Material.

14 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

Para llevarlo a la 4NF se crean 2 entidades para separar el material por curso y los
profesores por cursos.

Características que puedan dar indicio de que una tabla no está en la 4NF serían:
- Claves ternarias (3 atributos componen la clave).
- Atributos que se sospechen posean multivalores.
- Dato Histórico.

Quinta Forma Normal (Fifth Normal Form, 5NF)

Basada en dependencia de Unión (Join). Como no todas las claves ternarias se pueden
descomponer en 2 entidades relacionadas a una tercera, esta quinta forma normal
asegurar que esas claves se descompongan en varias entidades para eliminar el problema
con las anomalías al realizar actualizaciones. Es decir crear una tabla formada por unas
cuantas columnas de la tabla original. Se dice que se tiene una tabla con dependencia
de unión (o de tipo JOIN) si se puede obtener esa tabla como resultado de combinar
mediante la operación JOIN varias proyecciones de la misma.

Se dice que una tabla se encuentra en la quinta forma normal si:

• Se encuentra en la cuarta forma normal.


• Toda clave ternaria debe ser descompuesta a relaciones binarias.

15 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

En la siguiente tabla se tiene la relación Proveedor-Material-Proyecto, el cual relaciona


el Material que cada Proveedor aporta a diferente Proyecto.

Para llevarlo a la 5NF se crean 3 entidades para relacionar cada unión de los diferentes
atributos.

Esta forma es la más compleja y polémica de todas ya que no está clara en muchas
ocasiones su regla de aplicación. Está muy claro que el paso a 5FN mejore la base de
datos aunque es raro encontrarse este tipo de problemas cuando la normalización llega a
4FN.

16 Mtra. Romery Alberto Monegro


Unidad 5: Normalización de Datos

Desnormalización
Este proceso es utilizado principalmente para agilizar los procesos, que se han
sobrecargados, debido a una sobre-normalización en el diseño de la base de datos.
También para reducir la complejidad de algunas entidades que dificultarían el proceso
de implementación.

Se estima que se puede denormalizar hasta llegar a la tercera forma, para evitar riesgo
de duplicación de los datos, ya que aunque se pierda un poco en el porcentaje de
control, se gana a nivel de eficacia (rapidez).

Mejores Prácticas
1. Seguir las reglas de normalización tan exacta como sea posible.
2. Todos los atributos deben describir la esencia del dato que se está modelando en
la entidad.
3. Al menos una clave debe ser identificada en cada entidad y simbolizar lo que la
entidad desea representar.
4. Seleccionar una clave primaria no es imprescindible identificarla en este proceso.
5. Normalizar tan rápido como sea posible durante la fase del diseño lógico.

Bibliografía

1. Ramez Elmasri, Shamkant B. Navathe (2007). Fundamentos de Sistemas de Bases de


Datos. Editora Pearson, Madrid, 5ta. Edición.
2. Abraham Silberschatz, Henry F. Korth and S. Sudarshan (2006). Fundamentos de Bases
de Datos. Editora McGraw-HILL, Madrid, 5ta. Edición.
3. Fundamentos de la normalización de bases de datos
http://support.microsoft.com/kb/283878/es
4. Normalización de bases de datos
http://www.eet2mdp.edu.ar/alumnos/MATERIAL/MATERIAL/info/infonorma.pdf

17 Mtra. Romery Alberto Monegro

También podría gustarte