solucion 2

16
MATERIA: Base de datos II Grupo: G2 DOCENTE: Ing. Edwin Rolando Flores V. Auxiliar:Univ. Pedro A. Condori Fernández 1.- Dado el siguiente esquema: R=(A, B, C, D, E) DF= {AB,BD ,CE ,EB } Determinar cuáles de de las siguientes relaciones satisfacen DF: a) A B C D E a1 b1 c1 d1 e1 a2 b2 c2 d1 e1 b) A B C D E a1 b1 c1 d1 e1 a2 b2 c2 d1 e2 c) A B C D E a1 b1 c1 d1 e1 a2 b1 c1 d2 e1 d) A B C D E a1 b1 c1 d1 e1 a1 b1 c2 d1 e1 Solución: Recordemos que para que se cumple A→B todas las filas que tengan el mismo valor en A, deben tener el mismo valor en B, por tanto si no existen filas con el mismo valor en A (todas las filas son diferentes en A) también se cumple A→B. Entonces: a) A B C D E a1 b1 c1 d1 e1 a2 b2 c2 d1 e1 Satisface A→B, puesto que todos los valores de A son diferentes, no es necesario comparar los valores de B. Satisface B→D, puesto que todos los valores de B son diferentes, no es necesario comparar los valores de D. Satisface C→E, todos los valores de C son diferentes, no es necesario comparar los valores de E. No satisface E→B las filas 1 y 2 tienen el mismo valor en E, pero los valores no son iguales en B Por lo que no cumple todas las definiciones de DF, entonces a) no cumple las relaciones 1 2

description

adsda

Transcript of solucion 2

Page 1: solucion 2

MATERIA: Base de datos II Grupo: G2

DOCENTE: Ing. Edwin Rolando Flores V. Auxiliar:Univ. Pedro A. Condori Fernández

1.- Dado el siguiente esquema:

R=(A, B, C, D, E) DF= {A→B,B→D ,C→E ,E→B }

Determinar cuáles de de las siguientes relaciones satisfacen DF:

a)

A B C D E

a1 b1 c1 d1 e1

a2 b2 c2 d1 e1

b)

A B C D E

a1 b1 c1 d1 e1

a2 b2 c2 d1 e2

c)

A B C D E

a1 b1 c1 d1 e1

a2 b1 c1 d2 e1

d)

A B C D E

a1 b1 c1 d1 e1

a1 b1 c2 d1 e1

Solución:

Recordemos que para que se cumple A→B todas las filas que tengan el mismo valor en A, deben tener el mismo valor

en B, por tanto si no existen filas con el mismo valor en A (todas las filas son diferentes en A) también se cumple

A→B.

Entonces:

a)

A B C D E

a1 b1 c1 d1 e1

a2 b2 c2 d1 e1

Satisface A→B, puesto que todos los valores de A son diferentes, no es necesario comparar los valores de B.

Satisface B→D, puesto que todos los valores de B son diferentes, no es necesario comparar los valores de D.

Satisface C→E, todos los valores de C son diferentes, no es necesario comparar los valores de E.

No satisface E→B las filas 1 y 2 tienen el mismo valor en E, pero los valores no son iguales en B

Por lo que no cumple todas las definiciones de DF, entonces a) no cumple las relaciones

1

2

Page 2: solucion 2

b)

A B C D E

a1 b1 c1 d1 e1

a2 b2 c2 d1 e2

Satisface A→B, puesto que todos los valores de A son diferentes, no es necesario comparar los valores de B.

Satisface B→D, puesto que todos los valores de B son diferentes, no es necesario comparar los valores de D.

Satisface C→E, todos los valores de C son diferentes, no es necesario comparar los valores de E.

Satisface E→B, todas las filas tienen valores diferentes en E

Por lo que cumple todas las definiciones de DF, entonces b) cumple las relaciones

c)

A B C D E

a1 b1 c1 d1 e1

a2 b1 c1 d2 e1

Satisface A→B, puesto que todos los valores de A son diferentes, no es necesario comparar los valores de B(en este caso

no importa si los valores de B son iguales o diferentes).

No Satisface B→D, las filas 1 y 2 son iguales en B entonces las filas 1 y 2 deberían ser iguales en D pero no lo son.

