Dependencias funcionales y

normalización para las bases
de datos relacionales
Teoría de Base de Datos II
Juan Carlos Leonardo
Resumen
1 Lineamientos de diseño informales
1.1Semantica de los atributos de la relación.
1.2Información redundante en la tuplas y anomalías de
actualización.
1.3 Valores nulos en tuplas
1.4 Generación de tuplas falsas
2 Dependencias funcionales
2.1 Definición de un dependencia funcional
2.2 Reglas de inferencia para las dependencias funcionales
2.3 Equivalencias de los conjuntos de dependencias
funcionales
2.4 Conjuntos mínimos de dependencias funcionales
Chap
ter
10-2
Resumen
3 Formas normales basadas en claves primarias
3.1 Normalización de relaciones
3.2 Uso practico de los formas normales
3.3 Definiciones de claves y atributos que participan en las claves
3.4 Primera forma normal
3.5 Segunda forma normal
3.6 Tercera forma normal
4 Definiciones generales de la segunda y tercera
forma normal
5 BCNF (Formal normal de Boyce-Codd)
Chap
ter
10-3
Conceptos Básicos
• Esquema de relación: se compone de un número de atributos
• Esquema de base de datos: se compone de un numero de
esquemas de relación.
• Diseño: Modelo ER, Modelo EER

Chap
ter
10-4
Directrices de diseño informales para los
esquemas de relación
• ¿Qué es el diseño de base de datos relacional?
Es el agrupamiento de atributos para formar “un mejor"
esquema de relación
• Niveles de los esquemas de relación
• El nivel lógico (conceptual)
• El nivel de almacenamiento (relaciones base)
• El diseño se aplica fundamentalmente a las
relaciones base.
• ¿Cuáles son los criterios para obtener mejores
relaciones base?

Chap
ter
10-5
1.1 La semántica de los atributos
Los atributos de un esquema de relación tienen
cierta similitud con el mundo real y una
interpretación propia asociada a ellos. Diseñe un
esquema de relación que sea fácil de explicar su
significado.

Diseñe un esquema que puede ser explicado
fácilmente relación por relación. El significado de
los atributos debe ser fácil de interpretar.
Chap
ter
10-6
1.2 Información redundante en tuplas y
anomalías en la actualización
• Agrupamiento de atributos de múltiples
entidades pueden causar problemas de
redundancia.
• La redundancia causa perdida de espacio de
almacenamiento.
• Problemas con anomalías de actualización:
• Anomalías de inserción
• Anomalías de borrado
• Anomalías de modificación
• Diseñe un esquema de base de datos libre de estos problemas
Chap
ter
10-7
1.3 Valores nulos en tuplas
• Las relaciones debe ser diseñadas tal que sus
tuplas tengan la menor cantidad de valores nulos
• Atributos que son nulos frecuentemente pueden
ser ubicados en relaciones separadas
• Razones para los valores nulos:
• No se aplica a esta tupla
• El valor es desconocido
• El valor es conocido pero no esta disponible
Chap
ter
10-8
1.4 Tuplas falsas
• Malos diseños para una base de datos relacional
pueden resultar en resultados erróneos para
algunas operaciones JOIN

Directriz: Las relaciones deben de ser diseñadas
para satisfacer la condición de reunión no aditiva
que garantiza que ciertas concatenaciones no
producen tuplas falsas.

Chap
ter
10-9
2.1 Dependencias funcionales (DF)
• Es una restricción que se establece entre dos
conjuntos de atributos de la base de datos.
(significados e interrelaciones)
• Son usadas para especificar medidas formales de
diseños relacionales de calidad.
• Dependencias funcionales y claves son usadas
para definir formas normales para las relaciones.

Chap
ter
10-
10
Dependencias funcionales
• Suponga el esquema de base de datos tiene n atributos
A1, A2, …, An.
• Considere la relación universal R = {A1, A2, … , An}
• Una dependencia funcional, 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 de relación r de R
• Para cualesquiera dos tuplas t1 y t2 en cualquier
instancia de relación r(R): Si t1[X]=t2[X], entonces
t1[Y]=t2[Y]

