Você está na página 1de 4

Base de Datos 1

Curso 2016 - Segundo Parcial

- El parcial tiene una duracin de 3 horas.


- Indique nombre completo y nmero de cdula en cada hoja entregada.
- Indique tambin nmero de hoja y cantidad de hojas totales en cada hoja.
- Justifique las respuestas, o asegrese que se pueda ver el proceso por el cual lleg a ellas.

Ejercicio 1 (33 Puntos):

Dado el siguiente modelo correspondiente a una realidad de restaurantes:

RESTAURANTES(RUT, Nombre, Categoria)


Tiene la informacin de los restaurantes registrados.

COMIDAS(Nombre, Tipo, TiempoPreparacion)


Cuenta con la informacin de las comidas.

INGREDIENTES(Nombre, CostoPorUnidad)
Indica la informacin de los ingredientes.

PREPARACION(NomCom, NomIng, CantidadUnidades)


Especifica los ingredientes necesarios para realizar cada comida.
N omCom (PREPARACION) Nombre (COMIDAS)
NomIng (PREPARACION) Nombre (INGREDIENTES)

VENDEN(RUT, NomCom, Precio)


Cuenta con la informacin de las comidas que venden los restaurantes.
N omCom (VENDEN) Nombre (COMIDAS)
RUT (VENDEN) RUT (RESTAURANTES)

DEGUSTADORES(CI, Nombre, Apellido, Sexo)


Tiene la informacin de los degustadores.

CALIFICACIONES(Anio, RUT, CIDeg, NomCom, Calificacion)


Indica las calificaciones obtenidas por los restaurantes ao a ao, a partir de una
degustacin de una comida.
N omCom (CALIFICACIONES) Nombre (COMIDAS)
RUT (CALIFICACIONES) RUT (RESTAURANTES)
CIDeg (CALIFICACIONES) CI (DEGUSTADORES)

Se pide: Resolver las primeras 2 consultas en lgebra Relacional y las ltimas 2 en SQL.

I. Indique los nombres de los restaurantes que nunca fueron calificados con una
nota menor a 3 por ningn degustador masculino (Sexo M) de apellido Ego.
II. Encuentre los degustadores (su CI) que han calificado a todos los restaurantes a
partir de degustar la comida de nombre Ratatouille.

III. Encuentre los degustadores (su CI) que han calificado con un 5 (calificacin)
algn restaurante de categora Parrillada que vende alguna comida a un precio
menor que su costo de preparacin.

IV. Indique la cantidad de ingredientes distintos utilizados por los restaurantes, para
cada restaurante que utilice ms ingredientes que los necesarios para realizar la
comida de nombre Desayuno Buffet.

Ejercicio 2 (33p):

Dado el siguiente esquema relacional R y su respectivo conjunto de dependencias F:

R(A,B,C,D,E,G)
F = {CDE, ACDG, ABC, BDE, DCCED, EDG, DBEA}

Se pide:

I. Hallar todas las claves.

II. Hallar un cubrimiento minimal de F.

III. Dada la descomposicin = (R1, R2, R3) siendo:


R1(A,C,E,D), R2(B,G,A) y R3(G,E,B)

A. Es una descomposicin con join sin prdida?


Utilice el algoritmo visto en clase.

B. Proyecte las dependencias de F a .


Se preservan las dependencias?

C. En qu forma normal se encuentran R1, R2 y R3?

IV. LLevar R a 3NF con preservacin de dependencias. Tiene JSP? Se encuentra en


BCNF?
NOTA DE LA SOLUCIN: Las soluciones son unas de las tantas posibles, no son
las mejores, estn hechas de esta forma para que se entiendan de mejor
manera (SQL Y lgebra).

Ejercicio 1 (33 Puntos):

I. DegEgoM CI ( Apellido=Ego Sexo=M (DEGUSTADORES))

EstosNo RUT (DegEgoM l><l ( Nota<3 (CALIFICACIONES)))


CI=CIDeg

SinNombre ( RUT (RESTAURANTES)) - EstosNo

( Nombre (RESTAURANTES * SinNombre)

II. Divisor
( RUT (RESTAURANTES)) X ( Nombre( Nombre=Ratatouille (COMIDAS)))

Dividendo CIDeg, RUT, NomCom (CALIFICACIONES)

Dividendo Divisor

III. SELECT CIDeg


FROM CALIFICACIONES natural join RESTAURANTES
WHERE Calificacin=5 and Categora=Parrillada and RUT IN
(SELECT RUT
FROM VENDEN V
WHERE Precio<
(SELECT SUM(CostoPorUnidad*CantidadUnidades)
FROM PREPARACION P join INGREDIENTES I on
P.NomIng=I.Nombre
WHERE P.NomCom=V.NomCom));

IV. SELECT RUT, COUNT(DISTINCT(NomIng))


FROM VENDEN natural join PREPARACION
GROUP BY RUT
HAVING COUNT(DISTINCT(NomIng)) >
(SELECT COUNT(*)
FROM PREPARACION
WHERE NomCom=Desayuno Buffet);

Ejercicio 2 (33p):

I. Hallar todas las claves.


A y B
II. Hallar un cubrimiento minimal de F.
{AB, AC, BA, BD, CDE, ED, EG}
III. Dada la descomposicin = (R1, R2, R3) siendo:
R1(A,C,E,D), R2(B,G,A) y R3(G,E,B)

A. Es una descomposicin con join sin prdida?


Utilice el algoritmo visto en clase.
Si, sin prdidas
B. Proyecte las dependencias de F a .
Se preservan las dependencias?
R1{AC, AD, CDE, ED}
R2{AB, BA, BG}
R3{BE, EG}
Si se preservan
C. En qu forma normal se encuentran R1, R2 y R3?
R1 2NF
R2 BCNF
R3 2NF
IV. LLevar R a 3NF con preservacin de dependencias. Tiene JSP? Se encuentra en
BCNF?

Si seguan el algoritmo al pie de la letra obtenan algo as:


(ABC){ABC, BA}
(BDA){BAD, AB}
Puedo unir las primeras 2 para simplificar, o a una de ellas quitarles A o B (yo las
juntara).
(CDE){CDE, ED}
(EDG){EDG}
No tiene prdidas, y no se encuentra en BCNF (ED en CDE)

Você também pode gostar