37
Introducci´ on La forma aceptada de eliminar la redundancia es la descomposici´ on de relaciones. Dada una relaci´ on R (A 1 , A 2 , ...A n ), se puede descomponer R en dos relaciones S(B 1 , B 2 , ..., B i ) y T(C 1 , C 2 , ..., C j ) tales que: 1 {A 1 , A 2 , ..., A n } = {B 1 , B 2 , ..., B i }∪{C 1 , C 2 , ..., C j } 2 Las tuplas en la relaci´ on S son la proyecci´ on sobre {B 1 , B 2 , ..., B i } de las tuplas en R. 3 De manera similar, las tuplas en T son la proyecci´ on de {C 1 , C 2 , ..., C j } sobre R. Amparo L´ opez Gaona () Normalizaci´ on Marzo 2007 1/1

Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Introduccion

La forma aceptada de eliminar la redundancia es la descomposicion derelaciones.Dada una relacion R (A1,A2, ...An), se puede descomponer R en dosrelaciones S(B1,B2, ...,Bi ) y T(C1,C2, ...,Cj) tales que:

1 {A1,A2, ...,An} = {B1,B2, ...,Bi} ∪ {C1,C2, ...,Cj}2 Las tuplas en la relacion S son la proyeccion sobre {B1,B2, ...,Bi} de

las tuplas en R.

3 De manera similar, las tuplas en T son la proyeccion de{C1,C2, ...,Cj} sobre R.

Amparo Lopez Gaona () Normalizacion Marzo 2007 1 / 1

Page 2: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

nombreSuc delegacion activo nombreCte nPrestamo importe

Centro Cuauhtemoc 1,800 M Santos P-17 200,000Copilco Coyoacan 420 M Gomez P-23 400,000Viveros Coyoacan 340 M Lopez P-15 300,000Centro Cuauhtemoc 1,800 M Toledo P-14 300,000Eugenia Benito Juarez 80 M Santos P-93 100,000Zapata Benito Juarez 1,600 M Abril P-11 180,000

San Angel Alvaro Obregon 60 M Vazquez P-29 240,000Tlalpan Tlalpan 740 M Lopez P-16 260,000Centro Cuauhtemoc 1,800 M Gonzalez P-23 400,000Viveros Coyoacan 340 M Rodrıguez P-25 500,000Las Fuentes Tlalpan 1,420 M Amor P-10 440,000

Si se descompone la relacion en

Una relacion Sucursal (nombreSuc, delegacion, activo,

nombreCliente):y

Una relacion Prestamo (nombreCliente, numPrestamo, importe)

Amparo Lopez Gaona () Normalizacion Marzo 2007 2 / 1

Page 3: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

nombreSuc delegacion activo nombre cliente

Centro Cuauhtemoc 1,800,000,000 SantosCopilco Coyoacan 420,000,000 GomezViveros Coyoacan 340,000,000 LopezCentro Cuauhtemoc 1,800,000,000 ToledoEugenia Benito Juarez 80,000,000 SantosZapata Benito Juarez 1,600,000,000 Abril

San Angel Alvaro Obregon 60,000,000 VazquezTlalpan Tlalpan 740,000,000 LopezCentro Cuauhtemoc 1,800,000,000 GonzalezViveros Coyoacan 340,000,000 RodrıguezLas Fuentes Tlalpan 1,420,000,000 Amor

nombre cliente numPrestamo importe

Santos P-17 200,000Gomez P-23 400,000Lopez P-15 300,000Toledo P-14 300,000Santos P-93 100,000Abril P-11 180,000Vazquez P-29 240,000Lopez P-16 260,000Gonzalez P-23 400,000Rodrıguez P-25 500,000Amor P-10 440,000

Amparo Lopez Gaona () Normalizacion Marzo 2007 3 / 1

Page 4: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Encontrar todas las sucursales tales que tienen prestamos con importemenor a 200,000 pesos.

Con el esquema original. Eugenia y Zapata.

Con el esquema fraccionado. Eugenia, Zapata y Centro.

Indicar los prestamos que se tienen en cada sucursal:Sucursal ./ Prestamo solo para Santos darıa