Chap
ter
10-
11
Dependencias funcionales
• X  Y en R especifica una restricción en todas las instancias
de la relación r(R)
• Por ejemplo
• Si X es una clave candidata de R, se cumple que XY para Y
cualquier subconjunto de atributos de R.
Chap
ter
10-
12
Ejemplos
• El numero de identidad determina nombre del
empleado
ID -> NOMBRE
• Numero_proyecto determina el nombre del
projecto y el lugar
PNUMBER -> {PNAME, PLOCATION}
• El numero de identidad y numero de proyecto
determina las horas por semana que el empleado
trabaja en el proyecto.
{ID, PNUMBER} -> HORAS
Chap
ter
10-
13
2.2 Reglas de inferencia para DF
• Dado un conjunto F de DF en F, podemos inferir DF
adicionales que se cumplen.
Reglas de inferencia de Armstrong:
RI1.(Reflexiva) Si Y es subconjunto de X, entonces X -> Y
RI2. (Regla de aumento) Si X -> Y, entonces XZ -> YZ
(Notación: XZ significa X U Z)
RI3. (Transitiva) si X -> Y y Y -> Z, entonces X -> Z
RI4. (Descomposición) si X -> YZ, entonces X -> Y y X -> Z
RI5 (Unión) Si X -> Y y X -> Z, entonces X -> YZ
RI6(Seudotransitiva) Si X -> Y y WY -> Z, entonces WX -> Z


Chap
ter
10-
14
Reglas de inferencias para DF
• La clausura de un conjunto F de DF es el
conjunto F
+
de todas las DF que pueden ser
inferidas de F.
• La clausura de todos los atributos X con respecto
a F es el conjunto X
+
de todos los atributos que
son funcionalmente determinados por X
• X
+
puede ser calculado aplicando
repetitivamente IR1, IR2, IR3 en F
Chap
ter
10-
15
2.3 Equivalencias de conjuntos de
dependencias funcionales
• Dos conjuntos de DF F y G son equivalentes si:
- Cada DF en F puede ser inferida de G y
- cada DF de G puede ser inferida de F
Definición: F cubre G si cada DF en G puede ser
inferida de F
Chap
ter
10-
16
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Ejercicio

Chap
ter
10-
17
C
h
a
p
t
e
r

1
0
-
1
8

3 Formas normales basadas en claves
primarias
3.1 Normalización de relaciones
3.2 Definición de claves y atributos definidos en
claves
3.3 Primera forma normal (1FN)
3.4 Segunda forma normal (2FN)
3.5 Tercera forma normal (3FN)

C
h
a
p
t
e
r

1
0
-
1
9

3.1 Normalización de las relaciones
• Normalización: proceso de descomponer
relaciones deficientes en relaciones mas
pequeñas.
• Forma normal: condición que usa claves y
dependencias funcionales de la relación para
certificar si el esquema de relación este en forma
normal particular.
• Denormalización: el proceso de almacenar la
reunión de relaciones en formas normales
superiores a una relación base.

C
h
a
p
t
e
r

1
0
-
2
0

Normalización of Relaciones (2)
• 1FN, 2NF, 3NF, BCNF basadas en claves y
dependencias funcionales de un esquema de
relación.
C
h
a
p
t
e
r

1
0
-
2
1

3.2 Definiciones de clave y atributos
participantes en claves
• Una superclave de un esquema de relación R = {A
1
,
A
2
, ...., A
n
} es un conjunto de atributos S
subconjunto-de R con la propiedad que no hay dos
tuplas t
1
y t
2
en cualquier estado legal de la relación
r de R tal que t
1
[S] = t
2
[S]

• Una clave K es una superclave con la propiedad
adicional que si se elimina un atributo de K causa
que K no sea una superclave.

C
h
a
p
t
e
r

1
0
-
2
2

Definiciones de clave y atributos participantes
en claves
• Si un esquema de relación tiene mas de una
clave, cada una es una clave candidata. Una de
ellas es la clave primaria y el resto claves
secundarias.
• Un atributo primo es un atributo de alguna clave
candidata. Si no lo es un atributo no primo.
C
h
a
p
t
e
r

1
0
-
2
3

3.3 Primera forma normal
• No permite atributos compuestos, atributos multivaluados y
relaciones anidadas. Solo permite atributos atómicos en la
relación.

Cliente(id_cliente, nombreC, telefonos)


Solución
Cliente(id_cliente, nombreC)
Cliente_tel(id_cliente, teléfono)

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Otro problema
Empleado_proyecto(id_emp, nombreE, numeroP,
horas)


Solución
Empleado(id_emp, nombreE)
Proyecto(id_emp, numeroP, horas)

Chap
ter
10-
24
C
h
a
p
t
e
r

1
0
-
2
5

3.4 Segunda forma normal
Definiciones:
• Dependencia funcional total - una DF Y -> Z es
DFT cuando al eliminar cualquier atributo de Y la
DF no se cumple.
Ejemplos: -

{id_emp, nProy} -> horas es DFT

{id_emp, nProy} -> nombreE no es DFT
C
h
a
p
t
e
r

1
0
-
2
6

Segunda forma normal (2NF)
• Un esquema de relación R esta en 2NF si cada atributo no
primo de A en R es totalmente dependiente de la clave
primaria

Empleado_proyecto( id_emp, numero_proyecto,
horas, nombre_emp,
nombre_proy, ubicación)

