SlideShare a Scribd company logo
1 of 59
Download to read offline
Normalización
Tecnólogo en Informática, sede Paysandú
Bases de Datos 1
Tecnólogo en Informática, Bases de Datos 1 2
Normalización
Temario
Introducción
Conceptos relacionados
Formas Normales
– 1NF
– 2NF
– 3NF
– BCNF
Algoritmos de diseño
Referencias:
– Fundamentals of Database Systems [E-N], 5ta. Edición, Caps. 10, 11
Tecnólogo en Informática, Bases de Datos 1 3
En el proceso de normalización se somete un esquema relación (ER) a una serie de
pruebas para “certificar” si pertenece o no a una cierta forma normal.
Puede considerarse como un proceso durante el cual los ER insatisfactorios se
descomponen repartiendo sus atributos entre ERs más pequeños que poseen
propiedades deseables.
Normalización
Introducción
Tecnólogo en Informática, Bases de Datos 1 4
Las formas normales, sin considerar otros factores, no garantizan un buen diseño de
BD.
Propiedades adicionales:
– Join sin pérdida: no se presentará el problema de las tuplas falsas
– Preservación de dependencias: todas las dfs están representadas en alguna
relación
Normalización
Introducción
Tecnólogo en Informática, Bases de Datos 1 5
Superclave
– Una superclave de R={A1, …, An} es un conjunto de atributos S ⊆ R tal que no
existen dos tuplas t1 y t2 en ningún r tal que t1[S]=t2[S].
Clave
– Una clave K es una superclave que cumple que, si se le quita alguno de sus
atributos de K, deja de ser superclave.
Normalización
Superclave y clave
Tecnólogo en Informática, Bases de Datos 1 6
Clave candidata, clave primaria
– Si una relación tiene más de una clave, cada una es una clave candidata. Una de
ellas es arbitrariamente designada como clave primaria. El resto son
secundarias.
Normalización
Clave candidata
Claves
candidatas
Clave
primaria
Clave
secundaria
Tecnólogo en Informática, Bases de Datos 1 7
Primera Forma Normal (1NF)
Segunda Forma Normal (2NF)
Tercera Forma Normal (3NF)
Forma Normal Boyce-Codd (BCNF)
Normalización
Formas Normales
Tecnólogo en Informática, Bases de Datos 1 8
Definición
– Los dominios de los atributos deben incluir solo valores atómicos (los atributos
no pueden ser multivaluados ni compuestos)
Normalización
Primera Forma Normal (1NF)
Tecnólogo en Informática, Bases de Datos 1 9
Normalización
Primera Forma Normal (1NF)
Tecnólogo en Informática, Bases de Datos 1 10
Atributo Primo
– Un atributo del ER R es primo si es miembro de alguna clave de R.
Normalización
Definiciones
Tecnólogo en Informática, Bases de Datos 1 11
Dependencia total
– X→Y es una df total si la eliminación de cualquier atributo A de X hace que la df
deje de ser válida (no tiene atributos redundantes a la izq.)
Dependencia parcial
– X→Y es una df parcial si es posible eliminar un atributo A de X, y la df sigue
siendo válida.
Normalización
Definiciones
Tecnólogo en Informática, Bases de Datos 1 12
Definición
– Un ER R está en 2NF si ningún atributo no primo A de R depende
parcialmente de cualquier clave de R.
Normalización
Segunda Forma Normal (2NF)
Tecnólogo en Informática, Bases de Datos 1 13
Ejemplo:
– Empleado (empleado, habilidad, lugar_trabajo)
– F = {empleado, habilidad→lugar_trabajo,
empleado→lugar_trabajo}
Normalización
Segunda Forma Normal (2NF)
Tecnólogo en Informática, Bases de Datos 1 14
Ejemplo:
– Empleado (empleado, habilidad, lugar_trabajo)
– F = {empleado, habilidad→lugar_trabajo,
empleado→lugar_trabajo}
Normalización
Segunda Forma Normal (2NF)
lugar_trabajo es no primo y parcialmente
dependiente de una clave de Empleado
Tecnólogo en Informática, Bases de Datos 1 15
El atributo no primo NombreE viola 2NF, por la DF2
Los atributos no primos NombreProyecto y UbicaciónProyecto violan 2NF, por la
DF3
Normalización
Segunda Forma Normal (2NF)
Son parcialmente dependientes
de una clave de EMP_PROY
Tecnólogo en Informática, Bases de Datos 1 16
Normalización
Segunda Forma Normal (2NF)
Los atributos no primos sólo están asociados
con la parte de la clave principal de la que
son completa y funcionalmente dependientes.
Tecnólogo en Informática, Bases de Datos 1 17
Dependencia transitiva
– X→Y en un ER R es una df transitiva si existe un conjunto de atributos Z que no
sea un subconjunto de una clave de R, y se cumplen tanto X→Z como Z→Y.
Normalización
Definiciones
Tecnólogo en Informática, Bases de Datos 1 18
Definición:
– Un ER R está en 3NF si está en 2NF y ningún atributo no primo de R depende
transitivamente de una clave de R.
– Un ER R está en 3NF si, siempre que una df X→A se cumple en R, o bien:
a) X es una superclave de R, o
b) A es un atributo primo de R.
Normalización
Tercera Forma Normal (3NF)
Tecnólogo en Informática, Bases de Datos 1 19
Normalización
Tercera Forma Normal (3NF)
No está en 3NF:
debido a la dependencia transitiva de
DniDirector (y también de NombreDpto)
en Dni a través de NúmeroDpto
Está en 2NF:
ya que no existen dependencias
parciales en una clave
Según la primer definición:
Tecnólogo en Informática, Bases de Datos 1 20
Normalización
Tercera Forma Normal (3NF)
DF2 no está en 3NF:
Los atributos a la derecha de la dependencia
no son primos, ni tampoco NúmeroDpto
es superclave en EMP_DEPT
DF1 está en 3NF:
El atributo a la izquierda de la
dependencia (Dni) es superclave
Según la segunda definición:
Tecnólogo en Informática, Bases de Datos 1 21
Normalización
Tercera Forma Normal (3NF)
Tecnólogo en Informática, Bases de Datos 1 22
Normalización
Tercera Forma Normal (3NF)
1NF
Tecnólogo en Informática, Bases de Datos 1 23
Normalización
Tercera Forma Normal (3NF)
2NF
1NF
Tecnólogo en Informática, Bases de Datos 1 24
Normalización
Tercera Forma Normal (3NF)
2NF
3NF
Tecnólogo en Informática, Bases de Datos 1 25
Definición:
– Un ER R está en BCNF si, siempre que una df X→A se cumple en R, entonces X
es una superclave de R.
– Observar que, a diferencia de 3NF, en BCNF no importa si A es un atributo
primo (condición b).
Normalización
Forma Normal Boyce-Codd (BCNF)
Tecnólogo en Informática, Bases de Datos 1 26
Ejemplo:
– Sea R(nombre, teléfono, afición, dirección)
– F={nombre, teléfono, afición→dirección
dirección→teléfono}
Normalización
Forma Normal Boyce-Codd (BCNF)
Tecnólogo en Informática, Bases de Datos 1 27
Ejemplo:
– Sea R(nombre, teléfono, afición, dirección)
– F={nombre, teléfono, afición→dirección
dirección→teléfono}
Normalización
Forma Normal Boyce-Codd (BCNF)
Viola BCNF porque dirección no es superclave en R
Tecnólogo en Informática, Bases de Datos 1 28
Normalización
Forma Normal Boyce-Codd (BCNF)
FD5 satisface 3NF en PARCELAS1A
porque NombreMunicipio es
atributo primo (condición b)
FD5 viola BCNF porque Área
no es superclave
Tecnólogo en Informática, Bases de Datos 1 29
Normalización
Formas Normales
1NF
2NF
3NF
BCNF
Tecnólogo en Informática, Bases de Datos 1 30
Algoritmos de diseño
Tecnólogo en Informática, Bases de Datos 1 31
Normalización
Algoritmos de diseño
Descomposición de relaciones
Preservación de dependencias
Descomposición en 3NF con preservación de dfs
Join sin pérdida (JSP)
– Propiedad
– Test de join sin pérdida
Descomposición en BCNF con JSP
Descomposición en 3NF con JSP y preservación de dfs
Problemas con valores nulos y tuplas colgantes
Tecnólogo en Informática, Bases de Datos 1 32
Normalización
Descomposición de relaciones
Esquema relación universal R
– R=(A1, A2, ..., An), que contiene todos los atributos de la BD.
Descomposición de R (D)
– D=(R1, R2, ..., Rm), que se obtiene mediante los algoritmos que realizan la
descomposición utilizando las dependencias funcionales.
– Se debe verificar: ∪i=1..m Ri = R
Tecnólogo en Informática, Bases de Datos 1 33
Normalización
Preservación de dependencias
Proyección de un conjunto de dfs sobre un Esquema de Relación
– Dado un conjunto de dfs F sobre R, la proyección de F sobre Ri, ΠRi(F), donde
Ri es un subconjunto de R, es el conjunto de dfs X→Y en F+ tal que los atributos
en X→Y estén todos contenidos en Ri.
Ri
R (ER)
ΠRi
(F)
F (dfs)
subconjunto
atributos
contenidos
Tecnólogo en Informática, Bases de Datos 1 34
Normalización
Preservación de dependencias
Preservación de dependencias
– Una descomposición D=(R1, R2, ..., Rm) de R preserva las dependencias
respecto a F si se cumple:
( (ΠR1(F)) ∪ ... ∪ (ΠRm(F)) )+ = F+
– La unión de las proyecciones de F en cada Ri en D, es equivalente a F
R=(A1, A2, ..., An)
ΠRm
(F)
F (dfs)
descomposición
ΠR1
(F) ΠR2
(F)
R1 R2 Rm
D
Tecnólogo en Informática, Bases de Datos 1 35
Normalización
Descomposición en 3NF con pres. de dfs
Algoritmo:
1. Encontrar un cubrimiento minimal G para F
2. Para cada miembro izq. X de una df que aparezca en G,
crear un ER {X ∪ A1 ∪ A2 ∪ ... ∪ Am} en D, donde X→A1, X→A2, ... ,
X→Am sean las únicas dfs en G con X como miembro izquierdo (X es la
clave de esta relación)
3. Colocar cualquier atributo restante en un solo ER para asegurar la propiedad de
preservación de dependencias
Tecnólogo en Informática, Bases de Datos 1 36
Normalización
Descomposición en 3NF con pres. de dfs
Ejemplo:
– Se tiene la relación universal U:
U (DniEmpleado, NumProy, SalarioEmpleado, TlfEmpleado, NúmeroDpto, NombreProy,
UbicaciónProy)
– Y las dependencias funcionales:
DF1: DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto
DF2: NumProy→NombreProy, UbicaciónProy
DF3: DniEmpleado, NumProy→SalarioEmpleado, TlfEmpleado, NúmeroDpto,
NombreProy, Ubicación Proy
Tecnólogo en Informática, Bases de Datos 1 37
Normalización
Descomposición en 3NF con pres. de dfs
Paso 1: cubrimiento minimal
G: {DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto;
NumProy→NombreProy, UbicaciónProy}
Paso 2: crear ERs
R1 (DniEmpleado, SalarioEmpleado, TlfEmpleado, NúmeroDpto)
R2 (NumProy, NombreProy, UbicaciónProy)
Tecnólogo en Informática, Bases de Datos 1 38
Normalización
Descomposición en 3NF con pres. de dfs
Paso 1: cubrimiento minimal
G: {DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto;
NumProy→NombreProy, UbicaciónProy}
Paso 2: crear ERs
R1 (DniEmpleado, SalarioEmpleado, TlfEmpleado, NúmeroDpto)
R2 (NumProy, NombreProy, UbicaciónProy)
Atributos en común?
R1 ∩ R2 = Ø
Tecnólogo en Informática, Bases de Datos 1 39
Normalización
Join sin pérdida (JSP)
Definición:
– Una descomposición D=(R1, R2, ..., Rm) de R tiene la propiedad de JSP
respecto al conjunto de dfs F sobre R, si por cada instancia de relación r de R
que satisfaga F, se cumple lo siguiente:
join ( ΠR1(r), ..., ΠRm(r) ) = r
– JSP garantiza que no se generarán tuplas falsas cuando se aplica un join a las
relaciones de la descomposición.
Tecnólogo en Informática, Bases de Datos 1 40
Normalización
Join sin pérdida (JSP)
Propiedad: Comprobación de JSP para descomposiciones binarias (dos ERs)
– D = (R1, R2) de R tiene JSP respecto a F sobre R si
● la df (R1 ∩ R2)→(R1 - R2) está en F+
● ó, la df (R1 ∩ R2)→(R2 - R1) está en F+
Tecnólogo en Informática, Bases de Datos 1 41
Normalización
Join sin pérdida (JSP)
Algoritmo: Comprobación de JSP para descomposiciones
1. Crear una matriz S con una fila i por cada relación Ri en la descomposición D, y una
columna j por cada atributo Aj en R;
2. Hacer S(i,j) := bij para todas las entradas de la matriz;
3. Para cada fila i que represente el ER Ri
para cada columna j que represente el atributo Aj
si Ri incluye a Aj entonces hacer S(i,j) := aj
4. Repetir hasta que una ejecución no modifique S
para cada df X→Y en F
igualar los símbolos en los atributos de Y para aquellas filas que
coinciden en los atributos de X;
5. Si una fila tiene todos símbolos “a”, la descomposición tiene JSP, en caso contrario, no lo es
Tecnólogo en Informática, Bases de Datos 1 42
Normalización
Join sin pérdida (JSP)
Tecnólogo en Informática, Bases de Datos 1 43
Normalización
Join sin pérdida (JSP)
La descomposición no tiene JSP respecto a F
Tecnólogo en Informática, Bases de Datos 1 44
Normalización
Join sin pérdida (JSP)
Tecnólogo en Informática, Bases de Datos 1 45
Normalización
Join sin pérdida (JSP)
Tecnólogo en Informática, Bases de Datos 1 46
Normalización
Join sin pérdida (JSP)
La descomposición
tiene JSP
Tecnólogo en Informática, Bases de Datos 1 47
Normalización
Descomposición en BCNF con JSP
Algoritmo:
1. Establecer D:={ R };
2. Mientras haya un ER Q en D que no esté en BCNF hacer
{
elegir un ER Q en D que no esté en BCNF;
localizar una df X→Y en Q que viole BCNF;
reemplazar Q en D con dos esquemas (Q - Y) y (X ∪ Y);
};
Tecnólogo en Informática, Bases de Datos 1 48
Normalización
Descomposición en BCNF con JSP
Ejemplo:
– Sea R(nombre, teléfono, afición, dirección)
– F={nombre, teléfono, afición→dirección
dirección→teléfono}
– D = { R1(nombre, afición, dirección), R2(dirección, teléfono) }
Viola BCNF porque dirección no es superclave de R
Tecnólogo en Informática, Bases de Datos 1 49
Normalización
Descomposición en BCNF con JSP
Tecnólogo en Informática, Bases de Datos 1 50
Normalización
Descomposición en BCNF con JSP
FD5 viola BCNF porque
Área no es superclave
de PARCELAS1A
Se pierde FD2
Tecnólogo en Informática, Bases de Datos 1 51
Normalización
Descomposición en 3NF con JSP y pres. de dfs
Si queremos que una descomposición tenga la propiedad de join sin pérdida y que
conserve las dependencias, tenemos que ajustar los esquemas de relación a 3FN en
lugar de a BCNF
Se modifica el algoritmo de 3NF con pres. de dfs, para lograr una descomposición
que cumpla:
– Preservación de dependencias
– Tener join sin pérdida (JSP)
– Que cada ER resultante de la descomposición esté en 3NF
Tecnólogo en Informática, Bases de Datos 1 52
Normalización
Descomposición en 3NF con JSP y pres. de dfs
Algoritmo:
1. Encontrar un cubrimiento minimal G para F
2. Para cada miembro izq. X de una df que aparezca en G,
crear un ER {X ∪ A1 ∪ A2 ∪ ... ∪ Am} en D, donde X→A1, X→A2, ... , X→Am
sean las únicas dfs en G con X como miembro izquierdo (X es la clave de esta
relación)
3. Si ninguno de los esquemas de relación en D contienen una clave de R, crear un ER
más en D que contenga los atributos que forman una clave de R
4. Eliminar las relaciones redundantes del conjunto de relaciones resultante. Una relación
R se considera como redundante si es una proyección de otra relación S en el esquema;
alternativamente, R está abarcada por S.
Tecnólogo en Informática, Bases de Datos 1 53
Normalización
Descomposición en 3NF con JSP y pres. de dfs
Ejemplo 1:
– U (DniEmpleado, NumProy, SalarioEmpleado, TlfEmpleado, NúmeroDpto, NombreProy,
UbicaciónProy)
– DF1: DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto
– DF2: NumProy→NombreProy, Ubicación Proy
– DF3: DniEmpleado, NumProy→SalarioEmpleado, TlfEmpleado, NúmeroDpto,
NombreProy, Ubicación Proy
Tecnólogo en Informática, Bases de Datos 1 54
Normalización
Descomposición en 3NF con JSP y pres. de dfs
U (DniEmpleado, NumProy, SalarioEmpleado, TlfEmpleado, NúmeroDpto, NombreProy,
UbicaciónProy)
Paso 1: cubrimiento minimal
– G: {DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto;
NumProy→NombreProy, UbicaciónProy}
Paso 2: crear ERs
– R1 (DniEmpleado, SalarioEmpleado, TlfEmpleado, NúmeroDpto)
– R2 (NumProy, NombreProy, Ubicación Proy)
Paso 3: crear ERs con clave
– R3 (DniEmpleado, NumProy)
Tecnólogo en Informática, Bases de Datos 1 55
Normalización
Determinación de claves
Se deben buscar 3 grupos de atributos:
– Los que aparecen sólo a la derecha → No forman parte de ninguna clave
● No me permiten determinar a ningún otro atributo
– Los que no aparecen a la derecha → Seguro forman parte de todas las claves
● No puedo determinar su valor a partir de otro atributo
● Si un atributo no figura en las dfs, pero sí está en el ER, va en este conjunto
– Los que aparecen a la izquierda y derecha → Tal vez formen parte de una clave
● Debo verificar si forman parte o no
Tecnólogo en Informática, Bases de Datos 1 56
Normalización
Determinación de claves
Ejemplo:
– R(A, B, C, D, E, G)
– F = { AB→C, D→E, C→D, EA→B}
Entonces:
– Sólo a la der. = { } → no estarán en ninguna clave
– Nunca a la der. = {A, G} → estarán en todas las claves
– A la izq. y der. = {B, C, D, E} → tal vez estén en alguna clave
{AG}+ = {A, G} → no es clave
{GAB}+ = {G, A, B, C, D, E} → es clave
{GAC}+ = {G, A, C, D, E, B} → es clave
{GAD}+ = {G, A, D, E, B, C} → es clave
{GAE}+ = {G, A, E, B, C, D} → es clave
Tecnólogo en Informática, Bases de Datos 1 57
Normalización
Verificar preservación de dfs
Algoritmo: Para toda df X→Y en el conjunto de dfs hacer:
1. Si todos los atributos de df pertenecen a una de las relaciones Ri, esa dependencia se
conserva trivialmente.
2. Si no pasa lo anterior, verificar si df se conserva mediante el siguiente método:
Z := X
Repetir
Para cada relación Ri:
Z := Z U ((Z∩Ri)+ ∩Ri)
Hasta que Z no cambie luego de una iteración o hasta que Z incluya a Y.
→ Si Z incluye a Y, la dependencia se conserva.
Tecnólogo en Informática, Bases de Datos 1 58
Normalización
Verificar preservación de dfs
Ejemplo:
– R1=(A, B, C, D), R2=(A, E, F)
– FD1: {A→BD, B→CD, AC→E}
Paso 1: ver dfs triviales
– A→BD y B→CD se preservan trivialmente en R1, ya sus los atributos están incluidos
Paso 2: verifico las dfs restantes (AC→E)
– Para cada relación Ri: Z := Z U ((Z∩Ri)+ ∩Ri)
La descomposición, preserva las dependencias?
Para R1:
● Z = AC ∪ ((AC ∩ ABCD)+ ∩ ABCD)
● Z = AC ∪ ( AC+ ∩ ABCD)
● Z = AC ∪ ( ACEBD ∩ ABCD)
● Z = AC U ABCD = ABCD
Z no incluye a E
Tecnólogo en Informática, Bases de Datos 1 59
Normalización
Verificar preservación de dfs
Ejemplo:
– R1=(A, B, C, D), R2=(A, E, F)
– FD1: {A→BD, B→CD, AC→E}
Paso 1: ver dfs triviales
– A→BD y B→CD se preservan trivialmente en R1, ya sus los atributos están incluidos
Paso 2: verifico las dfs restantes (AC→E)
– Para cada relación Ri: Z := Z U ((Z∩Ri)+ ∩Ri)
Para R1:
● Z = AC ∪ ((AC ∩ ABCD)+ ∩ ABCD)
● Z = AC ∪ ( AC+ ∩ ABCD)
● Z = AC ∪ ( ACEBD ∩ ABCD)
● Z = AC U ABCD = ABCD
Para R2:
● Z = ABCD ∪ ((ABCD ∩ AEF)+ ∩ AEF)
● Z = ABCD ∪ ( A+ ∩ AEF)
● Z = ABCD ∪ ( ABDCE ∩ AEF)
● Z = ABCD ∪ AE = ABCDE
Z incluye a E → se preservan las dfs
Z en R1

