control2-2012

Anuncio
Universidad de Concepción
Departamento de Ing. Informática y Cs. de la Computación
CONTROL II: Bases de Datos
Prof. Andrea Rodrı́guez, Ayudante: Daniel Campos
Martes 6 de Noviembre del 2012
1. Dada una relación R(A, B, C, D) con el siguiente conjunto de dependencias funciones:
F = {A → D, A →→ B, A →→ C}
Indique la forma normal en la que se encuentra y normalice hasta la
4FN (1 p).
2. Considere el siguiente esquema:
CHOFER(id,nombre,renta anual)
EMBARQUE(id embarque, id camion, peso, destino)
FK id camion FROM CAMION(id camion)
FK destino FROM CIUDAD(nombre)
CAMION(id camion, nombre chofer)
CIUDAD(nombre,poblacion)
Responda usando álgebra relacional y SQL las siguientes consultas (2
p)
a) Mostrar los choferes para los cuales el peso promedio de los embarques realizados sea mayor a 1000 kilos.
b) Indicar camiones que tengan embarques a solo una ciudad.
3. Considere la instancia del siguiente esquema de relación EM BARQU E
de la pregunta anterior:
id embarque
20
23
25
28
33
id cliente
2
10
333
10
5
peso
8000
10000
500000
null
300
id camion
C1
C3
C1
null
C2
destino
Santa Juana
Purén
Santiago
Concepción
Lota
Además las dos siguientes consultas en SQL:
SELECT id embarque
FROM EMBARQUE as S
WHERE S.destino <> ‘Santiago’ AND NOT EXISTS ( SELECT *
FROM EMBARQUE as S2
WHERE S2.destino <> ‘Santiago’ AND S.peso <= S2.peso )
1
Universidad de Concepción
Departamento de Ing. Informática y Cs. de la Computación
SELECT id embarque
FROM EMBARQUE as S
WHERE S.destino <> ‘Santiago’ AND S.peso > ALL ( SELECT S2.peso
FROM EMBARQUE as S2
WHERE S2.destino <> ‘Santiago’)
Indique lo que responde cada consulta o si son equivalentes indique su
respuesta (entregue el resultado sobre la instancia dada) (1 p)
4. Sea el esquema de relación R(A, B). ¿Cuándo se cumple y cuándo no
se cumple que A →→ B? Indique en qué caso, si es que es posible,
esta relación no está en 4FN (0.5 p).
5. Alguien le ha dicho que los triggers son siempre la mejor opción para
imponer condiciones a la actualización de los datos en una base de
datos. Indique si esto es cierto o no, justificando su respuesta. (0.5 p)
6. Considere el esquema de relación R(A, B, C), el cual tiene la DF B →
C. Si A es una clave candidata para R, ¿Es posible que R esté en
FNBC? Si es si, ¿Bajo qué condición? Si es no, justifique. (0.5)
7. Suponga que tiene un esquema de relación R(A, B, C) representando
una relación binaria entre 2 conjunto de entidades con claves A y B,
respectivamente, y suponga que R tiene las DFs A → B y B → A.
Explique qué significan estas DFs respecto a la relación binaria R.
(0.5)
2
Universidad de Concepción
Departamento de Ing. Informática y Cs. de la Computación
1. La clave candidata es abc ya que es la mı́nima combinación de atributos
que implican funcionalmente todos los atributos de la relación. Dado lo
anterior, la relación no está en segunda forma normal ya que d depende
solo de a (0.5). Una forma de normalizar hasta la 4ta forma normal es
creado la siguiendo decomposición, la cual pierde la clave original de
la tabla, pero está en 4FN.
R1 (a, d), R2 (a, b), R3 (a, c).
2. Las respuesta posible son:
a) En algebra relacional:
R1 (c, p) ← id camion Favg
← πnombre
(peso) (EM BARQU E)
chof er (CAM ION
o
nid
camion=c
and
p>1000
R1 )
En SQL:
SELECT nombre chofer
FROM CAMION as C, (SELECT id camion, avg(peso)
FROM EMBARQUE group by id camion having avg(peso) > 1000 ) R(c, p)
WHERE C.id camion = R.c
b) En algebra relacional:
R1 (c, d) ← id camion Fcount
← πid
(destino) (EM BARQU E)
camion (CAM ION
o
nid
camion=c
and
d=1
R1 )
En SQL:
SELECT e1.id camion
FROM EMBARQUE as e1
WHERE not exist (SELECT * FROM EMBARQUE as e2
WHERE e1.id camion = e2.id camion AND e1.destino <> e2.destino)
3. No son exactamente los mismos. La primera pregunta retorna los embarques que NO vayan Santiago y donde no exista otro embarque que
no vaya a Santiago con mayor o igual peso. Eso no se puede dar a menos que se compare el peso con un nulo, para todo caso siempre existe
una tupla que tiene al menos el mismo valor. Por lo que la respuesta
serı́a id embarque = 28. Para la segunda la respuesta es nulo porque
una peso no puede ser mayor que si mismo. Si no hay valores nulos,
entonces entregan el mismo resultado.
3
Universidad de Concepción
Departamento de Ing. Informática y Cs. de la Computación
4. Por propiedad TRIVIAL adicional, siempre se cumple que A →→
B y B →→ A. Si es ası́, y no se cumple que A → B o B → A,
entonces A, B son claves y se cumple que está en 4FN ya que éstas
son dependencias multivualadas TRIVIALES. Si A → B o B → A se
cumplen, entonces está en 4FN ya que las dependencias multivaluadas
son en sı́ dependencias funcionales.
5. No es cierto ya que pueden definirse restricciones en la definición de
los atributos sin tener que manejar el gatillador de un trigger, lo cual
tiene un costo mayor.
6. La única forma que R pueda estar en FNBC es si B es clave de R.
7. Significa que la relación es 1 a 1; es decir, cada entidad A corresponde
a lo más a un entidad B y viceversa.
4
Descargar