Escenario 3

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 16

Unidad 2 / Escenario 3

Lectura fundamental

Normalización

Contenido

1 Introducción

2 Dependencias

3 Normalización

Palabras clave: normalización, dependencia funcional, forma normal.


1. Introducción
Para una adecuada gestión de la información en una base de datos, es importante que esta se
encuentre adecuadamente estructurada. Esto con el fin de evitar la repetición de datos y mantener
la integridad referencial. Por esa razón, en este escenario se trabajará una técnica denominada
“normalización”, que consiste en un proceso en el que, aplicando un conjunto de reglas, se evitan
las redundancias, se reducen los inconvenientes al momento de actualizar los datos y se protege la
integridad de los mismos. Así, por ejemplo, estudiemos la relación: ESCRIBE

ESCRIBE(id autor, autor, nacionalidad, ISBN, titulo, editorial, anio)

Podemos evidenciar que hay problemas en aspectos como:

Redundancia: si un autor escribe más de un libro, la nacionalidad del autor se repetirá en todas las
ocasiones.

Anomalías de actualización: si se modifica el nombre de la editorial en una tupla, sería necesario


hacerlo en todas en las que esté presente.

Anomalías de inserción: si deseamos insertar un libro de un autor que no tengamos no sería posible
pues el id del autor hace parte de la llave primaria.

Anomalía de borrado: si borramos un libro se borran a, la su vez, los datos del autor.

Atributo atómico: se entiende que un atributo es atómico si este no puede dividirse en otros
atributos.

Una manera de solucionar los problemas planteados sería, a partir de la relación ESCRIBE, definir las
siguientes relaciones:

LIBRO(ISBN, Titulo, Editorial, Anio)

AUTOR(IdAutor, Nombre, Nacionalidad)

ESCRIBE(IdAutor,ISBN)

A continuación, se describirán una serie de conceptos y técnicas para normalizar una base de datos.

POLITÉCNICO GRANCOLOMBIANO 2
2. Dependencias
Una dependencia es una característica propia del contenido semántico de los datos. Consiste en una
serie de restricciones de usuario en el modelo relacional, que afectan a los atributos en una relación que
se cumplen para cualquier extensión de un esquema de relación. Se representa de la siguiente forma:

R(A,DEP)

Donde R es la relación, A es el conjunto de atributos de la relación y DEP son las dependencias que
existen entre atributos. Entre las dependencias existentes encontramos las siguientes:

• Dependencias de combinación

• Dependencias jerárquicas

• Dependencias multivaluadas

• Dependencias funcionales

Para el desarrollo del curso, nos concentraremos en las dependencias funcionales, las cuales se
describen a continuación.

2.1. Dependencias funcionales

El concepto de dependencia funcional se puede considerar uno de los más relevantes en la teoría
del diseño del esquema relacional. Una dependencia funcional (DF) es un “vínculo muchos a uno
que va de un conjunto de atributos a otros dentro de una determinada tabla” (Date, 2001, p.330).
También podemos decir que una dependencia funcional es “una restricción que se establece entre dos
conjuntos de atributos de la base de datos” (Elmasri & Navathe, 2007, p.291). Una definición formal
de dependencia funcional, de acuerdo con Elmasri & Navathe, es la siguiente:

POLITÉCNICO GRANCOLOMBIANO 3
Una dependencia funcional, denotada X → Y, entre dos conjuntos de atributos X e Y que son
subconjuntos de R, especifica una restricción en las posibles tuplas que pueden formar un
estado en la relación r de R. La restricción dice que dos tuplas t1 y t2 en r que cumplen que
t1[X]=t2[X], deben cumplir también que t1[Y]=t2[Y] (2007, p.292).

Para entender mejor esta definición, decimos que los valores que toma Y en la tupla r están determinados
por los valores de X (Figura 1). Así podemos encontrar dependencias funcionales tales como:

»» ISBN → Titulo

»» IdUsuario → NombreUsuario