More Related Content

Similar to Introduccion bd

Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacionaljorge220395
 
Unidad iv base de datos
Unidad iv base de datosUnidad iv base de datos
Unidad iv base de datosValadu Rojas
 
Formas normales
Formas normalesFormas normales
Formas normalesrivero_top
 
Fundamentos de una Base de Datos
Fundamentos de una Base de DatosFundamentos de una Base de Datos
Fundamentos de una Base de DatosAngie Cardozo
 
Fundamentos de Sistemas de Base de Datos (Capítulo 11 y 12)
Fundamentos de Sistemas de Base de Datos (Capítulo 11 y 12)Fundamentos de Sistemas de Base de Datos (Capítulo 11 y 12)
Fundamentos de Sistemas de Base de Datos (Capítulo 11 y 12)Karina Lucio
 
Base de datos
Base de datosBase de datos
Base de datosmarcia666
 
Calculo relacional diapositivas
Calculo relacional diapositivasCalculo relacional diapositivas
Calculo relacional diapositivaslelyydrogo
 

Similar to Introduccion bd (10)

Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
Actividad 9
Actividad 9Actividad 9
Actividad 9
 
Unidad iv base de datos
Unidad iv base de datosUnidad iv base de datos
Unidad iv base de datos
 
Formas normales
Formas normalesFormas normales
Formas normales
 