Satisface C→E, las filas 1 y 2 son iguales en C, y también son iguales en E.

Satisface E→B, todas las filas tienen valores iguales en E, también en B

Por lo que no cumple todas las definiciones de DF, entonces c) no cumple las relaciones

1

2

1

2

Page 3: solucion 2

d)

A B C D E

a1 b1 c1 d1 e1

a1 b1 c2 d1 e1

Satisface A→B, todos los valores en A son iguales, lo valores de B también lo son.

Satisface B→D, las filas 1 y 2 son iguales en B entonces las filas 1 y 2 deberían ser iguales en D y lo son.

Satisface C→E, las filas 1 y 2 son diferentes en C, no es necesario hacer comparaciones en E.

Satisface E→B, todas las filas tienen valores iguales en E, también en B

Por lo que cumple todas las definiciones de DF, entonces d) cumple las relaciones

Resp: solo b y d cumplen todas las relaciones

2.- Dada la siguiente relación determinar que dependencias funcionales son correctas.

A B C D E

a1 b1 c1 d1 e1

a2 b2 c2 d1 e1

a3 b2 c1 d1 e2

a4 b3 c2 d2 e2

a5 b3 c3 d2 e3

a) C→E

b) A→CDE

c) B→D

d) C→A

e) E→C

f) BC→E

Recordando lo mencionado en el anterior problema se tiene:

a) C→E

A B C D E

1 a1 b1 c1 d1 e1

2 a2 b2 c2 d1 e1

3 a3 b2 c1 d1 e2

4 a4 b3 c2 d2 e2

5 a5 b3 c3 d2 e3

Las filas 1 y 3 son iguales en C, pero no son iguales en E

Lo mismo sucede con las filas 2 y 4

Por lo tanto a) no cumple los requisitos necesarios

Page 4: solucion 2

b) A→CDE

A B C D E

1 a1 b1 c1 d1 e1

2 a2 b2 c2 d1 e1

3 a3 b2 c1 d1 e2

4 a4 b3 c2 d2 e2

5 a5 b3 c3 d2 e3

Todos los valores de A son diferentes, no es necesario comparar CDE

Por lo tanto b) si cumple los requisitos necesarios para ser considerado correcto.

c) B→D

A B C D E

1 a1 b1 c1 d1 e1

2 a2 b2 c2 d1 e1

3 a3 b2 c1 d1 e2

4 a4 b3 c2 d2 e2

5 a5 b3 c3 d2 e3

Las filas 2 y 3 son iguales en B, también lo son en D

Las filas 4 y 5 son iguales en B, también son iguales en D

Entonces es correcto

d) C→A

A B C D E

1 a1 b1 c1 d1 e1

2 a2 b2 c2 d1 e1

3 a3 b2 c1 d1 e2

4 a4 b3 c2 d2 e2

5 a5 b3 c3 d2 e3

Las filas 1 y 3 son iguales en C, pero son diferentes en A

Las filas 2 y 4 son iguales en C, pero son diferentes en A

Entonces es incorrecto

e) E→C

A B C D E

1 a1 b1 c1 d1 e1

2 a2 b2 c2 d1 e1

3 a3 b2 c1 d1 e2

4 a4 b3 c2 d2 e2

5 a5 b3 c3 d2 e3

Page 5: solucion 2

Las filas 1 y 2 son iguales en E, pero son diferentes en C

Las filas 3 y 4 son iguales en E, pero son diferentes en D

Por tanto es incorrecto

f) BC→E

A B C D E

1 a1 b1 c1 d1 e1

2 a2 b2 c2 d1 e1

3 a3 b2 c1 d1 e2

4 a4 b3 c2 d2 e2

5 a5 b3 c3 d2 e3

Los atributos de B y C se combinan y forman uno solo por fila.

Pese a que existe valores en B iguales, no existe ninguna fila en BC que sea igual a otra, comparar E resulta

innecesario.

Entonces es correcto

3.- Sean las siguientes, definiciones alternas de dependencia funcional, indicar cuáles son correctas y cuáles no:

X→Y se cumple en R si solo si:

a)

R: Es la definición misma de D.F. que se utiliza en el problema 1

b)

R: Significa que la combinación de los atributos de XY debe ser igual en todas las filas, es decir:

