Sei sulla pagina 1di 10

CUESTIONARIO DE BASES DE DATOS 3/9/2001. Rellene con las respuestas correctas el casillero adjunto.

Tipo A

&DGD FXHVWLyQ YDOH  SXQWRV 6yOR KD\ XQD RSFLyQ FRUUHFWD &DGD FXHVWLyQ PDO FRQWHVWDGD DQXOD  GH FXHVWLyQ FRUUHFWD SRU OR WDQWR OD QRWD REWHQLGD HQ HO WHVW HV HO UHVXOWDGR GH OD VLJXLHQWH IyUPXOD

(Bien_Contestadas Mal_contestadas/3)*0.25.

1. Dado el siguiente esquema relacional (esquema 1): DOM_PETICIN: {IMPRIMIR, CALCULAR} ORDENADOR (id: entero, nombre: tira(20), ubicacin: tira (15)) CP= {id} UNI={nombre} CONEXION (servidor: entero, cliente: entero, peticin: dom_peticin) CP = {servidor, cliente} CAj = {servidor} Ordenador CAj = {cliente} Ordenador Borrado en Cascada Qu consulta en SQL obtendra el nombre de los ordenadores que han intervenido como servidores de impresin? a) SELECT nombre FROM Conexin WHERE peticin=imprimir b) SELECT DISTINCT nombre FROM Conexin C, Ordenador O WHERE C.servidor=O.id AND C.cliente=O.id AND peticin=imprimir c) SELECT nombre FROM Ordenador WHERE id IN (SELECT servidor FROM Conexin WHERE peticin=imprimir) d) SELECT DISTINCT nombre FROM Conexin C, Ordenador O WHERE C.cliente=O.id AND peticin=imprimir 2. En el esquema 1 cul de las siguientes afirmaciones es CIERTA? a) Las dos claves ajenas de Conexin se podran simplificar en una nica clave ajena de la forma CAj={servidor, cliente} Ordenador b) No se pueden aadir nuevas conexiones sin conocer el tipo de peticin. c) El borrado de una tupla de Conexin producira el borrado de la tupla de Ordenador referida por la clave ajena cliente d) No se permiten borrados en Ordenador para aquellos ordenadores que hayan actuado como servidor en alguna conexin. 3. En el esquema 1, qu representa la siguiente frmula bien formada de Clculo Relacional de Tuplas? OX: Ordenador, CX: Conexin OX (Ordenador (OX) CX (Conexin (CX) OX.id=CX.servidor CX.servidor=CX.cliente)) a) Una restriccin de integridad que impide que un ordenador acte en la misma conexin como cliente y como servidor. b) Una restriccin de integridad que impide que un ordenador acte como cliente y como servidor. c) Una consulta para obtener toda la informacin de los ordenadores que han actuado como servidores y que no han actuado como clientes. d) Una restriccin de integridad redundante que ya ha sido expresada en el esquema a travs de las dos claves ajenas.

