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 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.
13
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
14
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
16
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.
17
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
18
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
19
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
1890
Enrique
25000
2785
Adrian
1823
Alma
35008
20
Normalización
1FN
2FN
3FN
21
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.
22
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
23
Normalización
Tercera Forma Normal (3FN)
Solución:
Alumnos(#DNI, Nombre, Apellido1, Cod_Provincia)
Provincia(#Cod_Provincia, Provincia)
24
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).
25
Normalización
Ejercicio 1: Normalizar hasta 3FN
_______
_______
26
Normalización
Ejercicio 2: Normalizar hasta 3FN
_______
___________
27
Normalización
1FN
2FN
3FN
BCNF
28
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.
29
Normalización
Una forma sencilla de comprobar si una relación
se encuentra en FNBC consiste en comprobar,
además de que esté en 3FN, lo siguiente:
1. Si no existen claves candidatas compuestas
(con varios atributos), está en FNBC.
2. Si existen varias claves candidatas
compuestas y éstas tienen un elemento
común, no está en FNBC.
30
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
31
Normalización
Forma normal de Boyce-Codd (FNBC)
Solución:
Tutorías(#DNI,#Tutor)
AsignaturasTutor(#Tutor, Asignatura)
32
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.
33
Normalización
Dependencia multivaluada
A - >> B
A
A1
A1
A1
A1
B
B1
B2
B1
B2
C
C1
C1
C2
C2
34
Normalización
Dependencia multivaluada
35
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. 36
Normalización
1FN
2FN
3FN
BCNF
4FN
37
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
38
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
39
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
40
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
41
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
42
Normalización
Cuarta Forma Normal(4FN)
Ejercicio 1:
43
Normalización
1FN
2FN
3FN
BCNF
4FN
5FN
44
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.
45
GRACIAS
Descargar

Click to add title