Test 2008-2009 2ºC - Departamento de Lenguajes y Sistemas

Anuncio
Departamento de Lenguajes y Sistemas Informáticos
E.T.S. Ingeniería Informática. Universidad de Sevilla
Avda Reina Mercedes s/n. 41012 Sevilla
Bases de Datos 23/abr/2009
Tiempo: 30min
e.t.s. ingeniería
informática
Test
NOMBRE:
Conteste, rodeando con un círculo las respuestas que crea acertadas, teniendo en cuenta que cada apartado puede tener una o varias respuestas
correctas (aciertos reales). El sistema de evaluación del test es por apartados, oscilando la puntuación de cada apartado mediante la fórmula:
, siendo A: Aciertos contestados, F: Fallos contetados, Ar: Aciertos posibles, pa :peso del apartado.
 A-F/A

MAX  pa

r
Ar
, − pa 

Con el siguiente esquema de BD asociado a un Departamento Universitario donde se define la carga de créditos de una
asignatura y los créditos que imparte cada profesor:
 profesores(dni : dnis, profesor : nombres, fecha_nac : fechas)PK(profesor)

asignaturas(asignatura : asignaturas, créditos1 : créditos)PK(asignatura)



imparte(profesor : nombres,asignatura : asignaturas,créditos 2 : créditos)PK(asignatura, profesor) 
Fk1(asignatura)/asignaturas, Fk2(profesor)/profesores 


1) Indicar las expresiones correctas en álgebra relacional:
a.
∏
tlfn
b.
c.
d.
Ω
(
( profesores  imparte )
σ
fecha_nac > ' 1/1/1955 '
asignatura,count(*)
profesor
)
( asignaturas imparte )
profesores ∪ asignaturas
(profesores  imparte asignaturas)
∏
asignatura, dni
∏
asignaturas
asignatura
e.
Ω
profesor,sum(créditos 2 )
profesor
( profesores imparte )
f. Ninguna de las anteriores
2) Indicar las expresiones correctas en SQL:
a. SELECT profesor FROM imparte I
WHERE NOT EXISTS (SELECT * FROM asignaturas A where I.asignatura = A.asignatura);
b. SELECT asignaturas.asignatura,asignaturas.créditos1 FROM asignaturas
WHERE NOT EXISTS (SELECT * FROM asignaturas OTRA
WHERE asignaturas.créditos1<OTRA.créditos1);
c. SELECT imparte.profesor, Sum(imparte.créditos2) FROM imparte
GROUP BY imparte.asignatura HAVING (Sum(imparte.créditos2)>=20);
d. SELECT TOP 1 imparte.profesor,Count(imparte.asignatura)
FROM profesores INNER JOIN imparte ON profesores.dni = imparte.profesor
GROUP BY imparte.profesor ORDER BY Count(imparte.asignatura) DESC;
e. SELECT EX.dni, EX.profesor FROM profesores EX
WHERE EXISTS (SELECT * FROM imparte TX WHERE EX.profesor = TX.profesor);
f. Ninguna de las anteriores
3) Señalar las expresiones correctas en CROT:
a.
b.
c.
d.
e.
{P.dni,P.profesor|profesores(P) ∧ P.fecha_nac = '3/3/53'}
{P.dni,P.profesor|profesores(P) ∧ ∃I ( imparte(I) ∧ P.profesor = I.profesor )}
{A.asignatura|A.créditos1 = 20}
{P.profesor,A.asignatura|asignaturas(A) ∧ ∃P ( profesores(P) ∧ A.créditos1 > 20 ∧ A.créditos1 < 30 )}
{P.dni,P.profesor|profesores(P) ∧ ∃/ I ( imparte(I) ∧ p.nombre = I.profesor )}
f. Ninguna de las anteriores
asignatura ,count (*)
σ count(*)>3
4) ¿Qué devuelve el programa algebráico:
Ω
asignatura
(
imparte
(
σ
asignaturas
créditos1> 6
))
?
a.
b.
c.
d.
e.
f.
5)
Asignaturas con más de 3 créditos y más de 6 créditos
Asignaturas con algún profesor que imparte más de 6 créditos
Número de profesores que imparten asignaturas con al menos 3 créditos y que no superan 6 créditos
La asignatura con más créditos
Asignaturas con más de 6 créditos y número de profesores que la imparte si su nº es superior a 3
Ninguna de las anteriores
¿Qué expresiones correctas en CROD expresan “profesores que imparten únicamente ‘matemáticas’” ?
a.
c.
{P | imparte(profesor : P, asignatura : ' matemáticas ' ) ∧ ∃/A ( imparte(profesor:P, asignatura:A)∧ A≠' matemáticas ')}
{P | profesores(profesor : P) ∧ ∃/A ( asignaturas(asignatura:A)∧ A≠' matemáticas ')}
{P | profesores(profesor : P) ∧ ∀A ( asignaturas(asignatura:A)∧ A=' matemáticas ')}
d.
{P | imparte( profesor : P, asignatura : ' matemáticas ') ∧ ∀A ( ¬imparte( profesor : P, asignatura : A) ∨ A = ' matemáticas ')}
e.
{P | profesores(profesor : P) ∧ ∀A (imparte(profesor:Pasignatura:A)∧ A≠' matemáticas ')}
b.
f. Ninguna de las anteriores
6) Señalar las expresiones equivalentes a
a.
b.
c.
d.
e.
f.
7)
 SELECT profesor FROM imparte I 
