Proceso de Normalización
En el proceso de normalización, según la propuesta original de
Codd (1972), se somete un esquema de relación a una serie de
pruebas para “certificar” si pertenece o no a una cierta forma
normal.
El proceso de normalización consiste en descomponer las
relaciones originales en otras más pequeñas con el fin de eliminar
las anomalías que se pueden dar en las relaciones iniciales.
Las formas normales corresponden a un conjunto discreto de
restricciones progresivas que hacen que una relación tenga un
grado de normalización en el momento que cumple con algún
subconjunto de aquellas.
Así las formas normales están contenidas unas en otras formando
un conjunto de reglas que progresivamente van asegurando
calidad en las relaciones.
Este procedimiento es reversible; es decir, siempre es posible
tomar la salida del procedimiento (relaciones con un grado de
normalización) y convertirlas otra vez en la entrada (antes de
Pág. 1
cumplir con las restricciones). Esto último es importante ya que
significa que no se pierde información durante el proceso de
normalización.
Formas Normales
Primera forma normal (1FN)
Una relación está en primera forma normal, si y sólo si, no
hay atributos multivaluados o compuestos, ni atributos
distintos con el mismo significado y definidos en el mismo
dominio.
Los únicos valores de atributos que permite la 1FN son
valores atómicos (o indivisibles).
Por ejemplo:
R:
A B C
A1 B1,B2,B3 C1
A2 B4,B5 C2
Para eliminar los atributos no atómicos, es necesario crear un
nuevo registro que contenga un valor distinto para el atributo no
atómico y los mismos valores para los atributos restantes, por
ejemplo:
R1:
A B C
A1 B1 C1
Pág. 2
A1 B2 C1
A1 B3 C1
A2 B4 C2
A2 B5 C2
AUTORES
IDAUTOR MATERIA NOMAUTOR
1 Lenguaje SQL; Diseño BD; BD OO Date
2 Diseño BD; BD Distribuidas Ullman
O bien,
AUTORES
IDAUTOR MATERIA1 MATERIA2 MATERIA3 NOMAUTOR
1 Lenguaje SQL Diseño BD BD OO Date
2 Diseño BD BD Distribuidas Ullman
En el primer caso, Los atributos multivaluados y en el segundo,
los atributos distintos pero definidos en el mismo dominio, se
resuelven con la siguiente tabla:
AUTORES
IDAUTOR MATERIA NOMAUTOR
1 Lenguaje SQL Date
1 Diseño BD Date
1 BD OO Date
2 Diseño BD. Ullman
2 Bases BD Distribuidas. Ullman
Dependencias Funcionales
Pág. 3
Sea R una relación y sean X e Y subconjuntos arbitrarios del
conjunto de atributos de R. Se dice que Y es funcionalmente
dependiente de X (X Y) sí y sólo sí cada valor de X en R está
asociado con, precisamente, un valor de Y en R.
Cuando dos registros de R coinciden sobre un mismo valor de X,
ellos también coinciden sobre un mismo valor de Y.
Estas dependencias se establecen para todos los valores posibles
reales de los atributos considerados.
Reglas de inferencia de Amstrong
Sean A, B, C y D subconjuntos arbitrarios del conjunto de
atributos de la relación R, y AB significa la Unión o
concatenación de A y B. Entonces tenemos:
1. Reflexivilidad: Si B es un subconjunto de A, entonces AB.
2. Aumentatividad: Si AB, entonces ACBC.
3. Transitividad: Si A B y B C, entonces AC.
4. Autodeterminación: AA.
5. Descomposición: Si ABC, entonces AB y AC.
6. Unión: Si AB y AC, entonces ABC.
7. Composición: Si AB y CD, entonces ACBD.
Dependencia Multivaluada
Dada una relación R con los atributos A, B y C, se dice que
AB y AC si un rango de específico de valores del
atributo B esta determinado por un valor particular del atributo A,
independiente de los valores del atributo C y viceversa.
Segunda forma normal (2FN)
Pág. 4
Una relación está en segunda forma normal, si y sólo si está
en 1NF y no hay dependencias parciales.
Por ejemplo: a
d
R(a,b,c,d) con DF: {a,b}c, ad b c
Donde la dependencia funcional ad es parcial respecto a la llave
primaria.
Para eliminar esta dependencia parcial es necesario descomponer
la relación R en dos o más relaciones, por ejemplo:
R1(a,b,c) con DF: {a,b}c, y
R2(a,d) con DF: ad
AUTOR NACIONALIDAD COD_LIBRO TITULO EDITORIAL AÑO
Date, C. Norteamericana 98987 Database Addison 1990
Date, C. Norteamericana 97777 SQL Stan Addison, W. 1986
Date, C. Norteamericana 98989 Guide for Addison, W. 1988
Codd,E. Norteamericana 7890 Relational Addison,W. 1990
Gardarin Francesa 12345 Basi Dati Paraninfo 1986
Gardarin Francesa 67890 BD Distribuidas Eyrolles 1984
Valduriez Francesa 67890 BD Distribuidas Eyrolles 1984
Kim,W. Norteamericana 11223 BD OO ACM 1989
AUTOR, COD_LIBRO NACIONALIDAD, TITULO, EDITORIAL, AÑO
AUTOR
AUTOR NACIONALIDAD
Date, C. Norteamericana
Codd,E. Norteamericana
Gardarin Francesa
Valduriez Francesa
Pág. 5
Kim,W. Norteamericana
LIBRO
COD_LIBRO TITULO EDITORIAL AÑO
98987 Database Addison 1990
97777 SQL Stan Addison, W. 1986
98989 Guide for Addison, W. 1988
7890 Relational Addison,W. 1990
12345 Basi Dati Paraninfo 1986
67890 BD Distribuidas Eyrolles 1984
67890 BD Distribuidas Eyrolles 1984
11223 BD OO ACM 1989
AUTORXLIBRO
AUTOR COD_LIBRO
Date, C. 98987
Date, C. 97777
Date, C. 98989
Codd,E. 7890
Gardarin 12345
Gardarin 67890
Valduriez 67890
Kim,W. 11223
Tercera forma normal (3FN)
Una relación está en tercera forma normal, si y sólo si esta
en 2NF y no hay dependencias transitivas.
b
Por ejemplo: a
R (a,b,c) con DF: ab, bc, ac c
Pág. 6
La dependencia funcional ac es transitiva, ya que puede ser
derivada de ab y bc. Para eliminar esta dependencia
transitiva es necesario descomponer la relación R en dos o más
relaciones, por ejemplo:
a b
R1(a,b) con DF: ab
R2(b,c) con DF: bc b c
LIBRO
COD_LIBRO EDITORIAL PAIS
9030 RAMA ESPAÑA
9110 RAMA ESPAÑA
9040 PARANINFO ESPAÑA
9234 ANAYA ESPAÑA
9567 [Link] USA
CODLIBRO EDITORIAL, PAIS
LIBRO
COD_LIBRO EDITORIAL
9030 RAMA
9110 RAMA
9040 PARANINFO
9234 ANAYA
9567 [Link]
EDITORIAL
EDITORIAL PAIS
RAMA ESPAÑA
PARANINFO ESPAÑA
ANAYA ESPAÑA
Pág. 7
[Link] USA
Forma normal de Boyce/Codd (FNBC)
Una relación está en forma normal Boyce/Codd, si y sólo si
todo determinante es una llave candidata.
Por ejemplo:
R(a,b,c) donde existen las siguientes LLC: a,b y a,c (compuestas
y traslapadas)
De manera que las DF serían {a,b}c y cb, o bien, {a,c}b y
bc.
a o bien a
b c c b
Esto se normaliza en Boyce/Codd como las siguientes dos
relaciones:
c b
R1(c,b) con DF cb, y
R1(a,c) con DF acac a a
c c
o bien
b c
R1(b,c) con DF bc, y
R1(a,b) con DF abab a a
b b
En el siguiente ejemplo, se tiene la restricción que se utiliza un
solo programa por máquina.
PROGRAMADOR
PROGRAMADOR PROGRAMA MAQUINA
JUAN PÉREZ PASCAL ATARI
Pág. 8
Las LLC para la relación programador son:
Programador, Programa
Programador, Máquina
Si se selecciona la primer LLC como LLP, tendremos:
PROGRAMADOR
MAQUINA
PROGRAMA
Entonces
MAQUINA PROGRAMA
PROGRAMADOR MAQUINA
EQUIPO
MAQUINA PROGRAMA
ATARI PASCAL
MAC LENGUAJE C
TRY JAVA
PROGRAMADOR
PROGRAMADOR MAQUINA
JUAN PÉREZ ATARI
JOSÉ CASTRO MAC
RITA ROA ATARI
JUAN PÉREZ MAC
LUIS RUIZ TRY
Pág. 9
Si se selecciona la segunda LLC como LLP, tendremos:
PROGRAMADOR
PROGRAMA
MAQUINA
Entonces
PROGRAMADOR PROGRAMA
PROGRAMA MAQUINA
EQUIPO
PROGRAMA MAQUINA
PASCAL ATARI
LENGUAJE C MAC
JAVA TRY
PROGRAMADOR
PROGRAMADOR PROGRAMA
JUAN PÉREZ PASCAL
JOSÉ CASTRO LENGUAJE C
RITA ROA PASCAL
JUAN PÉREZ LENGUAJE C
LUIS RUIZ JAVA
Cuarta Forma Normal (4FN)
Una relación R está en cuarta forma normal, si y sólo si,
está en FNBC y todas las dependencias multivaluadas en R
son de hecho dependencias funcionales.
Por ejemplo:
b
R(a,b,c) donde existen las DMV ab y ac a
Entonces la normalización en cuarta forma normal nos lleva a
transformar esta relación en otras en que todas las dependencias
multivaluadas sean dependencias funcionales, esto sólo lo
Pág. 10
logramos al descomponerlas en dos o más relaciones, por
ejemplo:
R1(a,b) con DF abab, y
R2(a,c) con DF acac
EMPLEADO
IDEMPLEADO IDIOMA OFICIO
011 ESPAÑOL; INGLES; CARPINTERO; CONTADOR
FRANCES
220 ESPAÑOL; CHINO COCINERO; ESTILISTA; COSMETÓLOGO
En la tabla EMPLEADO se identifica la siguiente dependencia
multivaluada:
idioma
idempleado
oficio
Para normalizarla se descompone en las siguientes tablas:
IDIOMAxEMPLEADO
IDEMPLEADO IDIOMA
011 ESPAÑOL
011 INGLES
011 FRANCES
OFICIOxEMPLEADO
AUTOR OFICIO
220 ESPAÑOL
220 INGLES
220 FRANCES
Las cuales si están en 4FN.
Pág. 11
Beneficios derivados de una base de datos normalizada
Se reducen los problemas asociados con la eliminación de
registros.
Se reducen los problemas asociados con la inserción de registros.
Se reduce el tiempo asociado con modificaciones de los registros.
Permite identificar problemas potenciales que pueden requerir un
análisis adicional.
Técnica de Análisis
El enfoque abordado utiliza la técnica de análisis, por medio de la
cual se genera el esquema normalizado mediante la eliminación
de las causas que impiden la normalización.
Por ejemplo:
R(a,b,c,d,e,f) con las DF a b, b c, cd, a d, ae y af
La dependencia a d se elimina por transitividad, quedando:
R1(a,b,e,f) con las DF a b, a e y a f, es decir, a b, e, f
R2(b,c) con las DF b c
R3(c,d) con las DF c d
Así, las tres relaciones resultantes R1, R2 y R3 están en 4FN.
Pág. 12