4. En el esquema 1, qu representa la siguiente expresin de lgebra Relacional? ((Conexin [servidor] (servidor, id) - Conexin [cliente] (cliente, id)) Ordenador) [nombre]. a) Una consulta que obtiene el nombre de los ordenadores que no han actuado nunca ni como servidor ni como cliente. b) Una consulta que obtiene el nombre de los ordenadores que han actuado alguna vez como servidor pero no han actuado nunca como cliente. c) Una restriccin que impide que un ordenador acte en la misma conexin como cliente y como servidor. d) Una consulta que obtiene el nombre de los ordenadores que han actuado alguna vez como cliente pero no han actuado nunca como servidor. 5. Considera el siguiente esquema relacional (esquema 2): Medicamento (cod_med:dom_med,nombre:dom_nombre,precio: dom_precio) CP={cod_med} Enfermedad ( cod_enf: dom_enf, nombre: dom_nombre, desc: dom_desc) CP={cod_enf} Cura (cod_med: dom_med, cod_enf: dom_enf) CP={cod_med, cod_enf} CAj={cod_med} Medicamento Borrado a Nulos Modificacin en Cascada CAj={cod_enf} Enfermedad Borrado en Cascada Modificacin a Nulos Provoca (cod_med:dom_med, cod_enf: dom_enf} CP={cod_med, cod_enf} CAj={cod_med} Medicamento CAj={cod_enf} Enfermedad Dada una transaccin formada por la siguiente secuencia de operaciones: INSERT INTO Medicamento VALUES ('M1', 'Aspirina', 500); INSERT INTO Medicamento VALUES ('M2', 'Tauritn', 1500); INSERT INTO Enfermedad VALUES ('E1', 'Taquicardias', 'Plpitos'); INSERT INTO Cura VALUES ('M1', 'E1'); INSERT INTO Cura VALUES ('M2', 'E1'); UPDATE Cura SET cod_med='M2' WHERE cod_enf = 'E1' Cul de las siguientes afirmaciones es CIERTA? a) La transaccin sera aceptada y sus cambios se haran permanentes despus de la confirmacin del usuario. b) La transaccin se rechazara ya que la directriz Modificacin en Cascada definida sobre la clave ajena {cod_med} de la relacin Cura violara la restriccin de clave primaria de Medicamento. c) La transaccin se rechazara ya que la modificacin viola la clave ajena {cod_med} de la relacin Cura. d) La transacin se rechazara ya que la modificacin viola la clave primaria de la relacin Cura. 6. Dada una base de datos del esquema 2, cul de estas afirmaciones es CIERTA? a) Se puede borrar una tupla de la relacin Enfermedad si no es provocada por ningn medicamento (no aparece en ninguna tupla de Provoca). b) Se puede borrar una tupla de la relacin Enfermedad si no es curada por ningn medicamento (no aparece en ninguna tupla de Cura). c) Siempre se puede borrar una tupla de la relacin Enfermedad . d) Slo se puede borrar una tupla de la relacin Enfermedad cuando las relaciones Cura y Provoca estn vacas.

7. En el esquema 2, dada una base de datos relacional inicialmente vaca y la siguiente transacin: INSERT INTO Medicamento VALUES ('M1', 'Aspirina', 500); INSERT INTO Medicamento VALUES ('M2', 'Tauritn', 1500); INSERT INTO Enfermedad VALUES ('E1', 'Taquicardias', 'Plpitos'); INSERT INTO Enfermedad VALUES ('E2', 'Hipotensin', 'Mareos'); INSERT INTO Cura VALUES ('M1', 'E1'); DELETE FROM Medicamento WHERE cod_med='M1' ; INSERT INTO Provoca VALUES ('M2', 'E1') Suponiendo que todas las restricciones se han definido como INITIALLY DEFERRED, cul sera el estado final de la base de datos despus de ejecutar la transaccin? a) Medicamento Enfermedad cod_med nombre precio cod_enf nombre desc M2 Tauritn 1500 E1 Taquicardias Plpitos E2 Hipotensin Mareos Cura Provoca cod_med cod_enf cod_med cod_enf ? E1 M2 E1 b) Medicamento Enfermedad cod_med nombre precio cod_enf nombre desc M2 Tauritn 1500 E1 Taquicardias Plpitos E2 Hipotensin Mareos Cura Provoca cod_med cod_enf cod_med cod_enf c) Medicamento Enfermedad cod_med nombre precio cod_enf nombre desc Cura Provoca cod_med cod_enf cod_med cod_enf d) Medicamento Enfermedad cod_med nombre precio cod_enf nombre desc M2 Tauritn 1500 E1 Taquicardias Plpitos M1 Aspirina 500 E2 Hipotensin Mareos Cura Provoca cod_med cod_enf cod_med cod_enf ? E1 M2 E1 8. En una base de datos del esquema 2, qu ocurre si se borra un medicamento que cura una enfermedad? a) Se borra la tupla correspondiente de Medicamento y en cascada la de Enfermedad b) Se borra la tupla correspondiente de Medicamento y en cascada la de Cura c) Se borra la tupla correspondiente de Medicamento y se pone a NULO el atributo cod_med de la tupla correspondiente de Cura. d) Tal y como est definido el esquema no se puede realizar el borrado sin borrar previamente la correspondiente tupla de Cura.

