Normalización
Base de Datos I
Normalización
• Definición:
La normalización es un proceso en el cual
se va comprobando el cumplimiento de
una serie de reglas, que sirven para
ayudar
eliminar
redundancias
e
inconsistencias en una base de datos.
2
Normalización
1FN
2FN
3FN
BCNF
4FN
5FN
3
Normalización
1FN
4
Normalización
• Formas Normales:
Una tabla está en Primera Forma Normal
(1FN) si sus atributos contienen valores
atómicos.
5
Normalización
• Formas Normales:
Una tabla está en Primera Forma Normal
(1FN) si sus atributos contienen valores
atómicos.
“Una relación en la que la intersección de toda fila
y columna contiene un valor y solo un valor”
6
Normalización
• Ejemplo
#
7
Normalización
• Primera Forma Normal (1FN):
#
#
#
8
Normalización
• Primera Forma Normal (1FN):
#
#
9
Normalización
• Ejercicio: Aplique la primera forma
normal a la siguiente tabla:
1. Persona (#CURP, nombre, edad, fecha de
nacimiento, teléfonos)
2. Cliente
(#Num_cliente,direcciones_de_envio,
saldo, límite de crédito)
10
Dependencias funcionales
Dependencia
funcionalde
dedatos
datos
Dependencia funcional
Describe una relación entre atributos de una
tabla.
Es “Si
decir,
cuando
dos o de
más
tienen
AyB
son atributos
unafilas
tabla,
B seráel mismo
dependiente
de A. Sivalor
cadade
valor
valorfuncionalmente
de A, tienen también
el mismo
B.
de A está asociado con exactamente un valor
de B”
determinante
A
B
dependiente
B depende funcionalmente de A
11
Dependencias funcionales
Dependencia funcional de datos
Ejemplo:
TRABAJADORES
No.
Trabajador
Nombre
Tipo de
empleado
Salario
Sucursal
SL21
Juan
Director
24000
B005
SG37
Ana
Asistente
9000
B003
SG14
David
Supervisor
18000
B003
SA9
María
Asistente
9000
B007
SG5
Susana
Director
24000
B003
SL41
Julia
Asistente
9000
B005
12
Dependencias funcionales
Dependencia funcional de datos
Ejercicio:
LIBROS
Clave
libro
Nombre
libro
Autor
Editorial
Año
1022
Sistemas de bases
de datos
Thomas M.
Addison Wesley
2006
Carolyn E.
Addison Wesley
2006
1022
Sistemas de bases
de datos
2893
Fundamentos de
Bases de datos
Silberschatz.
Mc Graw Hill
2010
2893
Fundamentos de
Bases de datos
Korth.
Mc Graw Hill
2010
2893
Fundamentos de
Bases de datos
Sudarshan.
Mc Graw Hill
2010
13
Dependencias funcionales
Dependencia funcional completa
Indica que si A y B son atributos de una
tabla, B depende funcionalmente de A
pero no de ningún subconjunto de A.
14
Dependencias funcionales
Dependencia funcional completa
Ejemplo 1
Matrícula
Código
curso
Nombre
Apellido
Calificación
1256
34
Pedro
Valiente
9
1256
25
Pedro
Valiente
8
5776
34
Ana
Fernández
6
3491
25
Sara
González
7
3491
34
Sara
González
6
15
Dependencias funcionales
Dependencia funcional transitiva
Se produce cuando tenemos tres conjuntos de
atributos X, Y y Z.
Y depende funcionalmente de X (X→Y),
Z depende funcionalmente de Y (Y→Z).
Además X no depende funcionalmente de Y.
Entonces ocurre que X produce una dependencia
funcional transitiva sobre Z.
Esto se denota como:
(X → Z)
Normalización
1FN
2FN
17
Normalización
Segunda Forma Normal (2FN)
Ocurre si una tabla está en primera forma
normal y además cada atributo que no sea
clave, depende de forma funcional
completa respecto de cualquiera de las
claves.
18
Normalización
Segunda Forma Normal (2FN)
Ejemplo:
Matrícula
Código
curso
Nombre
Apellido
Calificación
1256
34
Pedro
Valiente
9
1256
25
Pedro
Valiente
8
5776
34
Ana
Fernández
6
3491
25
Sara
González
7
3491
34
Sara
González
6
19
Normalización
Segunda Forma Normal (2FN)
Solución:
Matrícula Nombre
Apellido
1256
Pedro
Valiente
5776
Ana
Fernández
3491
Sara
González
Matrícula
Código
curso
Calificación
1256
34
9
1256
25
8
5776
34
6
3491
25
7
3491
34
6
20
Normalización
Segunda Forma Normal (2FN)
Ejercicio:
No.
vendedor
Nombre
vendedor
Numero
cliente
Nombre
Cliente
Valor de venta
1022
Mariana
1840
Melisa
13540
1022
Mariana
1834
Álvaro
10600
1022
Mariana
1856
Victoria
9700
2893
Salvador
1865
Francisco
68400
2893
Salvador
1890
Enrique
34600
2785
Adrian
1864
25000
25000
2785
Adrian
1823
Alma
35008
21
Normalización
1FN
2FN
3FN
22
Normalización
Tercera Forma Normal (3FN)
Ocurre cuando una tabla está en 2FN y
además ningún atributo que no sea clave
depende transitivamente de las claves de
la tabla. Es decir no ocurre cuando algún
atributo depende funcionalmente de
atributos que no son clave.
23
Normalización
Tercera Forma Normal (3FN)
Alumnos
DNI
Nombre
Apellido
Cod. Provincia
Provincia
12121349A
Salvador
Velasco
34
Palencia
12121349B
Pedro
Valiente
34
Palencia
3457775G
Ana
Fernández
47
Valladolid
5674378J
Sara
Crespo
47
Valladolid
3456858S
Marina
Serrat
08
Barcelona
24
Normalización
Tercera Forma Normal (3FN)
Solución:
Alumnos(#DNI, Nombre, Apellido1, Cod_Provincia)
Provincia(#Cod_Provincia, Provincia)
25
Normalización
Tercera Forma Normal (3FN)
Solución:
SOCIO
DNI
Ciudad
País
Edad
1
Oaxaca
México
34
2
Oaxaca
México
25
3
Puebla
México
19
4
Miami
EU
22
5
Miami
EU
30
El campo no principal País depende transitivamente de la clave DNI
(a través del campo Ciudad).
26
Normalización
Ejercicio 1: Normalizar hasta 3FN
27
Normalización
Ejercicio 2: Normalizar hasta 3FN
28
Normalización
Ejercicio 3: Normalizar hasta 3FN
29
Normalización
1FN
2FN
3FN
BCNF
30
Normalización
Forma normal de Boyce-Codd (FNBC)
Con frecuencia existen situaciones en donde la tercera
forma
normal
no
es
capaz
de
responder
adecuadamente en relaciones en las que se dan
algunas de las siguientes condiciones:
(A) Hay varias claves candidatas.
(B) Las claves candidatas son compuestas, y
(C) Hay traslape de los atributos que componen las
claves candidatas(es decir, tienen atributos comunes).
31
Normalización
Forma normal de Boyce-Codd (FNBC)
Debido a que las tres condiciones
anteriores no se dan con frecuencia, en
la mayoría de los casos la tercera forma
normal es suficiente.
32
Normalización
Forma normal de Boyce-Codd (FNBC)
Una relación está en Formal Normal de
Boyce-Codd (BCNF) si y sólo si cada
determinante (en la relación) es una
clave candidata.
33
Normalización
Forma normal de Boyce-Codd (FNBC)
Ejemplo:
TUTORIAS
DNI
Asignatura
Tutor
1
Lenguaje
Eva
1
Matemáticas
Andrés
3
Lenguaje
Eva
2
Matemáticas
Guillermo
2
Lenguaje
Julia
4
Matemáticas
Guillermo
34
Normalización
Forma normal de Boyce-Codd (FNBC)
Solución:
Tutorías(#DNI,#Tutor)
AsignaturasTutor(#Tutor, Asignatura)
35
Normalización
¡Atención!
• Todas las formas normales antes vistas se
basan en las dependencias funcionales
entre los atributos de una relación.
• En general las tres primeras formas
normales son suficientes para cubrirlas
necesidades de la mayoría de las bases
de datos.
36
Normalización
Dependencia multivaluada
Una
dependencia
multivaluada
representa una dependencia entre
atributos( por ejemplo A, B y C) en una
relación de modo que para cada valor de
A hay un conjunto de valores de B y un
conjunto de valores de C; sin embargo,
los conjuntos de valores de B y C son
independientes entre si.
37
Normalización
Dependencia multivaluada
A - >> B
A
A1
A1
A1
A1
B
B1
B2
B1
B2
C
C1
C1
C2
C2
38
Normalización
Dependencia multivaluada
39
Normalización
Dependencia multivaluada
No Curso
Profesor
Material
17
Eva
1
17
Eva
2
17
Julia
1
17
Julia
2
25
Eva
1
25
Eva
2
25
Eva
3
Los materiales del curso dependen del curso y no del profesor en una
dependencia multivaluada (no hay dependencia funcional ya que los
posibles valores son varios). Para el par Nº de curso y profesor podemos
saber los materiales; pero lo sabemos por el curso y no por el profesor. 40
Normalización
1FN
2FN
3FN
BCNF
4FN
41
Normalización
Cuarta Forma Normal(4FN)
Una relación que ésta en forma normal
de
Boyce-Codd
y
no
contiene
dependencias multivaluadas no triviales.
Una dependencia multivaluada A->>B o A->->B
es trivial si B es un subconjunto de A o si A U
B =R
42
Normalización
Cuarta Forma Normal(4FN)
Ejemplo 1:
No Curso
Profesor
Material
17
Eva
1
17
Eva
2
17
Julia
1
17
Julia
2
25
Eva
1
25
Eva
2
25
Eva
3
43
Normalización
Cuarta Forma Normal(4FN)
Ejemplo 1:
No Curso
Profesor
No Curso
Material
17
Eva
17
1
17
Julia
17
2
25
Eva
25
1
25
2
25
3
44
Normalización
Cuarta Forma Normal(4FN)
Ejemplo 2:
Transporte
Conductor Tipo Vehículo
Tipo Carga
Juan
Camioneta
Perecederos
Marcos
Camioneta
Perecederos
Juan
Camioneta
Muebles
Marcos
Camioneta
Muebles
Juan
Camión
Mudanza
Marcos
Camión
Mudanza
En este caso hay dependencias funcionales multivaluadas, ya que algunos atributos
45
que forman la clave dependen de otro atributo que también la forman.
Normalización
Cuarta Forma Normal(4FN)
Ejemplo 2:
Tabla en cuarta forma normal
Tipo Vehículo
Tipo Carga
Camioneta
Perecederos
Camioneta
Camión
Tabla en cuarta forma normal
Conductor
Tipo Vehículo
Juan
Camioneta
Muebles
Marcos
Camioneta
Mudanza
Juan
Camión
Marcos
Camión
46
Normalización
Cuarta Forma Normal(4FN)
Ejercicio 1:
47
Normalización
Normalizar hasta 4FN
Ejercicio 2:
Profesores(nombre, dir, teléfonos,
asignaturas)
48
Normalización
Normalizar hasta 4FN
Ejercicio 2:
Profesores(nombre, dir, teléfonos,
asignaturas)
49
Normalización
1FN
2FN
3FN
BCNF
4FN
5FN
50
Normalización
Dependencia de JOIN o de unión
Una proyección de una tabla es la tabla resultante
de tomar un subconjunto de los atributos de una
tabla (se trata de la operación proyección Π, del
álgebra relacional).Se dice que se tiene una tabla
con dependencia de tipo JOIN si se puede obtener
esa tabla como resultado de combinar (mediante
la operación JOIN del álgebra relacional) varias
proyecciones de la misma.
51
Normalización
Quinta Forma Normal(5FN)
Ocurre cuando está en 4FN y además no
hay proyecciones que combinadas formen
la tabla original. Es la más compleja y
polémica de todas. Polémica pues no está
claro en muchas ocasiones que sea una
solución mejor sacar las proyecciones de la
tabla. Fue definida también Fagin.
52
GRACIAS
Descargar

Click to add title