X Y

x1 y2

x1 y2

x1 y2

Pero esa condición es muy restrictiva para X->Y puesto q puede darse:

X Y

x1 y2

x1 y2

x2 y2

Que también cumple la definición.

Por lo tanto la definición es incorrecta.

Page 6: solucion 2

c)

R: Es incorrecta, los valores en X pueden repetirse, ejem:

X Y

x1 y2

x1 y2

d)

R: Correcta, los valores en X pueden ser repetidos pero a esos valores repetidos deben corresponderles los

mismos valores en Y, el ejemplo anterior lo demuestra

e)

R: Correcta, si se tienen valores diferentes en Y, significa que no pertenecen al mismo valor en X, ejem:

X Y

x1 y1

x2 y2

Sería incorrecto lo siguiente:

X Y

x1 y1

x1 y2

Este último ejemplo viola la definición de dependencia funcional

f)

R: Incorrecto, puede darse el caso siguiente:

X Y

x1 y2

x1 y2

x2 y2

Que no viola ninguna definición de dependencia funcional.

4.- Las siguientes derivaciones de dependencias funcionales son validas, demuestre (use las reglas de Armstrong):

a) {X→Z,Y→Z } XY→Z

Sol:

1: X->Z

2: Y->Z

3: XY->ZY aumento Y en 1

4: XY->Z descomposición en 3

Page 7: solucion 2

b) {XZ→Y,X→Z } X→Y

Sol:

1: XZ->Y

2: X->Z

3: X->X reflexividad

4: X->XZ unión de 2 y 3

5: X->Y transitividad 4 y 1

c) {Z →A , X→Y } XZ → YA

Sol:

1: Z->A

2: X->Y

3: XZ->XA aumento X en 1

4: XA->YA aumento A en 2

5: XZ->YA transitividad de 3 y 4

d) { X → Y, Y → Z } X → YZ

Sol:

1: X->Y

2: Y->Z

3: Y->Y reflexividad

4: Y->YZ unión de 2 y 3

5: X->YZ transitividad de 1 y 4

e) { X → Y, W → Z, W ⊆ Y } X → Z

Sol:

1: X->Y

2: W->Z

Page 8: solucion 2

3: W ⊆ Y

4: Y->W reflexividad de 3

5: X->W transitividad 1 y 3

6: X->Z transitividad 5 y 2

f) { AB→C, B→D,CD→E, CE→GH,G→A } AB→E BG→C

Sol:

Para hallar AB->E

1: AB->C

2: B->D

3: CD->E

4: CE->GH

5: G->A

6: AB->AD aumento A en 2

7: AB->D descomposición de 6 en AB->D y AB->A

8: AB->CD unión de 1 y 7

9: AB->E transitividad de 8 y 3

Para hallar BG->C

1: AB->C

2: B->D

3: CD->E

4: CE->GH

5: G->A

6: BG->AB aumento B en 5

7: BG->C transitividad de 6 y 1

5.- Sea R(A,B,C,D,E,G,H,I) y F = {AB → CH, CD → B, B → GAE, H → DI }. Calcular:

Se considera :

F1= AB → CH

Page 9: solucion 2

F2=CD → B

F3=B → GAE

F4= H → DI

a. A+

Sol:

A0=A con A->A

No es posible obtener otro valor del lado izquierdo de las dependencias funcionales, entonces:

A+=A0=A

b. B+

Sol:

B0=B con B->B

B1=BGAE con F3

B2=BGAECH con F1(se puede obtener el lado izquierdo de F1 con los valores de B2)

B3=BGAECHDI con F4

No sera posible obtener mas valores puesto que no existen mas, entonces:

B+=B3

c. (CD) +

Sol:

CD 0=CD con CD->CD

CD 1=CDB con F2

CD 2=CDBGAE con F3

CD 3=CDBGAEH con F1

CD 4=CDBGAEHI con F4

CD+=CD 4

d. (BEI)+

Sol:

Page 10: solucion 2

BEI 0=BEI con BEI->BEI

BEI 1=BEIGA con F3

BEI 2=BEIGACH con F1

BEI 3=BEIGACHD con F4

B+= BEI 3

e. (BE) +

Sol:

BE 0=BE con BE->BE

BE 1=BEGA con F3

BE 2=BEGACH con F1

BE 3=BEGACHDI con F4

BE+ =BE 3

f. (HA) +

Sol:

HA 0=HA con HA->HA

HA 1=HADI con F4

No se puede formar mas implicantes por tanto:

HA+= HA 1

g. (ABH) +

Sol:

ABH 0 =ABH con ABH->ABH

ABH 1= ABHDI con F4

ABH 2= ABHDIC con F1

ABH 3=ABHDICB con F2

ABH 4=ABHDICBGE

ABH+ = ABH 4

Page 11: solucion 2

6.- Sea R(A B C D E G) y F = { 1:AB→ D, 2:CD → G, 3:E → A, 4:A → C, 5:BG → C, 6:D → A } a. Hallar las clausuras de los siguientes conjuntos de atributos

1. (AD)

Sol:

AD 0=AD con AD->AD

AD 1=ADC con F4

AD 2=ADCG con F2

AD+=ADCG

2. (D)

D 0= D con D->D

D 1=DA con F6

D 2= DAC con F4

D 3= DACG con F2

D+=D 3

3. (BC)

Sol:

BC 0= BC con BC->BC

BC+=BC 0

4. (EB)

Sol:

EB 0=EB con EB->EB

EB 1=EBA con F3

EB 2=EBAC con F4

EB 3=EBACD con F1

EB 4=EBACDG con F2

EB+= EB 4

Page 12: solucion 2

5. (B)

B 0=B con B->B

B+= B 0

6. (EBC)

EBC 0=EBC con EBC->EBC

EBC 1=EBCA con F3

EBC 2=EBCAD con F1

EBC 3=EBCADG con F2

EBC+=EBC 3

b. ¿ Alguno de los conjuntos anteriores es superclave?.

R: Si alguno de los cierre fuese clave sus valores serian todos los valores de la relación, los únicos cierres que

producen tal cosa son EB+ y EBC+

Como entonces EB es clave y EBC es superconjunto de EB, se dice que EBC es superclave

c. ¿ Alguno es clave ?.

R: EB

7.- Indicar las dependencias funcionales que se cumplen en esta realidad.

Un club esta organizando un campeonato de tenis individual. A cada persona que se inscribe se le pide el nombre, la edad, el DNI y la fecha de vencimiento de la ficha médica. El torneo se juega en un determinado conjunto de pistas de las que se conoce la dirección de cada una, un código que las identifica, y si tienen iluminación o no. A partir de estos datos, se organizan los partidos del campeonato con los siguientes criterios.

• A cada partido se le asigna un código que lo identifica dentro del torneo, una hora, una pista, dos inscriptos diferentes (local y visitante), una etapa (eliminatorias, octavos, cuartos, semifinales y final) y un ganador.

• No se pueden jugar dos partidos a la misma hora en la misma pista.

• En cada etapa, cada jugador juega un solo partido. NOTA: Los siguientes problemas pueden tener diferentes soluciones dependiendo de la interpretación que se le de a los mismos, aunque el procedimiento debe ser similar Solucion: De la realidad planteada, se identifican las siguientes dependencias funcionales: "A cada persona que se inscribe se le pide el nombre, la edad, la DNI y la fecha de vencimiento de la ficha médica."

⇒ DNI → nombre, edad, fechavencimiento

Page 13: solucion 2

"El torneo se juega en un determinado conjunto de pistas de las que se conoce la dirección de cada una, un código que las identifica, y si tienen iluminación o no"

⇒ códigopista → dirección, con_iluminación "A cada partido se le asigna un código que lo identifica dentro del torneo, una hora, una pista, dos inscritos diferentes (local y visitante), una etapa (eliminatorias, octavos, cuartos, semifinales y final) y un ganador."

⇒ códigopartido → hora , códigopista , DNIlocal , DNIvisitante , etapa , DNIganador "No se pueden jugar dos partidos a la misma hora en la misma pista."

⇒ hora , códigopista → códigopartido "En cada etapa , cada jugador juega un solo partido."

⇒ DNIlocal , etapa → códigopartido, ⇒ DNIvisitante , etapa → códigopartido Además debe tenerse en cuenta, que los jugadores locales y visitantes, son en realidad DNIs, son los mismos atributos, con distinto nombre, por lo que pueden deducirse las siguientes dependencias:

DNIlocal → DNI, DNI → DNIlocal, DNIvisitante → DNI, DNI → DNIvisitante ,

DNIganador → DNI, DNI → DNIganador Renombrando cada atributo se tiene: DNI C Edad E códigopista CC códigopartido CP DNIloca l CL nombre N fechavencimiento FV dirección D hora H DNIvisitante CV con_iluminac CI DNIganador CG etapa E Finalmente se tiene: R(C, N, E, FV, CC, D, CI, CP, H, CG, CL, CV, E)

F = { C → N, E, FV ; CC → D, CI ; CP → H, CC, CL, CV, E, CG ; H, CC → CP; CL, E →CP ; CV, E → CP; CG, E → CP; CL → C; CV

→ C; CG → C; C → CL; C → CV; C →CG } 8.-Escriba la siguiente relación en FNBC: R(numero_enfermo, numero_licencia_cirujano, fecha_cirugía, nombre_enfermo, dirección_enfermo, nombre_cirujano,

nombre_cirugía, medicina_suministrada, efectos_secundarios)

R(NUE, NLC, FC, NE, DE, NCI, NC, MS, ES)

Supuestos: A un enfermo sólo se le da una medicina después de la operación. Si existen efectos secundarios siempre y

exclusivamente depende de la medicina suministrada. Sólo puede existir un efecto secundario.

Solucion:

Es necesario agregar mas supuestos. Puesto que este es un problema de la vida real se puede suponer también:

Page 14: solucion 2

- En una misma cirugía participa más de un cirujano. A un enfermo se le puede operar más de una vez de lo mismo. En una fecha a un paciente se lo puede operar más de una vez Procediendo de la misma manera que el problema anterior se tiene:

DF = {NUE →NE_DE; NLC → NCI; MS → ES; NUE_NC, FC→ MS_ NLC} Normalizando: Si consideramos la posibles claves: NUE, NC, FC, NLC. La relación R no está en 2FN porque existen atributos que no dependen de la clave completa. Se puede descomponer en: R1(NUE, NE, DE)

DF1 = {NUE →NE_DE } Clave : NUE R2(NUE, NLC, FC, NC, MS, ES)

DF = {NUE_NC_FC → MS; MS →ES} Clave: NUE, NLC, FC, NC R3(NLC,NCI, NC)

DF = { NLC → NCI } Clave: NLC El problema es que R2 no está en 2FN porque MS no depende de la clave completa. R2_1(NUE, FC, NC, MS, ES)

DF = {NUE_ NC_ FC → MS; MS → ES} Clave: NUE_FC_NC R2_2(NUE, NLC, FC, NC) DF = No tiene Clave: NUE, NLC, FC, NC Ahora R2_1 no está en 3FN porque hay transitividad. R2_1_1(NUE, FC, NC, MS)

DF = {NUE_ NC_ FC → MS} Clave: NUE_ FC_ NC R2_1_2(MS, ES)

DF = { MS → ES} Clave: MS 9.- Diseñe el esquema relacional del siguiente enunciado, realice la normalización Una base de datos contendrá información relativa a representantes de ventas, áreas de venta yproductos. Cada representante es responsable de las ventas en una o más áreas; cada área tiene uno omás representantes responsables. En forma similar, cada representante es responsable de la venta de unoo más productos, y cada producto tiene uno o más representantes responsables. Todos los productos se venden en todas las áreas; sin embargo, dos representantes no pueden vender el mismo producto enla misma área. Todos los representantes venden el mismo conjunto de productos en todas las áreas delas que son responsables Diseñe la base de datos del problema anterior, normalizar en caso de que sea necesario. Solucion:

Page 15: solucion 2

Se pueden encontrar 3 posibles relaciones, además no es posible inferir en mas información por lo relativamente difusa que es la informacion, por lo que cuando sea necesario se pondrá demás informacion: REPRESENTANTES REP { ID_REP, demás informacion }

Llave: ID_REP

AREA { ID_AREA, demás informacion } Llave: ID_AREA PRODUCTO { ID_PRODUCTO, demás informacion }