»» FechaDeNacimiento → {Edad ,FechaDeJubilacion}

»» {Cargo, NumeroDeHijos} → Subsidio

Figura 1. Dependencia Funcional X → Y, Y es funcionalmente dependiente de X


Fuente: elaboración propia

En el proceso de normalización se comprueba que en cada relación o tabla se cumplan las reglas
basadas en la clave primaria y las dependencias funcionales. De tal manera que una relación se
descompone en otras relaciones, hasta que cada una cumpla con dichas reglas.

POLITÉCNICO GRANCOLOMBIANO 4
2.1.1. Descriptores equivalentes

Cuando X → Y y Y → X, se dice que X e Y son descriptores equivalentes X ↔ Y. Por ejemplo, un


estudiante puede ser identificado por el atributo “Cedula” o por el atributo “Codigo” por tanto:

Cedula ↔ Codigo

2.1.1. Dependencias transitivas

Si se tiene una relación R(A, DF), donde X e Y son dos descriptores sobre A,

se tiene una relación de dependencia transitiva.

2.1.2. Reglas de inferencia para dependencias funcionales - axiomas de Armstrong

Existe un conjunto de reglas que permiten deducir todas las dependencias funcionales que se dan al
interior de un conjunto dado de atributos. Estas reglas se denominan los axiomas de Armstrong, los
cuales son:

• Axioma de reflexividad:

Teniendo un atributo o un conjunto de atributos, de este puede deducirse él mismo. Así, por
ejemplo, si el título de un libro está incluido en el ISBN, entonces, a partir del ISBN es posible
obtener el título del libro.

• Axioma de aumentatividad:

Esta regla indica que se adicionamos el mismo conjunto de atributos a ambos lados de la
dependencia, obtenemos también dependencias válidas. Así si tenemos la dependencia X → Y
sería válida la relación XZ → YZ.

• Axioma de transitividad:

Este axioma indica que se la dependencia funcional X → Y es válida y, a su vez, la dependencia


funcional Y → Z es también válida; entonces, la dependencia funcional X → Z será válida.

POLITÉCNICO GRANCOLOMBIANO 5
A partir de los anteriores axiomas se desprenden los axiomas derivados de Armstrong, los cuales son:

• Axioma de descomposición o proyectividad:

Esta regla establece que podemos eliminar atributos del lado derecho de una dependencia, es
decir, se puede descomponer la dependencia funcional X → {A1, A2…, An} en las dependencias
{X → A1, X → A2, …, X → An}

• Axioma de unión o aditividad:

Este axioma tiene el comportamiento opuesto al de descomposición o proyectividad. De tal


forma que podemos combinar un conjunto de dependencias funcionales {X → A1, X → A2, …,
X → An} en la dependencia X → {A1, A2…, An}

• Axioma de pseudotransitividad:

Este axioma indica que se la dependencia funcional X → Y es válida y, a su vez, la dependencia


funcional WY → Z también es válida; entonces, la dependencia funcional WX → Z será válida.

3. Normalización
Una vez comprendidos los conceptos relacionados con las dependencias funcionales y sus
propiedades, podemos definir las dependencias funcionales para cada relación, de tal forma que cada
una tenga una clave principal en lo que denominan formas normales.

La normalización se entiende como el proceso en el que se aplican reglas a las relaciones obtenidas
del modelo entidad-relación al modelo relacional, con el fin de evitar redundancias, reducir problemas
de actualización de datos y proteger la integridad de los mismos. Es importante mencionar que la
normalización es un proceso posterior al esquema conceptual y ofrece las siguientes ventajas:

• Evita anomalías de inserción, modificación y borrado.

• Optimiza la interdependencia de datos.

• No impone a la estructura de los datos restricciones artificiales.

POLITÉCNICO GRANCOLOMBIANO 6
El proceso de normalización consta de varios pasos que, a su vez, corresponden a formas normales.
En la medida que se ha llegado a una forma normal con un índice más alto, se puede decir que las
relaciones tienen una forma más fuerte y son menos vulnerables a los problemas planteados. Se
recomienda llegar por lo menos a la tercera forma normal.

