Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Apunte de Normalización
de Base de Datos
Página 1 de 18
Página 2 de 18
Normalización
1° FN (Codd, 1970)
Concepto de relación normalizada.
2° FN (Codd, 1970), FNBC (Boyce/Codd, 1974)
Basadas en análisis de dependencias funcionales.
3° FN (Codd, 1970) y/o FNBC (Boyce/Codd, 1974)
Basadas en análisis de dependencias funcionales.
4° FN. Fagin, 1977
• Basada en análisis de dependencias multivaluadas.
5° FN. Fagin, 1979
Página 3 de 18
Página 4 de 18
AR (Atributos Repetidos)
{b} → {m, t}
Página 5 de 18
DFPC
DFPC
DFANC DFANC
DFPC DFPC
DFANC AR AR
Página 6 de 18
m1 m2
m3
t1 t2 t3 t4
d, g i k
¿Cuáles son los elementos con dependencia funcional entre atributos no claves?
Página 7 de 18
Una tabla/relación está en 1FN, primera formal normal, si el valor de cada atributo no se
puede descomponer, es decir, contiene valores atómicos. En otras palabras, si en la relación cada
intersección de fila-columna contiene un solo valor y no un conjunto de valores repetidos de igual
semántica (significado) en el problema y dominio, porque los atributos toman valores distintos
para el mismo valor de la clave simple/compuesta. Una tabla/relación está en 1FN sino contiene
atributos repetidos.
Existen dos maneras para eliminar los grupos repetitivos:
La primera repite los atributos con un solo valor del grupo repetitivo en distintas
tuplas/filas, y además se debe alterar la clave principal añadiéndole el atributo
repetido. De este modo se introducen redundancias porque se duplican valores, pero
estas redundancias se eliminarán después mediante las restantes formas normales.
La segunda manera de eliminar los grupos repetitivos consiste en poner cada uno de los
valores repetidos en una nueva relación débil, heredando la clave primaria de la
relación en la que se encontraban y concatenándole el atributo múltiple para conformar
una única clave compuesta para esta nueva relación.
Página 8 de 18
1° FN Eliminar Dependencias
Parciales
2° FN Eliminar Dependencias
Transitorias
3° FN
Página 9 de 18
Tabla: TNN
a, b, c, d, e, f, g, h, i, j, k, l, m1, m2, m3, t1, t2, t3, t4
Tabla: TN1FN
a, b, c, d, e, f, g, h, i, j, k, l
Tabla: TM
a, b, m
Tabla: TT
a, b, t
Tabla: TN2FN
a, b, c, e, f, h, j
Tabla: TM
a, b, m
Tabla: TT
a, b, t
Tabla: TA
a, d, g
Tabla: TB
b, i, k, l
Página 10 de 18
Tabla: TN3FN
a, b, c, e, f
Tabla: TM
a, b, m
Tabla: TT
a, b, t
Tabla: TA
a, d, g
Tabla: TB
b, i, k
Tabla: TF
f, h
Tabla: TH
h, j
Tabla: TI
i, l
Esta técnica también se basa en el concepto de dependencia funcional, asegurando que todas
las tablas/relaciones de la base de datos cumplen con le 3FN.
Dependencia: es una restricción de integridad impuesta por el usuario. Se intenta
representar propiedades inherentes del contenido semántico de los datos.
Dependencia Funcional: es una conexión entre uno o más atributos de una relación
determinando una restricción de integridad. Sean X e Y atributos de un mismo conjunto
de entidades (tabla). Se dice qué Y es funcionalmente dependiente de X, y se denota X
→ Y, si para todo posible valor de X se tiene asociado un único valor de Y.
No puede haber más de una tupla con el mismo valor para X y distintos valores para Y. Una
dependencia funcional no puede ser inferida desde el esquema de una relación. Debe ser definida
explícitamente por alguien conocedor de la semántica de los atributos de la relación.
Página 11 de 18
Codido_Postal
barrio, ciudad, cod_postal
DF:
{cod_postal} → { cod_postal, ciudad}
Está en FNBC: No
Está en 3FN: Sí
¿Cómo deshacerse de la redundancia?
La idea es dividir la relación en subesquemas para poder cumplir con todas las propiedades de
la cláusula “F+”.
Se toma un esquema de relación R y se procede a realizar los siguientes pasos:
1. Buscar una dependencia funcional X → Y que viole la FNBC.
2. Descomponer el esquema.
2.1. Un esquema que tenga todos los atributos de R menos los atributos de la
derecha de dependencia funcional (R - Y).
Página 12 de 18
Página 13 de 18
Restaurante Variedad de Pizza Área de envío Restaurante Variedad de pizza Restaurante Área de envío
Kentucky pizzeria Corteza gruesa Palermo Kentucky pizzeria Corteza gruesa Kentucky pizzeria Palermo
Kentucky pizzeria Corteza gruesa Belgrano Kentucky pizzeria Corteza fina Kentucky pizzeria Belgrano
Kentucky pizzeria Corteza fina Palermo Las Cañitas Corteza fina Pizza Tonno Las Cañitas
Kentucky pizzeria Corteza fina Belgrano Las Cañitas Corteza rellena La Continental Vicente Lopez
Pizza Tonno Corteza fina Las Cañitas La Continental Corteza gruesa La Continental Barrio Norte
Pizza Tonno Corteza rellena Las Cañitas La Continental Corteza rellena La Continental Retiro
La Continental Corteza gruesa Vicente Lopez
La Continental Corteza gruesa Barrio Norte
La Continental Corteza gruesa Retiro
La Continental Corteza rellena Vicente Lopez
La Continental Corteza rellena Barrio Norte
La Continental Corteza rellena Retiro
Página 14 de
Cada fila indica que un restaurante dado puede entregar una variedad dada de pizza a un área dada.
Note que debido a que la tabla tiene una clave única y ningún atributo no-clave, no viola ninguna forma normal hasta el BCNF. Pero debido a que las
variedades de pizza que un restaurante ofrece son independientes de las áreas a las cuales el restaurante envía, hay redundancia en la tabla: por
ejemplo, nos dicen tres veces que A1 Pizza ofrece la Corteza rellena, y si A1 Pizza comienza a producir pizzas de Corteza de queso entonces
necesitaremos agregar múltiples registros, uno para cada una de las Áreas de envío de A1 Pizza. En términos formales, esto se describe como que
Variedad de pizza está teniendo una dependencia multivalor en Restaurante.
Para satisfacer la 4NF, debemos poner los hechos sobre las variedades de pizza ofrecidas en una tabla diferente de los hechos sobre áreas de envío.
En contraste, si las variedades de pizza ofrecidas por un restaurante a veces variaran de un área de envío a otra, la tabla original de las tres
columnas satisfaría la 4NF.
Ronald Fagin demostró que es siempre posible alcanzar la 4NF (pero no siempre deseable). El teorema de Rissanen es también aplicable en
dependencias multivalor.
Cuando una relación se descompone en más de dos relaciones porque no se pueda encontrar una descomposición sin pérdidas en
dos proyecciones, se debe cumplir con un requisito para que la descomposición sea sin pérdidas y toda dependencia de reunión debe
ser consecuencia de las claves candidatas.
Página 15 de
Página 16 de
Note como esta disposición ayuda a quitar redundancia. Suponga que el Dr. James se convierte en un proveedor de
tratamientos para Friendly Care. En la disposición anterior tendríamos que agregar dos nuevas entradas puesto que el Dr.
James puede tratar dos condiciones cubiertas por Friendly Care: ansiedad y depresión. Con la nueva disposición necesitamos
agregar una sola entrada (en la tabla Psiquiatra-para-Asegurador).
Página 17 de
eliminar determinante
4° Paso: de las dependencias
multivaluadas
Relaciones en forma normal (4FN)
Página 18 de 18