Normalizacion de la bd
Normalizacion de la bdNormalizacion de la bd
Normalizacion de la bd
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Fundamentos de una Base de Datos
Fundamentos de una Base de DatosFundamentos de una Base de Datos
Fundamentos de una Base de Datos
 
Fundamentos de Sistemas de Base de Datos (Capítulo 11 y 12)
Fundamentos de Sistemas de Base de Datos (Capítulo 11 y 12)Fundamentos de Sistemas de Base de Datos (Capítulo 11 y 12)
Fundamentos de Sistemas de Base de Datos (Capítulo 11 y 12)
 
Base de datos
Base de datosBase de datos
Base de datos
 
Calculo relacional diapositivas
Calculo relacional diapositivasCalculo relacional diapositivas
Calculo relacional diapositivas
 

Recently uploaded

Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 

Recently uploaded (20)

Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 

Introduccion bd

  • 1. Normalización Tecnólogo en Informática, sede Paysandú Bases de Datos 1
  • 2. Tecnólogo en Informática, Bases de Datos 1 2 Normalización Temario Introducción Conceptos relacionados Formas Normales – 1NF – 2NF – 3NF – BCNF Algoritmos de diseño Referencias: – Fundamentals of Database Systems [E-N], 5ta. Edición, Caps. 10, 11
  • 3. Tecnólogo en Informática, Bases de Datos 1 3 En el proceso de normalización se somete un esquema relación (ER) a una serie de pruebas para “certificar” si pertenece o no a una cierta forma normal. Puede considerarse como un proceso durante el cual los ER insatisfactorios se descomponen repartiendo sus atributos entre ERs más pequeños que poseen propiedades deseables. Normalización Introducción
  • 4. Tecnólogo en Informática, Bases de Datos 1 4 Las formas normales, sin considerar otros factores, no garantizan un buen diseño de BD. Propiedades adicionales: – Join sin pérdida: no se presentará el problema de las tuplas falsas – Preservación de dependencias: todas las dfs están representadas en alguna relación Normalización Introducción
  • 5. Tecnólogo en Informática, Bases de Datos 1 5 Superclave – Una superclave de R={A1, …, An} es un conjunto de atributos S ⊆ R tal que no existen dos tuplas t1 y t2 en ningún r tal que t1[S]=t2[S]. Clave – Una clave K es una superclave que cumple que, si se le quita alguno de sus atributos de K, deja de ser superclave. Normalización Superclave y clave
  • 6. Tecnólogo en Informática, Bases de Datos 1 6 Clave candidata, clave primaria – Si una relación tiene más de una clave, cada una es una clave candidata. Una de ellas es arbitrariamente designada como clave primaria. El resto son secundarias. Normalización Clave candidata Claves candidatas Clave primaria Clave secundaria
  • 7. Tecnólogo en Informática, Bases de Datos 1 7 Primera Forma Normal (1NF) Segunda Forma Normal (2NF) Tercera Forma Normal (3NF) Forma Normal Boyce-Codd (BCNF) Normalización Formas Normales
  • 8. Tecnólogo en Informática, Bases de Datos 1 8 Definición – Los dominios de los atributos deben incluir solo valores atómicos (los atributos no pueden ser multivaluados ni compuestos) Normalización Primera Forma Normal (1NF)
  • 9. Tecnólogo en Informática, Bases de Datos 1 9 Normalización Primera Forma Normal (1NF)
  • 10. Tecnólogo en Informática, Bases de Datos 1 10 Atributo Primo – Un atributo del ER R es primo si es miembro de alguna clave de R. Normalización Definiciones
  • 11. Tecnólogo en Informática, Bases de Datos 1 11 Dependencia total – X→Y es una df total si la eliminación de cualquier atributo A de X hace que la df deje de ser válida (no tiene atributos redundantes a la izq.) Dependencia parcial – X→Y es una df parcial si es posible eliminar un atributo A de X, y la df sigue siendo válida. Normalización Definiciones
  • 12. Tecnólogo en Informática, Bases de Datos 1 12 Definición – Un ER R está en 2NF si ningún atributo no primo A de R depende parcialmente de cualquier clave de R. Normalización Segunda Forma Normal (2NF)
  • 13. Tecnólogo en Informática, Bases de Datos 1 13 Ejemplo: – Empleado (empleado, habilidad, lugar_trabajo) – F = {empleado, habilidad→lugar_trabajo, empleado→lugar_trabajo} Normalización Segunda Forma Normal (2NF)
  • 14. Tecnólogo en Informática, Bases de Datos 1 14 Ejemplo: – Empleado (empleado, habilidad, lugar_trabajo) – F = {empleado, habilidad→lugar_trabajo, empleado→lugar_trabajo} Normalización Segunda Forma Normal (2NF) lugar_trabajo es no primo y parcialmente dependiente de una clave de Empleado
  • 15. Tecnólogo en Informática, Bases de Datos 1 15 El atributo no primo NombreE viola 2NF, por la DF2 Los atributos no primos NombreProyecto y UbicaciónProyecto violan 2NF, por la DF3 Normalización Segunda Forma Normal (2NF) Son parcialmente dependientes de una clave de EMP_PROY
  • 16. Tecnólogo en Informática, Bases de Datos 1 16 Normalización Segunda Forma Normal (2NF) Los atributos no primos sólo están asociados con la parte de la clave principal de la que son completa y funcionalmente dependientes.
  • 17. Tecnólogo en Informática, Bases de Datos 1 17 Dependencia transitiva – X→Y en un ER R es una df transitiva si existe un conjunto de atributos Z que no sea un subconjunto de una clave de R, y se cumplen tanto X→Z como Z→Y. Normalización Definiciones
  • 18. Tecnólogo en Informática, Bases de Datos 1 18 Definición: – Un ER R está en 3NF si está en 2NF y ningún atributo no primo de R depende transitivamente de una clave de R. – Un ER R está en 3NF si, siempre que una df X→A se cumple en R, o bien: a) X es una superclave de R, o b) A es un atributo primo de R. Normalización Tercera Forma Normal (3NF)
  • 19. Tecnólogo en Informática, Bases de Datos 1 19 Normalización Tercera Forma Normal (3NF) No está en 3NF: debido a la dependencia transitiva de DniDirector (y también de NombreDpto) en Dni a través de NúmeroDpto Está en 2NF: ya que no existen dependencias parciales en una clave Según la primer definición:
  • 20. Tecnólogo en Informática, Bases de Datos 1 20 Normalización Tercera Forma Normal (3NF) DF2 no está en 3NF: Los atributos a la derecha de la dependencia no son primos, ni tampoco NúmeroDpto es superclave en EMP_DEPT DF1 está en 3NF: El atributo a la izquierda de la dependencia (Dni) es superclave Según la segunda definición:
  • 21. Tecnólogo en Informática, Bases de Datos 1 21 Normalización Tercera Forma Normal (3NF)
  • 22. Tecnólogo en Informática, Bases de Datos 1 22 Normalización Tercera Forma Normal (3NF) 1NF
  • 23. Tecnólogo en Informática, Bases de Datos 1 23 Normalización Tercera Forma Normal (3NF) 2NF 1NF
  • 24. Tecnólogo en Informática, Bases de Datos 1 24 Normalización Tercera Forma Normal (3NF) 2NF 3NF
  • 25. Tecnólogo en Informática, Bases de Datos 1 25 Definición: – Un ER R está en BCNF si, siempre que una df X→A se cumple en R, entonces X es una superclave de R. – Observar que, a diferencia de 3NF, en BCNF no importa si A es un atributo primo (condición b). Normalización Forma Normal Boyce-Codd (BCNF)
  • 26. Tecnólogo en Informática, Bases de Datos 1 26 Ejemplo: – Sea R(nombre, teléfono, afición, dirección) – F={nombre, teléfono, afición→dirección dirección→teléfono} Normalización Forma Normal Boyce-Codd (BCNF)
  • 27. Tecnólogo en Informática, Bases de Datos 1 27 Ejemplo: – Sea R(nombre, teléfono, afición, dirección) – F={nombre, teléfono, afición→dirección dirección→teléfono} Normalización Forma Normal Boyce-Codd (BCNF) Viola BCNF porque dirección no es superclave en R
  • 28. Tecnólogo en Informática, Bases de Datos 1 28 Normalización Forma Normal Boyce-Codd (BCNF) FD5 satisface 3NF en PARCELAS1A porque NombreMunicipio es atributo primo (condición b) FD5 viola BCNF porque Área no es superclave
  • 29. Tecnólogo en Informática, Bases de Datos 1 29 Normalización Formas Normales 1NF 2NF 3NF BCNF
  • 30. Tecnólogo en Informática, Bases de Datos 1 30 Algoritmos de diseño
  • 31. Tecnólogo en Informática, Bases de Datos 1 31 Normalización Algoritmos de diseño Descomposición de relaciones Preservación de dependencias Descomposición en 3NF con preservación de dfs Join sin pérdida (JSP) – Propiedad – Test de join sin pérdida Descomposición en BCNF con JSP Descomposición en 3NF con JSP y preservación de dfs Problemas con valores nulos y tuplas colgantes
  • 32. Tecnólogo en Informática, Bases de Datos 1 32 Normalización Descomposición de relaciones Esquema relación universal R – R=(A1, A2, ..., An), que contiene todos los atributos de la BD. Descomposición de R (D) – D=(R1, R2, ..., Rm), que se obtiene mediante los algoritmos que realizan la descomposición utilizando las dependencias funcionales. – Se debe verificar: ∪i=1..m Ri = R
  • 33. Tecnólogo en Informática, Bases de Datos 1 33 Normalización Preservación de dependencias Proyección de un conjunto de dfs sobre un Esquema de Relación – Dado un conjunto de dfs F sobre R, la proyección de F sobre Ri, ΠRi(F), donde Ri es un subconjunto de R, es el conjunto de dfs X→Y en F+ tal que los atributos en X→Y estén todos contenidos en Ri. Ri R (ER) ΠRi (F) F (dfs) subconjunto atributos contenidos
  • 34. Tecnólogo en Informática, Bases de Datos 1 34 Normalización Preservación de dependencias Preservación de dependencias – Una descomposición D=(R1, R2, ..., Rm) de R preserva las dependencias respecto a F si se cumple: ( (ΠR1(F)) ∪ ... ∪ (ΠRm(F)) )+ = F+ – La unión de las proyecciones de F en cada Ri en D, es equivalente a F R=(A1, A2, ..., An) ΠRm (F) F (dfs) descomposición ΠR1 (F) ΠR2 (F) R1 R2 Rm D
  • 35. Tecnólogo en Informática, Bases de Datos 1 35 Normalización Descomposición en 3NF con pres. de dfs Algoritmo: 1. Encontrar un cubrimiento minimal G para F 2. Para cada miembro izq. X de una df que aparezca en G, crear un ER {X ∪ A1 ∪ A2 ∪ ... ∪ Am} en D, donde X→A1, X→A2, ... , X→Am sean las únicas dfs en G con X como miembro izquierdo (X es la clave de esta relación) 3. Colocar cualquier atributo restante en un solo ER para asegurar la propiedad de preservación de dependencias
  • 36. Tecnólogo en Informática, Bases de Datos 1 36 Normalización Descomposición en 3NF con pres. de dfs Ejemplo: – Se tiene la relación universal U: U (DniEmpleado, NumProy, SalarioEmpleado, TlfEmpleado, NúmeroDpto, NombreProy, UbicaciónProy) – Y las dependencias funcionales: DF1: DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto DF2: NumProy→NombreProy, UbicaciónProy DF3: DniEmpleado, NumProy→SalarioEmpleado, TlfEmpleado, NúmeroDpto, NombreProy, Ubicación Proy
  • 37. Tecnólogo en Informática, Bases de Datos 1 37 Normalización Descomposición en 3NF con pres. de dfs Paso 1: cubrimiento minimal G: {DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto; NumProy→NombreProy, UbicaciónProy} Paso 2: crear ERs R1 (DniEmpleado, SalarioEmpleado, TlfEmpleado, NúmeroDpto) R2 (NumProy, NombreProy, UbicaciónProy)
  • 38. Tecnólogo en Informática, Bases de Datos 1 38 Normalización Descomposición en 3NF con pres. de dfs Paso 1: cubrimiento minimal G: {DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto; NumProy→NombreProy, UbicaciónProy} Paso 2: crear ERs R1 (DniEmpleado, SalarioEmpleado, TlfEmpleado, NúmeroDpto) R2 (NumProy, NombreProy, UbicaciónProy) Atributos en común? R1 ∩ R2 = Ø
  • 39. Tecnólogo en Informática, Bases de Datos 1 39 Normalización Join sin pérdida (JSP) Definición: – Una descomposición D=(R1, R2, ..., Rm) de R tiene la propiedad de JSP respecto al conjunto de dfs F sobre R, si por cada instancia de relación r de R que satisfaga F, se cumple lo siguiente: join ( ΠR1(r), ..., ΠRm(r) ) = r – JSP garantiza que no se generarán tuplas falsas cuando se aplica un join a las relaciones de la descomposición.
  • 40. Tecnólogo en Informática, Bases de Datos 1 40 Normalización Join sin pérdida (JSP) Propiedad: Comprobación de JSP para descomposiciones binarias (dos ERs) – D = (R1, R2) de R tiene JSP respecto a F sobre R si ● la df (R1 ∩ R2)→(R1 - R2) está en F+ ● ó, la df (R1 ∩ R2)→(R2 - R1) está en F+
  • 41. Tecnólogo en Informática, Bases de Datos 1 41 Normalización Join sin pérdida (JSP) Algoritmo: Comprobación de JSP para descomposiciones 1. Crear una matriz S con una fila i por cada relación Ri en la descomposición D, y una columna j por cada atributo Aj en R; 2. Hacer S(i,j) := bij para todas las entradas de la matriz; 3. Para cada fila i que represente el ER Ri para cada columna j que represente el atributo Aj si Ri incluye a Aj entonces hacer S(i,j) := aj 4. Repetir hasta que una ejecución no modifique S para cada df X→Y en F igualar los símbolos en los atributos de Y para aquellas filas que coinciden en los atributos de X; 5. Si una fila tiene todos símbolos “a”, la descomposición tiene JSP, en caso contrario, no lo es
  • 42. Tecnólogo en Informática, Bases de Datos 1 42 Normalización Join sin pérdida (JSP)
  • 43. Tecnólogo en Informática, Bases de Datos 1 43 Normalización Join sin pérdida (JSP) La descomposición no tiene JSP respecto a F
  • 44. Tecnólogo en Informática, Bases de Datos 1 44 Normalización Join sin pérdida (JSP)
  • 45. Tecnólogo en Informática, Bases de Datos 1 45 Normalización Join sin pérdida (JSP)
  • 46. Tecnólogo en Informática, Bases de Datos 1 46 Normalización Join sin pérdida (JSP) La descomposición tiene JSP
  • 47. Tecnólogo en Informática, Bases de Datos 1 47 Normalización Descomposición en BCNF con JSP Algoritmo: 1. Establecer D:={ R }; 2. Mientras haya un ER Q en D que no esté en BCNF hacer { elegir un ER Q en D que no esté en BCNF; localizar una df X→Y en Q que viole BCNF; reemplazar Q en D con dos esquemas (Q - Y) y (X ∪ Y); };
  • 48. Tecnólogo en Informática, Bases de Datos 1 48 Normalización Descomposición en BCNF con JSP Ejemplo: – Sea R(nombre, teléfono, afición, dirección) – F={nombre, teléfono, afición→dirección dirección→teléfono} – D = { R1(nombre, afición, dirección), R2(dirección, teléfono) } Viola BCNF porque dirección no es superclave de R
  • 49. Tecnólogo en Informática, Bases de Datos 1 49 Normalización Descomposición en BCNF con JSP
  • 50. Tecnólogo en Informática, Bases de Datos 1 50 Normalización Descomposición en BCNF con JSP FD5 viola BCNF porque Área no es superclave de PARCELAS1A Se pierde FD2
  • 51. Tecnólogo en Informática, Bases de Datos 1 51 Normalización Descomposición en 3NF con JSP y pres. de dfs Si queremos que una descomposición tenga la propiedad de join sin pérdida y que conserve las dependencias, tenemos que ajustar los esquemas de relación a 3FN en lugar de a BCNF Se modifica el algoritmo de 3NF con pres. de dfs, para lograr una descomposición que cumpla: – Preservación de dependencias – Tener join sin pérdida (JSP) – Que cada ER resultante de la descomposición esté en 3NF
  • 52. Tecnólogo en Informática, Bases de Datos 1 52 Normalización Descomposición en 3NF con JSP y pres. de dfs Algoritmo: 1. Encontrar un cubrimiento minimal G para F 2. Para cada miembro izq. X de una df que aparezca en G, crear un ER {X ∪ A1 ∪ A2 ∪ ... ∪ Am} en D, donde X→A1, X→A2, ... , X→Am sean las únicas dfs en G con X como miembro izquierdo (X es la clave de esta relación) 3. Si ninguno de los esquemas de relación en D contienen una clave de R, crear un ER más en D que contenga los atributos que forman una clave de R 4. Eliminar las relaciones redundantes del conjunto de relaciones resultante. Una relación R se considera como redundante si es una proyección de otra relación S en el esquema; alternativamente, R está abarcada por S.
  • 53. Tecnólogo en Informática, Bases de Datos 1 53 Normalización Descomposición en 3NF con JSP y pres. de dfs Ejemplo 1: – U (DniEmpleado, NumProy, SalarioEmpleado, TlfEmpleado, NúmeroDpto, NombreProy, UbicaciónProy) – DF1: DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto – DF2: NumProy→NombreProy, Ubicación Proy – DF3: DniEmpleado, NumProy→SalarioEmpleado, TlfEmpleado, NúmeroDpto, NombreProy, Ubicación Proy
  • 54. Tecnólogo en Informática, Bases de Datos 1 54 Normalización Descomposición en 3NF con JSP y pres. de dfs U (DniEmpleado, NumProy, SalarioEmpleado, TlfEmpleado, NúmeroDpto, NombreProy, UbicaciónProy) Paso 1: cubrimiento minimal – G: {DniEmpleado→SalarioEmpleado, TlfEmpleado, NúmeroDpto; NumProy→NombreProy, UbicaciónProy} Paso 2: crear ERs – R1 (DniEmpleado, SalarioEmpleado, TlfEmpleado, NúmeroDpto) – R2 (NumProy, NombreProy, Ubicación Proy) Paso 3: crear ERs con clave – R3 (DniEmpleado, NumProy)
  • 55. Tecnólogo en Informática, Bases de Datos 1 55 Normalización Determinación de claves Se deben buscar 3 grupos de atributos: – Los que aparecen sólo a la derecha → No forman parte de ninguna clave ● No me permiten determinar a ningún otro atributo – Los que no aparecen a la derecha → Seguro forman parte de todas las claves ● No puedo determinar su valor a partir de otro atributo ● Si un atributo no figura en las dfs, pero sí está en el ER, va en este conjunto – Los que aparecen a la izquierda y derecha → Tal vez formen parte de una clave ● Debo verificar si forman parte o no
  • 56. Tecnólogo en Informática, Bases de Datos 1 56 Normalización Determinación de claves Ejemplo: – R(A, B, C, D, E, G) – F = { AB→C, D→E, C→D, EA→B} Entonces: – Sólo a la der. = { } → no estarán en ninguna clave – Nunca a la der. = {A, G} → estarán en todas las claves – A la izq. y der. = {B, C, D, E} → tal vez estén en alguna clave {AG}+ = {A, G} → no es clave {GAB}+ = {G, A, B, C, D, E} → es clave {GAC}+ = {G, A, C, D, E, B} → es clave {GAD}+ = {G, A, D, E, B, C} → es clave {GAE}+ = {G, A, E, B, C, D} → es clave
  • 57. Tecnólogo en Informática, Bases de Datos 1 57 Normalización Verificar preservación de dfs Algoritmo: Para toda df X→Y en el conjunto de dfs hacer: 1. Si todos los atributos de df pertenecen a una de las relaciones Ri, esa dependencia se conserva trivialmente. 2. Si no pasa lo anterior, verificar si df se conserva mediante el siguiente método: Z := X Repetir Para cada relación Ri: Z := Z U ((Z∩Ri)+ ∩Ri) Hasta que Z no cambie luego de una iteración o hasta que Z incluya a Y. → Si Z incluye a Y, la dependencia se conserva.
  • 58. Tecnólogo en Informática, Bases de Datos 1 58 Normalización Verificar preservación de dfs Ejemplo: – R1=(A, B, C, D), R2=(A, E, F) – FD1: {A→BD, B→CD, AC→E} Paso 1: ver dfs triviales – A→BD y B→CD se preservan trivialmente en R1, ya sus los atributos están incluidos Paso 2: verifico las dfs restantes (AC→E) – Para cada relación Ri: Z := Z U ((Z∩Ri)+ ∩Ri) La descomposición, preserva las dependencias? Para R1: ● Z = AC ∪ ((AC ∩ ABCD)+ ∩ ABCD) ● Z = AC ∪ ( AC+ ∩ ABCD) ● Z = AC ∪ ( ACEBD ∩ ABCD) ● Z = AC U ABCD = ABCD Z no incluye a E
  • 59. Tecnólogo en Informática, Bases de Datos 1 59 Normalización Verificar preservación de dfs Ejemplo: – R1=(A, B, C, D), R2=(A, E, F) – FD1: {A→BD, B→CD, AC→E} Paso 1: ver dfs triviales – A→BD y B→CD se preservan trivialmente en R1, ya sus los atributos están incluidos Paso 2: verifico las dfs restantes (AC→E) – Para cada relación Ri: Z := Z U ((Z∩Ri)+ ∩Ri) Para R1: ● Z = AC ∪ ((AC ∩ ABCD)+ ∩ ABCD) ● Z = AC ∪ ( AC+ ∩ ABCD) ● Z = AC ∪ ( ACEBD ∩ ABCD) ● Z = AC U ABCD = ABCD Para R2: ● Z = ABCD ∪ ((ABCD ∩ AEF)+ ∩ AEF) ● Z = ABCD ∪ ( A+ ∩ AEF) ● Z = ABCD ∪ ( ABDCE ∩ AEF) ● Z = ABCD ∪ AE = ABCDE Z incluye a E → se preservan las dfs Z en R1