Dependencias funcionales
Id_emp, numeroProyecto  horas
Id_emp  nombre_emp
Numero_proyecto  nombre_proy, ubicación
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Solución
Empleado_horas(id_emp, nProyecto, horas)
Empleado(id_emp, nombreE)
Proyecto(nProyecto, nombreProy, ubicacion)


Chap
ter
10-
27
C
h
a
p
t
e
r

1
0
-
2
8

3.5 Tercera forma normal (3FN)
Definición:
• Dependencia funcional transitiva- una DF X -> Z
que puede ser derivada de X -> Y y Y -> Z
• Un esquema de relación R es en 3FN si ningún
atributo no primo A en R es transitivamente
dependiente de la clave primaria.
• Z un atributo no primo, X la clave primaria

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Ejemplo
Emp_dept( id_emp, nombreE,
fechaNac, numDepto,
nombreDepto, jefe_depto)

Dependencias funcionales
Id_emp  nombreE, fechaNac, direccion, numDepto
numDept  nombreDepto, jefe_Depto
Chap
ter10
-29
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Solución

Empleado(id_emp, nombreE, fechaNac,
numDepto)

Depto(numDepto, nombreDepto, jefe_depto)

Chap
ter
10-
30
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Normalice la siguiente tabla
Nro. OC COD. PROV. NOMBRE PROVEEDOR DIRECCION FECHA COD. ART DESC. ART CANT.
536234 54000 Patricio Rodriguez Calle 1 Nro. 23 22/10/98 34-678 Producto A 15
536234 54000 Patricio Rodriguez Calle 1 Nro. 23 22/10/98 34-517 Producto B 145
536234 54000 Patricio Rodriguez Calle 1 Nro. 23 22/10/98 62-567 Producto C 65
536234 54000 Patricio Rodriguez Calle 1 Nro. 23 22/10/98 62-800 Producto D 14
536234 54000 Patricio Rodriguez Calle 1 Nro. 23 22/10/98 90-210 Producto E 208
536235 52300 Francisco Segura Calle 2 Nro. 15 23/10/98 34-678 Producto A 34
536235 52300 Francisco Segura Calle 2 Nro. 15 23/10/98 62-800 Producto D 78
536235 52300 Francisco Segura Calle 2 Nro. 15 23/10/98 90-210 Producto E 52
536235 52300 Francisco Segura Calle 2 Nro. 15 23/10/98 90-310 Producto F 105
536236 52300 Francisco Segura Calle 2 Nro. 15 23/11/98 90-210 Producto E 15
536236 52300 Francisco Segura Calle 2 Nro. 15 23/11/98 90-310 Producto F 87
536237 54000 Patricio Rodriguez Calle 1 Nro. 23 25/11/98 90-210 Producto E 208
Chap
ter
10-
31
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
FNBC: Forma normal Boyce
Codd
• Un esquema de relación R esta en FNBC si siempre que una
dependencia funcional no trivial X  A se cumple en R,
entonces X es una superclave de R


Chap
ter
10-
32
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Ejemplo #1
PatientNo  PatientName
{PatientNo, AppointmentId}  {Time, Doctor}
Time  AppointmentId
Clave primaria = {PatientNo, AppointmentId}
Chap
ter
10-
33
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Ejemplo #2
• {Estudiante, curso}  profesor
• Profesor  curso
Chap
ter
10-
34
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
EJEMPLO #3
Parcelas(id_propiedad, NombreMunicipio, Numero parcela,
área, precio, impuestos)

Dependencias funcionales
1. Id_propiedad  {nombreMunicipio, NumeroParcela, área,
precio, impuestos}
2. {nombreMunicipio, NumeroParcela}  {id_propiedad, área,
precio, impuestos}
3. NombreMunicipio  impuestos
4. Area  Precio
5. Area  nombreMunicipio
Chap
ter
10-
35
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Propiedades de las
descomposiciones relacionales
• Descomposición de una relación e insuficiencia de formas
normales
• Esquema de relación universal R(A1, …, An)
• F el conjunto de dependencias funcionales
• Conjunto de esquemas de relación D = {R1, …, Rm}
• D es la descomposición de R
• Se debe cumplir

• Conservación de atributos

Chap
ter
10-
36
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Propiedades
• Propiedad de conservación de la dependencia de una
descomposición
• Propiedad no aditiva de una descomposición

Chap
ter
10-
37
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Ejercicio #1
Chap
ter
10-
38
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Ejercicio #2
Shipping (ShipName, ShipType, VoyageID, Cargo, Port, Date)

Dependencias funcionales:
ShipName -> ShipType
VoyageID -> ShipName, Cargo
ShipName, Date -> VoyageID, Port

(a) Identifique las claves candidatas
(b) Normalice a 2NF
(c) Normalice a 3NF
(d) Normalice a BCNF
Chap
ter
10-
39