9. En el esquema 2, Cul es la cardinalidad mxima y mnima de la relacin definida por la siguiente expresin de lgebra Relacional? Cura [cod_med] - Provoca [cod_med] a) Mnima: 0, Mxima: card (Cura) b) Mnima: card (Medicamento), Mxima: card (Cura) c) Mnima: min (card (Cura), card (Provoca)), Mxima: card (Cura) * card (Provoca) d) Mnima: max (card (Cura), card (Provoca)), Mxima: card (Medicamento) 10. En el esquema 2, Cul ser la extensin final de la relacin Enfermedad, inicialmente vaca, si dos procesos realizan las siguientes transacciones concurrentemente, en un SGBD con reserva (bloqueo) de datos? Proceso 1: INSERT INTO Enfermedad VALUES ('Tab', 'Tabaquismo', 'Tos no productiva') Proceso 2: INSERT INTO Enfermedad VALUES ('Tab', 'Picadura de tbano', 'Hinchazn de color grisceo') a) Enfermedad cod_enf nombre desc Tab Tabaquismo Tos no productiva Tab Picadura de tbano Hinchazn de color grisceo b) Se insertar la tupla de la transaccin que empiece antes. c) La tabla vaca. d) Se insertar la tupla de la transaccin que acabe antes. 11. Qu instrucciones SQL usara el administrador de la base de datos para definir un esquema externo para un usuario? a) CREATE VIEW y CREATE DOMAIN. b) CREATE SCHEMA. c) GRANT y CREATE VIEW. d) No existen instrucciones, los esquemas externos se crean desde las aplicaciones. 12. Para reconstruir una base de datos despus de un fallo con prdida de memoria principal qu herramientas se necesitan? a) Ninguna, puesto que la base de datos se almacena en memoria secundaria. b) El fichero de diario. c) La copia de seguridad ms reciente. d) El fichero de diario y la copia de seguridad ms reciente. 13. Las propiedades de una transaccin son a) Atomicidad, consistencia, persistencia y aislamiento. b) Atomicidad, consistencia, independencia y aislamiento. c) Atomicidad, transparencia, persistencia y aislamiento. d) Atomicidad, consistencia, persistencia e independencia. 14. Indica qu afirmacin sobre los ndices secundarios es CIERTA a) Un ndice secundario necesita el mismo o ms espacio de almacenamiento que un ndice primario. b) Un ndice secundario requiere siempre que el fichero de datos est ordenado. c) Un ndice secundario es un ndice no denso. d) En un ndice secundario no se puede utilizar bsqueda binaria.

BASES DE DATOS
GH 3UR\HFWRV

Septiembre 2001