Llave: ID_PRODUCTO Con las interpretaciones obvias. Segundo, podemos representar el vínculo entre representantes de ventas y áreas de ventas mediante una relación REP_AREA { ID_REP, ID_AREA } Llave: ID_REP,IDAREA y el vínculo entre representantes de ventas y productos por medio de una relación: REP_PRO { ID_REP, ID_PR0DUCTO } Llave: ID_REP,ID_PRODUCTO Estos dos vínculos son muchos a muchos. A continuación, se nos dice que todos los productos son vendidos en todas las áreas. Así que si introducimos una relación: AREA_PRO { ID_AREA, ID_PRODUCTO } Llave: ID_AREA,ID_PRODUCTO Dos representantes de ventas no pueden vender el mismo producto en la misma área. En otras palabras, dada una combinación {ÁREA#,PROD#}, hay exactamente un representante de ventas responsable (ID_REP), así que podemos introducir una relación: AREA_PRO_REP { ID_AREA, ID_PROD, ID_REP} Llave: ID_AREA,ID_PROD En la cual (para hacer la DF explícita) { ID_AREA, ID_PROD } -> ID_REP Por supuesto, la especificación de la combinación {ID_AREA,ID_PROD} como clave candidata es suficiente para expresar esta DF). Ahora, sin embargo, las relaciones REP_AREA, REP_PRO y AREA_PRO son redundantes, ya que son proyecciones de AREA_PRO_REP (Esto es: “Es posible representar las relaciones anteriores mediante esta”); por lo tanto podemos eliminarlas todas. Puesto que todo representante de ventas vende todos los productos que representa todas las áreas que representa, tenemos la siguiente DF sobre la relación AREA_PRO_REP: ID_REP ->-> ID_AREA,ID_PRO(DF multivalorada) (una DF multivalorada no trivial; la relacion AREA_PRO_REP no está en 4FN). De esta manera el diseño final consiste en las relaciones REP, AREA. PRODUCTO y AREA_PRO_REP, con la dependencia antes mencionada. Como puede verse esta es una manera de normalización un tanto diferente aunque útil para problemas con las que no se cuenta con mucha informacion

Page 16: solucion 2

10.- Diseñe los esquemas relacionales de la base de datos del siguiente problema y normalícelas. Un Aficionado a la música decide automatizar la administración de su colección pues empieza a ser muy grande. Los datos a considerar son los siguientes: El título del volumen (T) es único. Cada título tiene un único tipo de soporte (S) que es DVD o CD. Varios títulos pueden ser de un mismo cantante o grupo (CG), con una año (A) de edición. Además en un título pueden intervenir varios cantantes o grupos. También se conoce la estantería (E) donde está ubicado el título existiendo al menos una estantería por año de edición. Además, se conocen las canciones (C) de cada título, no existiendo en un título dos canciones con el mismo nombre. La duración (D) de una canción puede variar en los distintos títulos en los que se incluye, pudiendo ser o no interpretada por el mismo cantante o grupo. Solucion: Procediendo de la misma manera que en anteriores problemas se puede obtener lo siguiente: Dependencias Funcionales: R(T, S, CG, A, E, C, D)

DF = {T →S; T →A; CG_A→T; T→E; E →A; C_T → CG; C_T →D} Clave de R = T Formas Normales Análisis 1: R no está en 2FN porque C, CG y D no dependen de la clave primaria. R1(T, S, A, E)

DF = {T →S; T →A; T →E; E →A;} Clave de R1 = T R2(T, C, CG, D, A)

DF = {C_T →CG; C_T →D, CG_A →T} Clave de R2 = C_T Análisis 2: R1 está en 2FN pero no está en 3FN porque A depende transitivamente de T. R2 no está en 2FN porque T no

depende de la clave completa (sólo podemos decir que T→ T) R1_1(T, S, E)

DF = {T →S; T →E} Clave de R1_1 = T R1_2(E, A)

DF = { E →A} Clave de R12 = E R2_1(T, C, CG, D)

DF = {C_T → CG; C_T →D} Clave de R2 = C_T R2_2(CG,A,T)

DF = {CG_A →T} Clave de R3 = CG_A Análisis 3: R11, R12, R21 y R22 están en 3FN y FNBC