3.1. Formas normales

Se dice que una tabla está en una forma normal determinada si cumple las condiciones establecidas
para esa forma normal. Se dice que si una forma normal es de grado superior, cumple las
características de las formas normales de nivel inferior, como se observa en la Figura 2.

Primera forma normal 1FN

Segunda forma normal 2FN


Tercera forma normal 3FN

Boyce Codd NF
Cuarta forma normal 4FN
Quinta forma normal 5FN
Forma normal de dominio/dave DKNF

Figura 2. Formas normales


Fuente: elaboración propia

Por lo general, basta con obtener la tercera forma normal para satisfacer las necesidades que
se presentan en entornos cotidianos. A continuación, se presentan las características de cada
forma normal.

POLITÉCNICO GRANCOLOMBIANO 7
3.1.1. Primera forma normal (1FN)

Se considera que una tabla está en primera forma normal, si y solo si en cada campo de un registro
se tiene un único valor, es decir, es atómico. Esta se puede expresar de manera tabular sin grupos
repetitivos. Se entiende que un atributo es atómico si este no se puede dividir en otros atributos.

Las condiciones con las que debe cumplir la primera forma normal son:

• Todos los atributos son atómicos.

• La tabla tiene una única clave primaria.

• El número de columnas no varía.

• La clave identifica a los campos que no son clave (dependencia funcional).

• El orden de los datos o el cambio de los mismos no debe afectar el significado de estos.

Para llegar a la primera forma normal se lleva a cabo el siguiente procedimiento:

1. Se eliminan los grupos repetidos de cada tabla.

2. Se crea una tabla independiente para cada conjunto de datos relacionados.

3. Cada conjunto de datos relacionados se identificará con una clave principal.

Por ejemplo, el siguiente caso ilustra la primera forma normal. Se desea hacer un sistema que
almacene la facturación de una tienda; la orden contiene la siguiente información:

ORDEN(no_orden, fecha_orden, no_cliente, nombre_cliente,


dirección_cliente, (no_producto, descripción_producto, precio_
unitario, cantidad, precio_producto)*, cuenta_orden)

La tabla no normalizada tendría la siguiente representación (Tabla 1).

POLITÉCNICO GRANCOLOMBIANO 8
Tabla 1. Tabla no normalizada

Orden

No_ No_ No_ Precio_


Fecha_orden Nom_cliente Dir_cliente Desc_producto Pre_unit Cantidad Precio_prod
orden cliente producto orden

1 11/4/2017 12 Pedro Díaz Cll 10 – 25 – 27 23 Martillo $10000 1 $10000 $73000

1 11/4/2017 12 Pedro Díaz Cll 10 – 25 – 27 34 Taladro $30000 2 $60000 $73000

1 11/4/2017 12 Pedro Díaz Cll 10 – 25 – 27 24 Destornillador $1000 3 $3000 $73000

2 10/4/2017 3 Juan Pérez Kr 11– 12 – 14 23 Martillo $10000 2 $20000 $45000

2 10/4/2017 3 Juan Pérez Kr 11– 12 – 14 54 Formol $1500 1 $1500 $45000

2 10/4/2017 3 Juan Pérez Kr 11– 12 – 14 65 Alicate $800 4 $24000 $45000

Fuente: elaboración propia

Como se puede observar, hay atributos con el mismo significado: como No_producto y Desc_
producto (Figura 3).

Figura 3. Dependencias funcionales de la tabla no normalizada


Fuente: elaboración propia

POLITÉCNICO GRANCOLOMBIANO 9
Como se puede observar en la tabla, lo anterior conlleva a anomalías de actualización, pues al insertar
un dato se requiere tanto el número del cliente como el nombre del cliente. Al eliminar una tupla en
la que esta sea la única en la que aparezca un cliente, se perderá la información de este; y cuando se
modifique una tupla, puede generar una incoherencia con otra tupla. Para solucionar esta situación,
dividimos esta tabla en dos, de la siguiente manera:

