Solucionario
Ejercicios de autoevaluación
1.
a) La relación representada tiene el siguiente conjunto de atributos: edificio, número, superficie. b) Los dominios son dominio(edificio) = edificios, dominio(número) = números y dominio(superficie) = sups.
c) Las formas de denotar el esquema de relación son:
• DESPACHOS(edificio, número, superficie),
• DESPACHOS(edificio, superficie, número),
• DESPACHOS(número, edificio, superficie),
• DESPACHOS(número, superficie, edificio),
• DESPACHOS(superficie, edificio, número),
• DESPACHOS(superficie, número, edificio),
que corresponden a las posibles ordenaciones de sus atributos.
d) Elegiremos la siguiente forma de denotar el esquema de relación: DESPACHOS(edificio, número, superficie).
Entonces el conjunto de tuplas de su extensión será:
Figura 5
2. Las superclaves de las relaciones correspondientes son:
a) {edificio, número} y {edificio, número, superficie}.
b) {DNI}, {NSS}, {DNI, NSS}, {DNI, nombre}, {DNI, apellido}, {NSS, nombre}, {NSS, apellido}, {DNI, nombre, apellido}, {NSS, nombre, apellido}, {DNI, NSS, nombre, apellido} y {DNI, NSS, nombre, apellido}.
3.
a) Se acepta.
b) Se rechaza porque viola la regla de integridad de entidad de la clave primaria.
c) Se rechaza porque viola la regla de integridad referencial.
d) Se rechaza porque viola la regla de integridad de unicidad de la clave primaria.
e) Se acepta.
f) Se rechaza porque viola la regla de integridad de unicidad de la clave primaria.
g) Se rechaza porque viola la regla de integridad referencial.
h) Se acepta y se borran el edificio Marina y todos sus despachos.
4.
a) Podemos utilizar la siguiente secuencia de operaciones:
• A := DESPACHOS(superficie>15),
• R := A * EDIFICIOS_EMP.
b) Podemos utilizar la siguiente secuencia de operaciones:
• A := DESPACHOS[edificio, número],
• B := EMPLEADOS_ADM EMPLEADOS_PROD,
• C := B[edificiodesp, númerodesp],
• R := A- C.
c) Podemos utilizar la siguiente secuencia de operaciones:
• A := EMPLEADOS_ADM EMPLEADOS_PROD,
• B := A(edificiodesp = NULO y númerodesp = NULO),
• R := B[nombre, apellido].
d) Podemos utilizar la siguiente secuencia de operaciones:
• A := EMPLEADOS_ADM EMPLEADOS_PROD,
• B(DNI, nombre, apellido, edificio, número) := A(DNI, nombre, apellido, edificiodesp, númerodesp),
• C := B * DESPACHOS,
• D := C * EDIFICIOS_EMP,
• R := D[nombre, apellido, superficie, supmediadesp].
e) Podemos utilizar la siguiente secuencia de operaciones:
• A := DESPACHOS(edificio = Diagonal y número = 120),
• B(Ed, Num, Sup) := A(edificio, número, superficie),
• C := DESPACHOS[superficie>Sup]B,
• R := C[edificio, número].
f) Podemos utilizar la siguiente secuencia de operaciones:
• A := EMPLEADOS_ADMEMPLEADOS_PROD,
• B(DNI, nombre, apellido, edificio, número) := A(DNI, nombre, apellido, edificiodesp, númerodesp),
• C := DESPACHOS *I B,
• R := C[edificio, número, DNI].
5. La secuencia siguiente:
• A := T- S,
• R := T - A,
sólo incluye operaciones primitivas, dado que la diferencia es primitiva, y obtiene el mismo resultado que R := T S.
6. La siguiente secuencia:
• A := T x S,
• R := A(B = D y C = E),
que sólo incluye operaciones primitivas (un producto cartesiano y una selección), obtiene el mismo resultado que R := T[B = D ,C = E]S.