Centro Cuauhtemoc Santos P-17 200Centro Cuauhtemoc Santos P-93 100Eugenia Coyoacan Santos P-17 200Eugenia Coyoacan Santos P-93 100

Ambas relaciones tienen a NombreCliente en comun, ası que parajuntarlas se usa este atributo que no es adecuado puesto que cliente puedetener varios prestamos no necesariamente en la misma sucursal.

Amparo Lopez Gaona () Normalizacion Marzo 2007 5 / 1

Page 5: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Requisitos

Para la normalizacion se desea:

Eliminar la duplicidad de informacion.

Que las relaciones fraccionadas tengan un join sin perdida.

Conservar las dependencias funcionales.

Amparo Lopez Gaona () Normalizacion Marzo 2007 6 / 1

Page 6: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Forma Normal de Boyce-Codd

Una relacion R esta en BCNF si y solo si en toda DF no trivialA1A2...An → B para R, se tiene que {A1,A2, ...An} es superllave deR.

Ejemplos:

La relacion C (Nombre, Calle, Ciudad) con DF ={Nombre →Calle Ciudad}La relacion S(Nombre, No prestamo) con DF ={Nombre →No prestamo}La relacion P(nombreSuc, Nombre cliente, No prestamo,Importe) con DF = {No prestamo → Importe nombreSuc}

Amparo Lopez Gaona () Normalizacion Marzo 2007 7 / 1

Page 7: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Cualquier relacion de dos atributos, A y B, esta en BCNF:

1 Si no hay DF no-triviales entonces se mantiene la condicion de BCNF,debido a que solo una DF no trivial puede violar esta condicion.Incidentalmente notar que {A,B} es la unica llave.

2 Si se tiene A → B, pero no B → A, entonces A es la unica llave ycada dependencia no trivial contiene A en la izquierda, por tanto nohay violacion a la condicion BCNF.

3 Si B → A y ni se tiene A → B es un caso simetrico al anterior.

4 Si se tienen A → B y B → A. Entonces tanto A como B son llaves, ycualquier dependencia tiene al menos uno de ellos en su ladoizquierdo, por tanto no puede haber violacion de la norma BCNF.

Amparo Lopez Gaona () Normalizacion Marzo 2007 8 / 1

Page 8: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Descomposicion para lograr la BCNF

Es posible dividir cualquier relacion en otras con las sigtes propiedades:

Son esquemas de relaciones en BCNF.

Los datos en la relacion original se representan fielmente por lasrelaciones que son el resultado de la descomposicion.

La estrategia a seguir es:

1 Buscar una DF no trivial X → B que viole BCNF.2 Calcular X+.3 Fraccionar R en R1(X+) y R2( (R-X+) ∪ X).

Otros X X+

4 Encontrar las DFs para las nuevas relaciones.

Se debe aplicar la regla de descomposicion tantas veces como seanecesario hasta que todas las relaciones esten en BCNF.

Amparo Lopez Gaona () Normalizacion Marzo 2007 9 / 1

Page 9: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo

La relacion P(nombreSuc, Nombre cliente, No prestamo, Importe)conDF = {No prestamo → Importe nombreSuc}Se descompone en:

P1(No prestamo, Importe, nombreSuc)

P2(Nombre cliente, No prestamo)

Sea R una relacion descompuesta en S y otra mas. Sea F el conjunto deDFs para R. Para calcular las DF mantenidas en S hacer:

1 Para cada conjunto X de atributos contenidos en S calcular X+.

2 Para cada atributo B tal que

B es un atributo de S,B no esta en X, yB esta en X+

se tiene la dependencia funcional X → B en S.

Amparo Lopez Gaona () Normalizacion Marzo 2007 10 / 1

Page 10: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo

Sean R(A, B, C, D), y F = {A → B, B → C}Si se tiene una subrelacion S(A, C) ¿cuales DF’s se cumplen en S?Calcular la cerradura de cada subconjunto de {A, C}:

{A}+ = {A, B, C}. El punto 2 del algoritmo solo se cumple para C,por tanto en S se mantiene la dependencia A → C.

{C}+ = {C} porque no esta en el lado izquierdo de ninguna DF.En general un conjunto que no contiene al menos un lado izquierdode una DF no puede tener dependencias para S.