ORDEN(no_orden, fecha_orden, no_cliente, nombre_cliente,


dirección_cliente, cuenta_orden)

ORDEN_PRODUCTO(no_orden, no_producto, descripción_producto,


precio_unitario, cantidad, precio_producto)

Por último, establecemos la clave primaria de la nueva entidad:

ORDEN(no_orden, fecha_orden, no_cliente, nombre_cliente,


dirección_cliente, cuenta_orden)

ORDEN_PRODUCTO(no_orden, no_producto, descripción_producto,


precio_unitario, cantidad, precio_producto)

Así llegamos a la primera forma normal (Tabla 2).

Tabla 2. Tablas en primera forma normal

Orden

No_orden Fecha_orden No_cliente Nom_cliente Dir_cliente Precio_orden

1 11/4/2017 12 Pedro Díaz Cll 10 – 25 – 27 $73000

2 10/4/2017 3 Juan Pérez Kr 11– 12 – 14 $45000

Orden_producto

No_orden No_producto Desc_producto Pre_unit Cantidad Precio_prod

1 23 Martillo $10000 1 $10000

1 34 Taladro $30000 2 $60000

1 24 Destornillador $1000 3 $3000

2 23 Martillo $10000 2 $20000

2 54 Formol $1500 1 $1500

2 65 Alicate $800 4 $24000

Fuente: elaboración propia

POLITÉCNICO GRANCOLOMBIANO 10
3.1.2. Segunda forma normal (2FN)

Se considera que una relación satisface la segunda forma normal (2FN) si, además de satisfacer
la primera forma normal, todos los atributos que no son clave dependen funcionalmente de forma
irreductible de la clave primaria (Tabla 3). Para llegar a la 2FN:

• Se eliminan los atributos que dependen de forma parcial de la clave primaria, para crear nuevas
relaciones.

• Se adicionan a la nueva relación los atributos del cual dependen.

Continuando con el ejemplo, tenemos lo siguiente:

ORDEN(no_orden, fecha_orden, no_cliente, nombre_cliente,


dirección_cliente, cuenta_orden)

ORDEN_PRODUCTO(no_orden, no_producto, cantidad, precio_producto)

PRODUCTO(no_producto, descripción_producto, precio_unitario)

Tabla 3. Tablas en segunda forma normal

Orden

No_orden Fecha_orden No_cliente Nom_cliente Dir_cliente Precio_orden

1 11/4/2017 12 Pedro Díaz Cll 10 – 25 – 27 $73000

2 10/4/2017 3 Juan Pérez Kr 11– 12 – 14 $45000

Orden_producto

No_orden No_producto Cantidad Precio_prod

1 23 1 $10000

1 34 2 $60000

1 24 3 $3000

2 23 2 $20000

2 54 1 $1500

2 65 4 $24000

POLITÉCNICO GRANCOLOMBIANO 11
Producto

No_producto Desc_producto Pre_unit

23 Martillo $10000

34 Taladro $30000

24 Destornillador $1000

54 Formol $1500

65 Alicate $800

Fuente: elaboración propia

3.1.3. Tercera forma normal (3FN)

Se considera que una relación satisface la tercera forma normal (3FN) si, además de satisfacer la
segunda Forma normal, todos los atributos que no corresponden a claves primarias dependen de
forma no transitiva de la clave primaria (Tabla 4). Para llegar a la 3FN:

1. Se eliminan los atributos que representan dependencias transitivas y se crean nuevas relaciones
con ellos.

2. Se añaden a la nueva relación los atributos que son determinantes que serán la clave primaria de
la nueva relación.

Continuando con el ejemplo, tenemos lo siguiente:

ORDEN(no_orden, fecha_orden, no_cliente, cuenta_orden)