SELECT P. profesor FROM profesores P WHERE EXISTS 
;
 WHERE P. profesor = I . profesor

SELECT P. profesor FROM profesores P WHERE P. profesor IN (SELECT profesor FROM imparte );
SELECT P. profesor FROM profesores P WHERE P. profesor = ANY (SELECT profesor FROM imparte );
SELECT P. profesor FROM profesores P, imparte I WHERE P. profesor = I. profesor AND EXISTS (imparte . profesor);
SELECT P. profesor FROM profesores P WHERE P. profesor == SOMEONE (SELECT profesor FROM imparte );
SELECT P. profesor FROM profesores P WHERE P. profesor <ALL (SELECT profesor FROM imparte );
Ninguna de las anteriores.
(profesores  imparte)
∏
profesor, asignatura
Señala las expresiones correctas en CROT, CROD o SQL para la expresión en AR:
asignaturas
∏
asignatura
a. SELECT T.profesor, G.asignatura from profesores T inner join imparte G on T.profesor=P.profesor
WHERE NOT EXISTS (SELECT * from asignaturas A where G.asignatura <> A.asignatura);
b.
c.
d.
e.
{P. profesor | profesores(P) ∧ ∀A ( asignaturas(A) ∧∃I (imparte( I )∧I.profesor =P.profesor ∧I .asignatura= A.asignatura ))}
{P|profesores(profesor:P)∧∀A( asignaturas(asignatura:A) ∧∃/ P2(imparte( profesor:P2,asignatura:A)∧P =P2))}
{P. profesor|profesores(P)∧∃/ I (imparte(I) ∧∃A( asignaturas ( A)∧ I.profesor = P.profesor ∧ I .asignatura≠ A.asignatura ))}
{P. profesor | profesores(P) ∧ ∃/A ( asignaturas(A) ∧∃/ I ( imparte( I )∧ I.profesor = P.profesor ∧ I .asignatura= A.asignatura ))}
f. Ninguna de las anteriores
8)
a.
b.
c.
d.
e.
f.
Respecto de una clave ajena en el modelo relacional:
Tiene que ser forzosamente parte de la clave primaria.
Nunca es parte de la clave primaria.
Puede ser parte de la clave primaria.
Tiene que denominarse igual que el atributo que referencia en la otra relación.
Es siempre superclave.
Ninguna de las anteriores.
9)
a.
b.
c.
d.
e.
f.
Con respecto a las claves candidatas del modelo relacional:
La clave ajena se escoge entre las claves candidatas.
La superclave cumple el requisito de unicidad.
La clave primaria es cualquiera de las superclaves.
La clave candidata cumple los requisitos de unicidad y minimalidad.
Una clave ajena nunca puede ser clave candidata.
Ninguna de las anteriores.
10) En WinRDBI elija expresión(es) válida(s) para
a.
b.
c.
d.
e.
f.


( profesores  imparte ) 

σ
profesor fecha_nac = ' 1/ 3 /1955 '


∏
qAR := project profesor (select (fecha_nac =’1/3/1955’)(profesores njoin imparte));
qAR := project profesor (select (fecha_nac =’1/3/1955’)(profesores difference imparte));
qAR := pi profesor (select (fecha_nac =’1/3/1955’)(profesores njoin imparte));
qAR := project profesor ((select (fecha_nac =’1/3/1955’) (profesores)) njoin imparte);
qAR := project profesor (select (fecha_nac =’1/3/1955’)(profesores union imparte);
Ninguna de las anteriores
Descargar