{A,C}+ = {A, B, C}. Esto no agrega ninguna nueva dependenciapara S.Por tanto la unica dependencia para S es A→ C.

Amparo Lopez Gaona () Normalizacion Marzo 2007 11 / 1

Page 11: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Otro ejemplo

Sean R(A, B, C, D, E) y F {A → D, B → E, DE → C}Determinar las DF’s que se cumplen en S(A, B, C)

1 {A}+ = {A, D}, como D no esta en el esquema de S, no hay DF aquı.

2 {B}+ = {B, E}, no hay DF

3 {C}+ = {C}, no hay DF

4 {A,B}+ = {A, B, C, D, E}, con lo cual se obtiene la dependenciafuncional AB → C para S.

5 Ningun otro par de atributos agrega nada nuevo.

6 El conjunto de {A, B, C} no da dependencias no triviales para S.

Por tanto, la unica dependencia para S es AB → C.

Amparo Lopez Gaona () Normalizacion Marzo 2007 12 / 1

Page 12: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Recuperacion de la informacion a partir de unadescomposicion

Interesa que la descomposicion preserve la informacion contenida en larelacion original.Consideremos R(A, B, C) con B → C que suponemos es una violacion a laBCNF,

Al descomponer R obtenemos S(B, C) y T=(A, B).

Sea t = (a, b, c) una tupla de R.

Al proyectarla en la descomposicion se obtienen (a, b) para T, y (b, c)para S.

Al hacer un join sobre el atributo comun, en este caso B, obtenemosnuevamente t.

Sin embargo regresar a las tuplas iniciales no es suficiente para asegurarque la relacion original esta realmente representada por la descomposicion.

Amparo Lopez Gaona () Normalizacion Marzo 2007 13 / 1

Page 13: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo

Si se tiene la relacion con la siguiente extension:

R =

A B C

a b cd b e

esta se descompone en las dos siguientes con su respectiva proyeccion:

S =

A B

a bd b

T =

B C

b cb e

S ./ T =

A B C

a b ca b ed b cd b e

6= R

¿son correctas las proyecciones?La justificacion de la no-perdida ni ganancia de informacion es debido aque se esta considerando a las DFs.

Amparo Lopez Gaona () Normalizacion Marzo 2007 14 / 1

Page 14: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Tercera Forma Normal

En ocasiones se puede encontrar que un esquema de relacion y susdependencias no estan en BCNF pero no se desea descomponer mas.Ejemplo:Reservaciones (pelıcula, cine, ciudad) con las dependenciasfuncionales{cine → ciudad, pelıcula ciudad → cine}Ningun atributo por sı solo es una llave.Por otro lado, las parejas {pelıcula, ciudad} y {cine, pelıcula}sı son llaves.cine → ciudad viola la BCNF.

Amparo Lopez Gaona () Normalizacion Marzo 2007 15 / 1

Page 15: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Si normalizamos esta relacion obtenemos:

S =

cine ciudad

Real Cinema Cd. MexicoLinterna Magica Cd. Mexico

T =

cine pelıcula

Real Cinema La vida es bellaLinterna Magica La vida es bella

estas son permisibles de acuerdo a las DFs de cada relacion, pero al unirlasobtenemos

S ./ T =

cine ciudad pelıcula

Real Cinema Cd. Mexico La vida es bellaLinterna Magica Cd. Mexico La vida es bella

que viola la dependencia pelıcula ciudad → cine.La solucion al problema anterior es relajar la condicion para la BCNF.

Amparo Lopez Gaona () Normalizacion Marzo 2007 16 / 1

Page 16: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Una relacion R esta en tercera forma normal 3NF con respecto a F, si paratoda dependencia no trivial A1,A2, ..,An → B, se tiene que:

el lado izquierdo (A1,A2, ..,An) es una superllave o bien

el lado derecho, B, es miembro de alguna llave.

El segundo punto, es el que permite una dependencia como cine →ciudad del ejemplo anterior, porque ciudad es miembro de una llave.Siempre es posible descomponer un esquema de relacion sin perdida deinformacion en esquemas que estan en 3FN y permiten que se verifiquentodas la DF.Si estas relaciones no estan en BCNF, se tendra un poco de redundanciaen el esquema.