CLIENTE(no_cliente, nombre_cliente, dirección_cliente)

ORDEN_PRODUCTO(no_orden, no_producto, cantidad, precio_producto)

PRODUCTO(no_producto, descripción_producto, precio_unitario)

POLITÉCNICO GRANCOLOMBIANO 12
Tabla 4. Tablas en tercera forma normal

Orden

No_orden Fecha_orden No_cliente Precio_orden

1 11/4/2017 12 $73000

2 10/4/2017 3 $45000

Cliente

No_cliente Nom_cliente Dir_cliente

12 Pedro Díaz Cll 10 – 25 – 27

3 Juan Pérez Kr 11– 12 – 14

Orden_producto

No_orden No_producto Cantidad Precio_prod

1 23 1 $10000

1 34 2 $60000

1 24 3 $3000

2 23 2 $20000

2 54 1 $1500

2 65 4 $24000

Producto

No_producto Desc_producto Pre_unit

23 Martillo $10000

34 Taladro $30000

24 Destornillador $1000

54 Formol $1500

65 Alicate $800

Fuente: elaboración propia

Por regla general, se llega a tercera forma normal; sin embargo, se mencionarán las otras formas normales.

POLITÉCNICO GRANCOLOMBIANO 13
3.1.4. Forma normal Boyce Codd (Boyce Codd NF)

Se considera que una relación está en forma normal Boyce Codd si toda dependencia funcional
no trivial e irreductible a la izquierda tiene como clave una candidata determinante. Es una forma
más precisa de 3FN, en la que se descomponen las relaciones de tal forma que la clave primaria sea
siempre determinante.

3.1.5. Cuarta forma normal (4FN)

Una relación está en cuarta forma normal (4NF) si y solo si cumple con la tercera forma normal
o en BCNF, y no posee dependencias multivaluadas no triviales. Una tabla con una dependencia
multivaluada es aquella en la que existen dos o más relaciones independientes muchos a muchos, que
causan redundancia, la cual se elimina por la cuarta forma normal. En la práctica, se ha comprobado
que no siempre es la más eficiente de las formas normales.

3.1.6. Quinta forma normal (5FN)

Una relación se dice que está en quinta forma normal 5NF si y solo si, además de estar en cuarta
forma normal, cada dependencia de unión en ella se implica por las claves candidatas.

3.1.7. Forma normal de dominio/clave DKNF

La forma normal de dominio/clave (DKNF) corresponde a una forma normal que exige que la base de
datos contenga restricciones de dominios y claves.

POLITÉCNICO GRANCOLOMBIANO 14
Referencias
Codd, E. (1990). The Relational Model for Database Management. USA: Addison - Wesley Publishing
Company.

Object Data Management Group. (2017). ODMG Standard. Recuperado de http://www.odbms.org/


odmg-standard/

Todd, E. (1976). The Peterlee Relational Test Vehicle. IBM Journal.

American Federation of Information Processing Societies. Press. (1979). The ANSI/X3/SPARC DBMS
framework: report of the Study Group on Database Management Systems. Computer Systems Research
Group.

Date, C. (2001). Introducción a los sistemas de bases de datos. Naucalpan de Juárez, México: Pearson
Education.

Elmasri, R. & Navathe, S. (2007). Fundamentos de Sistemas de Bases de Datos. Madrid: Pearson,
Addison Wesley.

POLITÉCNICO GRANCOLOMBIANO 15
INFORMACIÓN TÉCNICA

Módulo: Fundamentos de bases de datos

Unidad 2: Normalización en las bases de datos

Escenario 3: Normalización

Autor: Luis Ernesto Leyva Camargo

Asesor Pedagógico: María del Pilar Rivera Acosta


Diseñador Gráfico: Paola Andrea Melo
Asistente: Ana Milena Raga Amador

Este material pertenece al Politécnico Grancolombiano.


Prohibida su reproducción total o parcial.

POLITÉCNICO GRANCOLOMBIANO 16

También podría gustarte