(O VLJXLHQWH HVTXHPD UHODFLRQDO UHSUHVHQWD HO VLVWHPD GH LQIRUPDFLyQ GH XQD HPSUHVD

05,79,20394 /059 GBGHS QRPEUH GBQRP XELFDFLyQ GBXEL GLUHFWRU


GBQXP
&3 ^GHSW ` 911^GLUHFWRU` &$M ^GLUHFWRU`

(PSOHDGR I GLUHFWRU Q~PHUR

(PSOHDGR Q~PHUR GBQXP QRPEUH GBQRP GLU GBGLU SREODFLyQ GBSRE


GHSW GBGHS MHIH GBQXP FDW GBFDW

&3 ^Q~PHUR` 911 ^QRPEUH SREODFLyQ GHSW FDW` &$M ^GHSW` &$M ^MHIH` 'HSDUWDPHQWR (PSOHDGR I MHIH Q~PHUR

CAj: {cat} Categora

&DWHJRUtD .,9 GBFDW GHVF GBGHVF WDULIDBKRUDULD GBSWDV


&3 ^FDW`

3UR\HFWR LGHQWLI GBLGH QRPEUH GBQRP SUHVXSXHVWR GBSUHV SREODFLyQ GBSRE GHSW GBGHS UHVSRQVDEOH GBQXP
&3 ^LGHQWLI` 911 ^QRPEUH SUHVXSXHVWR SREODFLyQ GHSW UHVSRQVDEOH` &$M ^GHSW`

'HSDUWDPHQWR

&$M ^UHVSRQVDEOH`

(PSOHDGR

I UHVSRQVDEOH Q~PHUR

7UDEDMRBUHDOL]DGR Q~PHUR GBQXP LGHQWLI GBLGH LQLFLR GBLQVWDQWH


ILQ GBLQVWDQWH

&3 ^Q~PHUR LGHQWLI LQLFLR ` 911 ^ILQ` &$M ^Q~PHUR` &$M ^LGHQWLI` (PSOHDGR 3UR\HFWR

'(638e6 '( /((5 $7(17$0(17( (/ (648(0$ 5(/$&,21$/ $17(5,25 5(68(/9$ /26 6,*8,(17(6 (-(5&,&,26

1. Resuelva las siguientes cuestiones sobre el esquema anterior: a) Puede un empleado trabajar ms de una vez en el mismo proyecto? Justifique brevemente la
respuesta. (0.25) b) Puede un jefe ser empleado y director de un departamento al mismo tiempo? Justifique brevemente la respuesta. (0.25) c) Puede un mismo empleado ser director de ms de un departamento? (0.25)

2. Escriba en SQL/92 las siguientes consultas: a) Obtener el nmero y nombre de los empleados de los que no se conoce la direccin. (0.25) b) Obtener cuntos empleados tienen una categora cuya descripcin corresponde a ebanista y
no tienen un jefe asignado. (0.5) c) Obtener el nmero y nombre de los empleados con mayor tarifa horaria. (0.25) d) Obtener el nombre de aquellos proyectos para los que han realizado trabajos empleados que viven en una poblacin distinta a la del proyecto. (0.75) e) Obtener el cdigo del proyecto y la cantidad de empleados diferentes, con una tarifa horaria superior a las 10.000 ptas, que han trabajado en l. Deber reflejarse en el resultado de la consulta el hecho de que la cantidad de empleados de un proyecto fuera igual a cero. (1) f) Obtener el nombre de aquellos departamentos sin empleados. (0.5) g) Obtener el nombre de los empleados que han realizado todos los trabajos de los proyecto desarrollados por el departamento D100. Suponed que el departamento D100 tiene al menos un trabajo realizado. (1)

3. Dada la restriccin de integridad:


El presupuesto de un proyecto en un instante de tiempo t nunca ser inferior al de un instante de tiempo t anterior, es decir, siempre aumentar a) Enumere las operaciones sobre la base de datos que podran violar la restriccin. (0.5) b) Disee un disparador (trigger) de ORACLE8 para controlar alguna de las operaciones enumeradas en la cuestin anterior. La operacin que viola la restriccin debe ser abortada. (0.25)

4. Exprese la siguiente restriccin de integridad en Clculo Relacional de Tuplas:


" Todos los empleados del departamento cuyo cdigo es D127 deben tener una tarifa horaria superior a 1.500 ptas." (0.75)

GRQGH ORV DWULEXWRV WLHQHQ HO VLJXLHQWH VLJQLILFDGR

'HSDUWDPHQWR

FyGLJR GHO GHSDUWDPHQWR XELFDFLyQ HGLILFLR \ SODQWD


GHSW

QRPEUH GHO GHSDUWDPHQWR GLUHFWRU GLUHFWRU GHO GHSDUWDPHQWR


QRPEUH

(PSOHDGR

Q~PHUR Q~PHUR LGHQWLILFDWLYR GHO HPSOHDGR QRPEUH QRPEUH GHO HPSOHDGR SREODFLyQSREODFLyQ GHO HPSOHDGR GLUGLUHFFLyQ GHSW GHSDUWDPHQWR GRQGH WUDEDMD

MHIH Q~PHUR LGHQWLILFDWLYR GH VX MHIH FDW FDWHJRUtD

&DWHJRUtD

FDW

FDWHJRUtD

GHVFGHVFULSFLyQ FRUUHVSRQGLHQWH D OD FDWHJRUtD

WDULIDBKRUDULD SHVHWDV SRU KRUD


3UR\HFWR

FyGLJR GHO SUR\HFWR QRPEUH QRPEUH GHO SUR\HFWR SREODFLyQ SREODFLyQ GRQGH VH GHVDUUROOD HO SUR\HFWR GHSW GHSDUWDPHQWR GRQGH VH GHVDUUROOD HO SUR\HFWR UHVSRQVDEOH UHVSRQVDEOH GHO SUR\HFWR SUHVXSXHVWR SUHVXSXHVWR GHO SUR\HFWR
LGHQWLI

7UDEDMRBUHDOL]DGR ,QIRUPDFLyQ VREUH WUDEDMRV DFDEDGRV


Q~PHUR LGHQWLI LQLFLR ILQ

Q~PHUR GHO HPSUHDGR TXH KD UHDOL]DGR HO SUR\HFWR FRGLJR GHO SUR\HFWR UHDOL]DGR

WLHPSR GH FRPLHQ]R GHO WUDEDMR

WLHPSR GH ILQDOL]DFLyQ GHO WUDEDMR

&8(67,21$5,2 '( %$6(6 '( '$726 

62/8&,21(6

4              

$
. / , / , . / , . , ,

%
. . / . / . . . . , / -

&
. . / , / , . / , , ,

'
. , , . . . . / . /

(
. , , / , . / , . / , -

)
, . / , , / . . . /

BASES DE DATOS

SEPTIEMBRE 2001

SOLUCIONES
(0.25)

1A) Puede un empleado trabajar ms de una vez en el mismo proyecto? Justifique brevemente la respuesta.
6t SRUTXH HQ OD UHODFLyQ 7UDEDMRBUHDOL]DGR GDGD OD &3 VH SXHGH UHSHWLU HO SDU

Q~PHURLGHQWLI YDULDQGR HO DWULEXWR LQLFLR FRQ OR TXH HO PLVPR HPSOHDGR SDUWLFLSDUtD PiV GH XQD

YH] HQ HO PLVPR SUR\HFWR

1B) Puede un jefe ser empleado y director de un departamento al mismo tiempo? Justifique brevemente la respuesta.(0.25)
6t EDVWDUtD LQGLFDU HQ HO DWULEXWR GLUHFWRU GH GHSDUWDPHQWR G HO FyGLJR GH XQ HPSOHDGR H TXH SHUWHQH]FD DO GHSDUWDPHQWR G HV GHFLU XQ HPSOHDGR H TXH DSDUH]FD HQ OD WDEOD HPSOHDGR \ FX\R DWULEXWR GHSW KDJD UHIHUHQFLD D HVH GHSDUWDPHQWR G \ DGHPiV VHD MHIH GH RWUR HV GHFLU KD\D RWUD WXSOD HQ HPSOHDGR H FX\R DWULEXWR MHIH VHD HO GHO SULPHU HPSOHDGR H