Amparo Lopez Gaona () Normalizacion Marzo 2007 17 / 1

Page 17: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Conceptos

1 Atributos superfluos.

2 Conjuntos equivalentes de DFs.

3 Conjunto mınimo de DFs.

A es un atributo superfluo si se puede eliminar de la DF sin que se alterela cerradura de F.Sean α → β una DF en F y A un atributo, A es superfluo si

1 Si A esta en α. Sea γ = α− {A} si F |= γ → β.

2 Si A esta en β. Sea F’ = (F - {α → β}) ∪ {α → (β − A)}, si F’|= α → A.

Amparo Lopez Gaona () Normalizacion Marzo 2007 18 / 1

Page 18: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplos:

1 Determinar los atributos superfluos de F = {AB → C, A → C}¿A es superfluo en AB → C?.¿B es superfluo en AB → C?.

2 Determinar los atributos superfluos de F = {AB → CD, A → C}

Amparo Lopez Gaona () Normalizacion Marzo 2007 19 / 1

Page 19: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Equivalencia entre conjuntos de DF’s

Dos conjuntos de DF, F1 y F2 son equivalentes si F1 |= F2 y F2 |= F1.Ejemplos:Sean F = {A → B, B → C, AC → D}

Si F1 = {A → B, B → C, A → D} es equivalente a F.

Si F2 = {A → B, B → C, C → D} no es equivalente a F.

Amparo Lopez Gaona () Normalizacion Marzo 2007 20 / 1

Page 20: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Conjunto mınimo

Un conjunto F de DFs es mınimo si

No tiene atributos superfluos.

Cada lado izquierdo de las DF de F es unico, es decir no existenα1 → β1, α2 → β2 tales que α1 = α2.

Algoritmo para calcular el conjunto F’ equivalente a F que sea mınimo:Repetir

1 Aplicar la regla de la union a relacion tales que α1 → β1, α1 → β2

para obtener α1 → β1β2 y sustituir con esta ultima las DF’s con iguallado izquierdo.

2 Eliminar los atributos superfluos de las DFs.

Hasta que ya no haya ningun cambio.

Amparo Lopez Gaona () Normalizacion Marzo 2007 21 / 1

Page 21: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo: Sea R(A,B,C) y F = { A → BC, B → C, A → B, AB → C }determinar si F es mınimo y si no es ası encontrar el mınimo.

1 Unir A → BC y A → B, con lo cual se obtiene A → BC. F = {A →BC, B → C, AB → C }

2 A es superfluo en AB → C, al eliminarlo F = {A → BC, B → C, B →C } = {A → BC, B → C}

3 C es superfluo en la primera DF.

Por tanto el conjunto mınimo es {A → B, B → C}

Amparo Lopez Gaona () Normalizacion Marzo 2007 22 / 1

Page 22: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Unicidad del conjunto mınimo

Este conjunto mınimo puede no ser unico.F = {A → BC, B → AC, C → AB }Como no hay lados izquierdo en comun, se empieza por determinaratributos superfluos.

Ver si B es superfluo en A → BC, es decir verificar que A → C sederiva de F’. Si lo es, por tanto F = {A → C, B → AC, C → AB }.Ver si A es superfluo en B → AC. Si lo es.F= {A → C, B → C, C → AB }Ver si A es superfluo en C → AB. No lo es.Ver si B es superfluo en C → AB. No lo es.Por tanto, el conjunto mınimo es: {A → C, B → C, C → AB }

Por otro lado podrıamos llegar a:{A → C, B → A, C → AB }etc.{A → B, B → C, C → A }{A → B, B → AC, C → B }

Amparo Lopez Gaona () Normalizacion Marzo 2007 23 / 1

Page 23: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Algoritmo de sıntesis

Su objetivo es descomponer R, conn DF’s F, en relaciones que satisfaganla 3NF.

1 Hacer F mınimo.2 Para toda DF en Fm

1 Crear una relacion que contenga solo los atributos de la DF.2 Eliminar un esquema si es un subconjunto de otro.

3 Si no existe esquema que contenga llaves candidatas crear unarelacion con esos atributos.