1C) Puede un mismo empleado ser director de ms de un departamento?


6t SRUTXH HO DWULEXWR GLUHFWRU GH 'HSDUWDPHQWR QR WLHQH UHVWULFFLyQ GH XQLFLGDG

(0.25)

2.a) Obtener el nmero y nombre de los empleados de los que no se conoce la direccin.
6(/(&7 (Q~PHUR (QRPEUH )520 (03/($'2 (
:+(5( (GLU ,6 18//

(0.25)

2.b) Obtener cuntos empleados tienen una categora cuya descripcin corresponde a ebanista y no tienen un jefe asignado. (0.5)
6(/(&7 &2817 )520 (03/($'2 ( &$7(*25,$ &

:+(5( (FDW &FDW $1' &GHVF HEDQLVWD $1' (MHIH ,6 18//

2.c) Obtener el nmero y nombre de los empleados con mayor tarifa horaria.
6(/(&7 (Q~PHUR (QRPEUH )520 (03/($'2 ( &$7(*25,$ &
:+(5( (FDW &FDW $1' &WDULIDBKRUDULD 6(/(&7 0$; &WDULIDBKRUDULD )520 (03/($'2 ( &$7(*25,$ & :+(5( (FDW &FDW 

(0.25)

2.d) Obtener el nombre de aquellos proyectos para los que han realizado trabajos empleados que viven en una poblacin distinta a la del proyecto. (0.75)
6(/(&7 3QRPEUH )520 352<(&72 3
:+(5( 3LGHQWLI ,1 6(/(&7 7LGHQWLI )520 75$%$-2B5($/,=$'2 7 (03/($'2 ( :+(5( 7Q~PHUR (Q~PHUR $1' 3SREODFLyQ ! (SREODFLyQ 

2.e) Obtener el cdigo del proyecto y la cantidad de empleados diferentes, con una tarifa horaria superior a las 10.000 ptas, que han trabajado en l. Deber reflejarse en el resultado de la consulta el hecho de que la cantidad de empleados de un proyecto fuera igual a cero. (1)
6(/(&7 7LGHQWLI &2817 ',67,1&7 7Q~PHUR

)520 75$%$-2B5($/,=$'2 7 (03/($'2 ( &$7(*25,$ & :+(5( 7Q~PHUR (Q~PHUR $1' (FDW &FDW $1' &WDULIDBKRUDULD ! 
*5283 %< 7LGHQWLI 81,21 6(/(&7 3LGHQWLI  )520 352<(&72 3 :+(5( 127 (;,676 6(/(&7 )520 75$%$-2B5($/,=$'2 7 (03/($'2 ( &$7(*25,$ & 3LGHQWLI 7LGHQWLI $1' 7Q~PHUR (Q~PHUR $1'

(FDW &FDW $1' &WDULIDBKRUDULD ! 




Otra solucin vlida:


6(/(&7 3LGHQWLI &2817 ',67,1&7 7Q~PHUR )520 352<(&72 3 /()7 -2,1 75$%$-2B5($/,=$'2 7 -2,1 6(/(&7 (Q~PHUR )520 (03/($'2 ( &$7(*25,$ & :+(5( (FDW &FDW $1' &WDULIDBKRUDULD !  ( 21 7Q~PHUR (Q~PHUR 21 3LGHQWLI 7LGHQWLI *5283 %< 3LGHQWLI

El orden de los parntesis (que la condicin de la tarifa sea previa) es importante para que la concatenacin externa se haga correctamente. 2.f) Obtener el nombre de aquellos departamentos sin empleados.
6(/(&7 'QRPEUH )520 '(3$57$0(172 ' :+(5( 127 (;,676 6(/(&7 )520 (03/($'2 ( :+(5( (GHSW 'GHSW 

(0.5)

2.g) Obtener el nombre de los empleados que han realizado todos los trabajos de los proyectos desarrollados por el departamento D100. Suponed que el departamento D100 tiene al menos un trabajo realizado. (1)
6(/(&7 (QRPEUH )520 (03/($'2 ( :+(5( 127 (;,676 6(/(&7 )520 75$%$-2B5($/,=$'2 7 352<(&72 3 :+(5( 3LGHQWLI 7LGHQWLI $1' 3GHSW ' $1' 7Q~PHUR!(Q~PHUR 

3. Dada la restriccin de integridad: El presupuesto de un proyecto no puede disminuir 3.a) Enumere las operaciones sobre la base de datos que podran violar la restriccin.

02',),&$&,1 GHO DWULEXWR 35(6838(672 GH OD UHODFLyQ 352<(&72

(0.5)

3.b) Disee un disparador (trigger) de ORACLE8 para controlar alguna de las operaciones enumeradas en la cuestin anterior. La operacin que viola la restriccin debe ser abortada. (0.25)

&5($7( 75,**(5 7
)25 ($&+ 52:

$)7(5 83'$7( 2) SUHVXSXHVWR 21 SUR\HFWR :+(1 QHZSUHVXSXHVWR  ROGSUHVXSXHVWR

%(*,1
(1'

 7DPELpQ VH SXHGH SRQHU DEDMR 

5$,6(B$33/,&$7,21B(5525  (O SUHVXSXHVWR GHO SUR\HFWR QR SXHGH GLVPLQXLU 

4. Exprese la siguiente restriccin de integridad en Clculo Relacional de Tuplas: " Todos los empleados del departamento cuyo cdigo es D127 deben tener una tarifa horaria superior a 1.500 ptas." (0.75) (;

;

(03/($'2 &; &$7(*25$ (03/($'2 (;

(;GHSW

'

&;

&$7(*25$ &;

&;FDW (;FDW &;FDW !  Aparte de la solucin con negacin de existenciales, dado el VNN de la CAj, en la solucin anterior la implicacin se puede mover ms a la derecha (en concreto antes de CX.tarifa_horaria > 1500).

Potrebbero piacerti anche