Amparo Lopez Gaona () Normalizacion Marzo 2007 24 / 1

Page 24: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo de normalizacion

Sea R(A,B,C,D) y F = {A → B, B → C, AC → D}1 Encontrar un mınimo equivalente a F: Fm = {A → B, B → C, A →

D}2 Fm = {A → BD, B → C}.3 Dividir. Se obtienen dos esquemas: R1(A,B,D) y R2(B,C), en el cual

se verifican todas las DFs de Fm y por tanto las de F.

Amparo Lopez Gaona () Normalizacion Marzo 2007 25 / 1

Page 25: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Dependencias Multivaluadas

Sea R(nombre, direccion, telefono, aficion) con nombre →direccion.

nombre dir tel aficion

n1 d1 t1 h1n1 d1 t1 h2n1 d1 t1 h3n1 d1 t2 h1n1 d1 t2 h2n1 d1 t2 h3

Llave: nombre telefono aficion.

Una violacion a BCNF: nombre → direccion.

Dividir en R1(nombre, direccion) R2(nombre, telefono,aficion).

Ambas estan en BCNF.

Amparo Lopez Gaona () Normalizacion Marzo 2007 26 / 1

Page 26: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Veamos R1:nombre direccion

n1 d1

Veamos R2:

nombre tel aficion

n1 t1 h1n1 t1 h2n1 t1 h3n1 t2 h1n1 t2 h2n1 t2 h3

Los telefonos y aficiones estan repetidosSi n1 tiene n telefonos y m aficiones, habra n*m tuplas para n1,cuando se podrıan tener solo el max(n,m).

Amparo Lopez Gaona () Normalizacion Marzo 2007 27 / 1

Page 27: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Definicion

Existe una dependencia multivaluada (DMV) A1A2...An � B1B2...Bm

si para cada par de tuplas t1 y t2 de la relacion R que coinciden en todoslos valores de las A’s podemos encontrar una tupla t3 tal que coincida con:

1 t1 y t2 en las A’s,

2 t1 en las B’s, y

3 t2 en todos los atributos de R que no estan ni el A’s ni en las B’s

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

��������������������

������������������������������

������������������������������

������������������������������

������������������������������

A’s

t1

t2

t3

B’s Otros

Amparo Lopez Gaona () Normalizacion Marzo 2007 28 / 1

Page 28: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Es posible intercambiar la t1 con la t2 e inferir la existencia de una cuartatupla t4 que coincide con t2 en las B’s y con t1 en los otros atributos.Como consecuencia de esto, para un valor fijo de las A’s los valoresasociados de las B’s y los otros atributos aparece en todas las posiblescombinaciones en diferentes tuplas.En otras palabras si para cada par de tuplas de R que coinciden en losatributos de A, se puede intercambiar los atributos de B y conseguir dosnuevas tuplas para R.

A’s otrosB’s

Amparo Lopez Gaona () Normalizacion Marzo 2007 29 / 1

Page 29: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Comparacion entre DF y DMV

Las DFs excluyen ciertas tuplas de una relacion, si A → B entonces nopuede haber dos tuplas con el mismo valor de A y diferente de B.Las DMVs requieren que otras tuplas de una cierta forma se presenten enla relacion.

Amparo Lopez Gaona () Normalizacion Marzo 2007 30 / 1

Page 30: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo

BC

prestamo nombre cliente calleNum ciudad

P23 Gomez Llavel 25-A-201 CuernavacaP23 Gomez Insurgentes 4141 Mexico D.F.P93 Perez Juarez 85 Oaxaca

Si el cliente Gomez obtuviera otro prestamo, digamos el P27, se tendrıanque agregar dos tuplas:prestamo nombre cliente calleNum ciudad

P23 Gomez Clavel 25-A-201 CuernavacaP23 Gomez Insurgentes 4141 Mexico D.F.P27 Gomez Clavel 25-A-201 CuernavacaP27 Gomez Insurgentes 4141 Mexico D.F.P93 Perez Juarez 85 Oaxaca

Se requiere que esta relacion tenga la DMV nombre � calleNumciudad

Se debe verificar esta condicion para TODOS los pares de tuplas quecoincidan con el nombre, no solo con un par.

Amparo Lopez Gaona () Normalizacion Marzo 2007 31 / 1

Page 31: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Reglas para las DMV

Sean A = {A1A2...An},B = {B1B2...Bm} conjuntos de atributos de unarelacion R. Las DMVs satisfacen las siguientes reglas:

1 Complemento. Si se tiene que A � B para alguna relacion, entoncesse debe tener A � C , donde C son todos atributos de R que no sonni As, ni Bs.

2 Transitividad. Si se tienen las DMVs A � B,B � C entoncestambien se tiene que A � C − B

3 Replicacion. Toda DF es una DMV.El reves de esta regla no es cierto.

4 Las DMV no obedecen las reglas de division/combinacion.

Amparo Lopez Gaona () Normalizacion Marzo 2007 32 / 1

Page 32: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo

Sea R = (A,B,C,G,H,I) y DMV = A � B, B � HI, CG � HAplicando las reglas se puede obtener:

A � CGHI; por la regla de la complemento.A � HI; por la regla de transitividad aplicada a la primera y segundadependencias.¿ B � H, B � I?

Una DMV A1A2...An � B1B2...Bm es no-trivial si:

Ninguna de las B’s esta contenida en las A’s.R tiene mas atributos que las A’s y las B’s.

Una relacion R esta en 4NF si en toda DMV no-trivialA1A2...An � B1B2...Bm se tiene que {A1A2...An} es una superllave.Notar que las nociones de llaves y superllaves dependen solo de las DFs.La 4NF es una generalizacion a la BCNF debido a que toda DF es unaDMV.Por tanto toda violacion a la BCNF es una violacion a la 4NF pero al revesno es cierto.

Amparo Lopez Gaona () Normalizacion Marzo 2007 33 / 1

Page 33: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Algoritmo para convertir a 4FN

Objetivo: Eliminar redundancia debida al efecto multiplicativo de lasDMVs.

1 Encontrar una violacion a la 4NF, es decir, A1A2...An � B1B2...Bm

donde el conjunto de las A’s no forma una superllave.

2 Dividir la relacion en dos esquemas:

El que contiene las A’s y las B’sEl que contiene las A’s y los atributos de R que no estan entre las B’s.

3 Si alguno de los esquemas no estuviera en 4NF ir al paso 1.

En este caso no hay pruebas analogas a las de la cerradura de atributospara las DFs.

Amparo Lopez Gaona () Normalizacion Marzo 2007 34 / 1

Page 34: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo

Sea BC(prestamo, nombre, calleNum, ciudad) con la dependencias{nombre → prestamo, nombre � calleNum ciudad }Se tiene que la DMV viola la 4NF. Aplicando el algoritmo se tienen:En cada esquema no hay DMV no-triviales ni DFs no-triviales, por tantoesta en 4NF.

Amparo Lopez Gaona () Normalizacion Marzo 2007 35 / 1

Page 35: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Otro ejemplo

Sea R(A,B,C,D,E,F), con {A → B, A � CD, A � EF}

Llave:

Al dividir llegamos a:

Amparo Lopez Gaona () Normalizacion Marzo 2007 36 / 1

Page 36: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Relacion entre las formas normales

4NF

BCNF

3NF

Propiedad 3NF BCNF 4NF

Elimina redundancia por DF’s La mayorıa Sı SıElimina redundancia por DMV’s No No SıConserva DF’s Sı Quiza QuizaConserva DMV’s Quiza Quiza Quiza

Amparo Lopez Gaona () Normalizacion Marzo 2007 37 / 1

Page 37: Introducci´on - Facultad de Cienciashp.fciencias.unam.mx/~alg/bd/norma.pdfCualquier relaci´on de dos atributos, A y B, est´a en BCNF: 1 Si no hay DF no-triviales entonces se mantiene

Ejemplo

Supon que tiene una relacion R como sigue, para registrar a personas consus hijos y autos.R(nombre, curp, fechaNac, nombreHijo, curpHijo,fechaNacHijo, motor, marca)Define las dependencias que se deberıan esperar para esta relacion ynormaliza si es necesario.

Amparo Lopez Gaona () Normalizacion Marzo 2007 38 / 1