0% encontró este documento útil (0 votos)
2 vistas56 páginas

Wuolah-free-UD2 Todas Consultas Practicas

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 56

UD2.

pdf

ainoapal

Bases de datos y sistemas de información

3º Grado en Ingeniería Informática

Escuela Técnica Superior de Ingeniería Informática


Universidad Politécnica de Valencia

Reservados todos los derechos.


No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Departamento de Sistemas Informáticos y Computación

APLICACIÓN: sqldeveloper

USUARIO: apalper
CONTRASEÑA: apalper

Bases de Datos y
Sistemas de Información

Grado en Ingeniería Informática

Unidad Didáctica 2: El lenguaje SQL: manipulación de


datos
Parte 2: Ejercicios (Práctica 1)
(Doc. UD2.2)

Curso 2021/2022

Bases de Datos y Sistemas de Información Documento UD2.2 1

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Índice
1 Introducción .............................................................................................................................................4
2 Presentación de la base de datos CINE.....................................................................................................5
3 Ejercicios sobre la base de datos Cine ......................................................................................................6
3.1 Consultas sobre una sola tabla ..........................................................................................................6
3.2 Consultas sobre varias tablas .............................................................................................................7
3.3 Consultas con subconsultas ...............................................................................................................8
3.4 Consultas universalmente cuantificadas ..........................................................................................10
3.5 Consultas agrupadas ........................................................................................................................12
3.6 Consultas con concatenación ...........................................................................................................13
3.7 Consultas conjuntistas .....................................................................................................................15
3.8 Consultas generales .........................................................................................................................15
4 Presentación de la base de datos MÚSICA .............................................................................................17
5 Ejercicios sobre la base de datos MÚSICA ..............................................................................................19
5.1 Consultas sobre una sola relación ....................................................................................................19
5.2 Consultas sobre varias relaciones ....................................................................................................20
5.3 Consultas con subconsultas .............................................................................................................21
5.4 Consultas con cuantificación universal ............................................................................................21
5.5 Consultas agrupadas ........................................................................................................................22
5.6 Consultas generales .........................................................................................................................22
6 Presentación de la base de datos BIBLIOTECA .......................................................................................25
7 Ejercicios sobre la base de datos BIBLIOTECA ........................................................................................26
7.1 Consultas sobre una sola relación ....................................................................................................26
7.2 Consultas sobre varias relaciones ....................................................................................................28
7.3 Consultas con subconsultas .............................................................................................................28
7.4 Consultas con cuantificación universal ............................................................................................29
7.5 Consultas agrupadas ........................................................................................................................30
7.6 Consultas generales .........................................................................................................................32
8 Presentación de la base de datos CICLISMO...........................................................................................33
9 Ejercicios sobre la base de datos CICLISMO ...........................................................................................34
9.1 Consultas sobre una sola relación ....................................................................................................34
9.2 Consultas sobre varias relaciones ....................................................................................................35

Bases de Datos y Sistemas de Información Documento UD2.2 2

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

9.3 Consultas con subconsultas .............................................................................................................37


9.4 Consultas con cuantificación universal ............................................................................................38
9.5 Consultas agrupadas ........................................................................................................................39
9.6 Consultas generales .........................................................................................................................41
10 Presentación de la base de datos DEPARTAMENTO .............................................................................43
11 Ejercicios sobre la base de datos DEPARTAMENTO..............................................................................45

Bases de Datos y Sistemas de Información Documento UD2.2 3

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

1 INTRODUCCIÓN
El objetivo de esta primera práctica es aprender a realizar consultas en lenguaje SQL. Para ello vamos a
utilizar la herramienta SQL Developer de ORACLE.
El lenguaje de manipulación de datos del SQL de ORACLE es prácticamente estándar SQL/92 (ver el
documento UD2.1). En particular, en esta práctica vamos a utilizar únicamente la sentencia de consulta
SELECT.
Después de la presentación de cada una de las bases de datos con las que se va a trabajar1, se proponen
una serie de consultas que se pueden realizar con el SQL de ORACLE. Estas consultas pueden ser de distintos
tipos:
• Consultas sobre una sola relación: éstas son las consultas más sencillas ya que para resolverlas
sólo es necesario utilizar una relación de la base de datos.
• Consultas sobre varias relaciones: consultas que se pueden resolver especificando varias
relaciones en la cláusula FROM de la sentencia SELECT. La conexión entre estas relaciones se
establece en la cláusula WHERE con las comparaciones oportunas.
• Consultas con subconsultas: consultas que se pueden resolver con una o varias subconsultas en
la cláusula WHERE.
• Consultas con cuantificación universal: estas consultas que tendrían una solución natural con un
cuantificador universal. Dado que el SQL de ORACLE no lo proporciona, la solución exige la
representación de la cuantificación universal en términos de negación y de la cuantificación
existencial. En esencia la transformación es la siguiente: “Todo elemento E del conjunto C cumple
la propiedad P” es equivalente a “No existe un elemento E del conjunto C que no cumpla la
propiedad P”. Así pues se propone buscar soluciones a estas consultas utilizando el predicado
NOT EXISTS (…). Alternativamente se pueden resolver con el operador conjuntista UNION.
• Consultas agrupadas: consultas cuya solución utiliza la cláusula GROUP BY.
• Consultas conjuntistas: consultas que se pueden resolver con los operadores conjuntistas.
• Consultas con concatenación: consultas que se pueden resolver son el JOIN.
• Consultas generales: consultas de cualquier tipo.
Es importante destacar que una consulta puede admitir varias soluciones por lo que podría haberse
incluido en varios apartados. Después de cada consulta se ha incluido el resultado de la misma en forma
tabular, si el resultado que obtenido con la solución propuesta no coindice con es que se incluye aquí, la
consulta está mal resuelta; si sí que coincide “podría” estar bien. Cuando el resultado de la consulta contiene
muchas filas, no se han incluido todas, los puntos suspensivos (…) en medio de la tabla indican que faltan
filas, sin embargo, sí que se ha puesto al final de la consulta cuántas filas devuelve (sólo cuando devuelve
más de 6).
IMPORTANTE: MANEJO DE FECHAS
• Para no tener problemas con los atributos de tipo fecha cuando los valores posibles de un
atributo abarquen distintos siglos, es importante que el formato de las fechas en el SQL Developer
tenga el año con cuatro dígitos, para ello, en: Herramientas >> Preferencias >> Bases de
Datos>>NLS, hay que poner el Formato de Fecha = DD/MM/RRRR.
• La función EXTRACT permite obtener el día, mes o año de un atributo de tipo fecha, así, si
suponemos que X=’02/06/1965’:
§ EXTRACT (DAY FROM X)devuelve 2;
§ EXTRACT (MONTH FROM X)devuelve 6;
§ EXTRACT (YEAR FROM X)devuelve 1965;

1 Algunos SGBD no aceptan caracteres especiales, como p. ej. letras acentuadas o el carácter “ñ”, en los nombres de atributos o
relaciones. Para evitar problemas hemos decidido no acentuar ninguna palabra que figure en la definición de una relación.

Bases de Datos y Sistemas de Información Documento UD2.2 4

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

2 PRESENTACIÓN DE LA BASE DE DATOS CINE


Se desea almacenar información sobre películas referente a qué actores han actuado en cada película,
quién la ha dirigido, de qué géneros están clasificadas, en qué libro está basado el guion, etc.; para ello se ha
diseñado una base de datos relacional cuyo esquema se muestra a continuación:

PAIS(cod_pais:char(5),nombre:char(20))
CP:{cod_pais}
VNN:{nombre}

ACTOR(cod_act:char(5),nombre:char(70),fecha_nac:date,cod_pais:char(5))
CP:{cod_act}
VNN:{nombre,fecha_nac,cod_pais}
CAj:{cod_pais} ® Pais(cod_pais)

LIBRO_PELI(cod_lib:char(5),titulo:char(70),anyo:number,autor:char(80))
CP:{cod_lib}
VNN:{titulo,autor}

PELICULA(cod_peli:char(5),titulo:char(70),anyo:number,duracion:number,
cod_lib:char(5),director:char(70))
CP:{cod_peli}
VNN:{titulo,duracion}
CAj:{cod_lib} ® Libro_Peli(cod_lib)

GENERO(cod_gen:char(5),nombre:char(30))
CP:{cod_gen}

ACTUA(cod_act:char(5),cod_peli:char(5),papel:char(10))
CP:{cod_act,cod_peli}
VNN:{papel}
CAj:{cod_peli} ® Pelicula(cod_peli)
CAj:{cod_act} ® Actor(cod_act)

CLASIFICACION(cod_gen:char(5),cod_peli:char(5))
CP:{cod_gen,cod_peli}
CAj:{cod_peli} ® Pelicula(cod_peli)
CAj:{cod_gen} ® Genero(cod_gen)
Para aclarar por completo el esquema, a continuación, se explica el significado de cada atributo en cada
relación:
• Pais:
§ cod_pais: código del país.
§ nombre: nombre del país.
• Actor:
§ cod_act: código del actor.
§ nombre: nombre del actor.
§ fecha_nac: día de nacimiento del actor.
§ cod_pais: código del país de origen del actor.

Bases de Datos y Sistemas de Información Documento UD2.2 5

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

• Libro_Peli:
§ cod_lib: código del libro.
§ titulo: título del libro.
§ anyo: año de publicación del libro.
§ autor: nombre del autor del libro.
• Pelicula:
§ cod_peli: código de la película.
§ titulo: título de la película.
§ anyo: año de publicación del estreno de la película.
§ duracion: cuántos minutos dura la película.
§ cod_lib: código del libro en el que está basada la película.
§ director: nombre del director de la película.
• Genero:
§ cod_gen: código del género.
§ nombre: nombre del género.
• Actua: el actor de código cod_act ha actuado en la película de código cod_peli en un papel papel.
• Clasificacion: la película de código cod_peli está clasificada en el género de código cod_gen.
Gráficamente el esquema relacional es el siguiente:

3 EJERCICIOS SOBRE LA BASE DE DATOS CINE

3.1 Consultas sobre una sola tabla


1. Obtener ordenados ascendentemente los códigos de los países de donde son los actores.
COD_P
----- Vamos a extraerlo de actores, usando el cod_pais, ya que puede haber países que no tengan actores
ad63
SELECT DISTINCT cod_pais # el SELECT es la proyección le ponemos el DISTINCT para que no saque países repetidos
gg74 FROM Actor;
hg45
ORDER BY cod_pais;
nb12
rt89
sd53

Bases de Datos y Sistemas de Información Documento UD2.2 6

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

sf15
ty11
we74
zf58
10 filas seleccionadas
2. Obtener el código y el título de las películas de año anterior a 1970 que no estén basadas en ningún libro
ordenadas por título.
COD_P TITULO
----- ----------------------------------------------------------
357L Cleopatra SELECT cod_peli, titulo
365N Cortina rasgada FROM Pelicula
WHERE anyo<1970 AND cod_lib IS NULL
332D Dos hombres y un destino ORDER BY titulo;
3. Obtener el código y el nombre de los actores cuyo nombre incluye “John”.
COD_A NOMBRE SELECT cod_act, nombre
----- ----------------------------------- FROM Actor
WHERE nombre LIKE 'John%'
A62 John Goodman El porcentaje se pone porque si hay algo que sigue a esa palabra, lo busca también, si no, en el caso de que solo fuese 'John' no encontraría a nadie,
ya que existe John Goodman, pero no solo John --> es decir, sirve para COMPLETAR
4. Obtener el código y el título de las películas de más de 120 minutos de la década de los 80.
COD_P TITULO SELECT cod_peli, titulo
----- ----------------------------------- FROM Pelicula
anyo BETWEEN 1980 AND 1989
365A Indiana Jones y la última cruzada WHERE duracion>120 AND anyo>1979 and anyo<1990;

5. Obtener el código y el título de las películas que estén basadas en algún libro y cuyo director se apellide
‘Pakula’. SELECT cod_peli, p.titulo
COD_P TITULO FROM Pelicula p, Libro_peli l
WHERE p.cod_lib = l.cod_lib AND director LIKE '%Pakula'
----- ----------------------------
856A El informe pelícano
6. ¿Cuántas películas hay de más de 120 minutos de la década de los 80?
COUNT(*) SELECT COUNT(*)
---------- FROM Pelicula
WHERE duracion > 120 AND anyo BETWEEN 1980 AND 1989
1
7. ¿Cuántas películas se han clasificado de los géneros de código 'BB5' o 'GG4' o'JH6'.
CUÁNTAS_PELIS count(cod_peli) --> mas completo: count(DISTINCT cod_peli)
SELECT count(*)
------------- FROM Clasificacion cod_gen IN('BB5', 'GG4', 'JH6')
43 WHERE cod_gen='BB5' OR cod_gen='GG4' OR cod_gen='JH6';

8. ¿De qué año es el libro más antiguo?


AÑO select MIN(anyo)
---- from Libro_peli;
1877
9. ¿Cuál es la duración media de las películas del año 1987?
DURACIÓN_MEDIA SELECT AVG(duracion)
-------------- FROM Pelicula
WHERE anyo = 1987;
119,5
10. ¿Cuántos minutos ocupan todas las películas dirigidas por ‘Steven Spielberg’?
DURAN_MIN SELECT SUM(duracion)
--------- FROM Pelicula
WHERE director = 'Steven Spielberg'
296

3.2 Consultas sobre varias tablas


11. Obtener el código y el título de las películas en las que actúa un actor con el mismo nombre que el director
SELECT p.cod_peli, p.titulo
de la película (ordenadas por título). FROM Pelicula p, Actua ac, Actor a
COD_P TITULO WHERE p.cod_peli=ac.cod_peli AND ac.cod_act=a.cod_act AND a.nombre=p.director
ORDER BY titulo;
----- ---------------------------------
Con subconsulta:
654J Buenas noches, y buena suerteSELECT p.cod_peli, p.titulo
FROM Pelicula p
778E Sin perdón WHERE EXISTS (SELECT * FROM Actua ac WHERE ac.cod_peli = p.cod_peli AND
ac.cod_act IN (SELECT a.cod_act FROM Actor a WHERE a.nombre = p.director))
Bases de Datos y Sistemas de Información ORDER BYUD2.2
Documento titulo; 7

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

455K The monuments men


118E Un mundo perfecto
12. Obtener el código y el título de las películas clasificadas del género de nombre ‘Comedia’ (ordenadas por
título).
COD_P TITULO
----- ----------------------------------
258S Cuando Harry encontró a Sally
369F Desayuno con diamantes
456G El chip prodigioso SELECT p.cod_peli, p.titulo
888T El golpe FROM Pelicula p, Genero g, Clasificacion c
548J Jamón, Jamón WHERE p.cod_peli = c.cod_peli AND c.cod_gen = g.cod_gen AND g.nombre = 'Comedia'
147D Los búfalos de Durham
874G Los picapiedra
789B The mexican
8 filas seleccionadas Opciones:
13. Obtener el código y el título de las películas basadas en algún libro anterior a 1950. /*IN*/
COD_P TITULO /*EXISTS*/
SELECT cod_peli, pelicula.titulo
----- ----------------------------------- FROM Pelicula, Libro_peli
159A Ana Karenina WHERE pelicula.cod_lib=libro_peli.cod_lib AND libro_peli.anyo<1950;
123V Anna Karenina SELECT cod_peli, p.titulo
FROM Pelicula p, Libro_peli l
159X Anna Karenina WHERE p.cod_lib=l.cod_lib AND l.anyo<1950;
123N Lo que el viento se llevó
Con subconsulta:
123S My Fair Lady SELECT p.cod_peli, p.titulo
258M Un tranvía llamado deseo FROM Pelicula p
WHERE p.cod_lib IN (SELECT cod_lib FROM libro_peli WHERE anyo<1950);
6 filas seleccionadas WHERE EXISTS (SELECT * FROM libro_peli l WHERE l.cod_lib = p.cod_lib AND l.anyo<1950);
14. Obtener el código y el nombre de los países de los actores que actúan en películas clasificadas del género
de nombre ‘Comedia’ (ordenados por nombre).
COD_P NOMBRE
----- --------------------
ad63 Bélgica SELECT DISTINCT pa.cod_pais, pa.nombre
we74 España FROM Pelicula p, Genero g, Clasificacion c, Actua ac, Actor a, Pais pa
WHERE pa.cod_pais = a.cod_pais AND a.cod_act = ac.cod_act AND ac.cod_peli = p.cod_peli AND p.cod_peli = c.cod_peli
sf15 USA AND c.cod_gen = g.cod_gen AND g.nombre = 'Comedia';
3 filas seleccionadas

3.3 Consultas con subconsultas


15. Resolver los ejercicios 11, 12, 13 y 14 con subconsultas. Las soluciones son exactamente las mismas.
16. Obtener el código y el nombre de los actores nacidos antes de 1950 que actúan con un papel ‘Principal’
en alguna película (ordenados por nombre).
COD_A NOMBRE WHERE EXTRACT (YEAR FROM a.fecha_nac) = 1950
----- ----------------------------------
Z15 Al Pacino
D49 Audrey Hepburn
L54 Christopher Plummer
L59 Clint Eastwood
L45 Elizabeth Taylor SELECT cod_act, nombre
S56 Elke Sommer FROM Actor a
WHERE a.cod_act IN
J47 Gene Hackman (SELECT ac.cod_act FROM Actua ac WHERE ac.papel = 'Principal' AND a.fecha_nac < '01/01/1950')
V88 George Peppard ORDER BY nombre;
J45 Harrison Ford
X45 Julie Andrews
J56 Marlon Brandon
D14 Martin Sheen
U88 Morgan Freeman
W34 Paul Newman
T44 Rex Harrison
F56 Richard Burton

Bases de Datos y Sistemas de Información Documento UD2.2 8

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Edad máxima de los actores
SELECT Max(edad)
FROM Actor;
Departamento de Sistemas Informáticos y Computación

M45 Richard Gere


E56 Robert de Niro
H45 Robert Redford
W32 Sean Connery
E45 Susan Sarandon
D01 Vivien Leigh
22 filas seleccionadas
17. Obtener el código, el título y el autor de los libros en los que se ha basado alguna película de la década
SELECT l.cod_lib, l.titulo, l.autor
de los 90 (ordenados por título). FROM Libro_peli l, Pelicula p
COD_L TITULO WHERE l.cod_lib = p.cod_lib AND p.anyo BETWEEN
AUTOR1990 AND 1999
ORDER BY l.titulo;
-----------------------------------------------------------------------------
GJ7 Ana Karenina Leon Tolstoi
GJ6 El informe pelícano John Grisham
UU4 El padrino Mario Puzo
DF6 Entrevista con el vampiro Anne Rice
LP9 Rita Hayworth y la redención de Shawshank Stephen King
SELECT cod_lib, titulo, autor
AR3 Vida de este chicoFROM Libro_peli Tobias Wolff
6 filas seleccionadas WHERE cod_lib IN (SELECT p.cod_lib FROM Pelicula p WHERE EXISTS
(SELECT * FROM PELICULA where p.anyo BETWEEN 1990 AND 1999))
ORDER BY titulo;
18. Obtener el código, el título y el autor de los libros en los que no se haya basado ninguna película.
COD_L TITULO AUTOR SELECT cod_lib, titulo, autor
FROM Libro_peli
WHERE cod_lib NOT IN
----------------------------------------------------------
(SELECT p.cod_lib FROM Pelicula p WHERE p.cod_lib IS NOT NULL);
FA6 La caída de los gigantes Ken Follet
19. Obtener el nombre del género o géneros a los que pertenecen películas en las que no actúa ningún actor
(ordenados por nombre).
NOMBRE SELECT nombre
------------ FROM Genero
WHERE cod_gen IN (SELECT c.cod_gen FROM Clasificacion c
Animación WHERE c.cod_peli IN (SELECT p.cod_peli FROM Pelicula p
Aventuras WHERE p.cod_peli NOT IN (SELECT ac.cod_peli From Actua ac)))
ORDER BY nombre;
Drama
20. Obtener el título de los libros en los que se haya basado alguna película en la que no hayan actuado
actores del país de nombre ‘USA’ (ordenados por título).
TITULO Alternativa 1: Coger todas las peliculas que tengan actores de USA y elegir las películas que no estén en ese conjunto
-----------------------------
Alternativa 2:
Ana Karenina SELECT l.titulo
Lo que el viento se llevó FROM Libro_peli l
WHERE l.cod_lib IN (SELECT p.cod_lib FROM Pelicula p WHERE
Pigmalion (SELECT COUNT(*) FROM Actua ac, Actor a, Pais pa WHERE ac.cod_peli = p.cod_peli AND
The sound of music ac.cod_act = a.cod_act AND a.cod_pais = pa.cod_pais AND pa.nombre = 'USA') = 0)
ORDER BY l.titulo;
21. ¿Cuántas películas hay clasificadas del género de nombre ‘Comedia’ y en las que sólo aparece un actor
con el papel ‘Secundario’? SELECT COUNT(cod_peli)
COUNT(P.COD_PELI) FROM Pelicula
WHERE cod_peli IN (SELECT c.cod_peli FROM Clasificacion c WHERE c.cod_gen IN
----------------- (SELECT g.cod_gen FROM Genero g WHERE g.nombre = 'Comedia'))
2 AND cod_peli IN (SELECT ac.cod_peli FROM Actua ac WHERE ac.papel = 'Secundario');

22. Obtener el año de la primera película en la que el actor de nombre ‘Jude Law’ tuvo un papel como
‘Principal’.
ANYO
----------
2001 SELECT a.cod_act, a.nombre
FROM Actor a
23. Obtener el código y el nombre de actor o actores más viejos.WHERE a.fecha_nac = (SELECT Min(fecha_nac) FROM Actor);
COD_A NOMBRE SELECT l.cod_lib, l.titulo
FROM libro_peli l
----- ---------------- WHERE l.cod_lib NOT IN (SELECT cod_lib FROM Pelicula WHERE cod_lib IS NOT NULL);
K58 Stanley Holloway SELECT a.cod_act, a.nombre
FROM Actor a
WHERE 3<(SELECT COUNT(*) FROM Actua ac WHERE a.cod_act = ac.cod_act);
24. Obtener el código, el nombre y la fecha de nacimiento del actor más viejo nacido en el año 1940.
COD_A NOMBRE FECHA_NAC
----- ------------------------------------------------
C89 James Caan 26/03/1940

Bases de Datos y Sistemas de Información Documento UD2.2 9

NOT IN --> problema con los nulos --> para resolverlo, le añadimos una condición: WHERE ______ IS NOT NULL

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Para comparar fechas:
fecha_nac < '01/01/1950'
EXTRACT (day FROM fecha_nac) < 1950; también se puede cambiar el year por: day, month
Departamento de Sistemas Informáticos y Computación

25. Obtener el nombre del género (o de los géneros) en los que se ha clasificado la película más larga.
NOMBRE
-----------------
Bélica
Drama
Romance
26. Obtener el código y el título de los libros en los que se han basado películas en las que actúan actores del
país de nombre España (ordenados por título).
COD_L TITULO
----- --------------------------------------
ZF4 Come, reza, ama
PP4 Desayuno en Tiffanys
DF6 Entrevista con el vampiro
27. Obtener el título de las películas anteriores a 1950
SELECT clasificadas
p.cod_pais, p.nombre,en más de un género
COUNT(DISTINCT (ordenadas por
a.cod_act)
FROM Pais p LEFT JOIN (Actor a JOIN Actua ac ON a.cod_act = ac.cod_act )
título). ON p.cod_pais = a.cod_pais AND ac.papel = 'Secundario'
TITULO WHERE p.cod_pais = a.cod_pais
GROUP BY p.cod_pais, p.nombre
----------------------------------------------
ORDER BY p.nombre;
Lo que el viento se llevó
28. Obtener la cantidad de películas en las que han participado menos de 4 actores.
COUNT(*) SELECT COUNT(*)
FROM Pelicula p
---------- WHERE (SELECT COUNT(*) FROM Actua ac WHERE ac.cod_peli = p.cod_peli) < 4;
68
29. Obtener los directores que han dirigido más de 250 minutos entre todas sus películas.
DIRECTOR
----------------------------------------------------------------------
Steven Soderbergh
Clint Eastwood
Steven Spielberg
Francis Ford Coppola
Guy Ritchie
30. Obtener el año o años en el que nacieron más de 3 actores.
AÑO
----------
1954
1940
31. Obtener el código y nombre del actor más joven que ha participado en una película clasificada del género
de código ‘DD8’.
COD_A NOMBRE
----- ---------------
S47 Kevin Costner
Si el todo forma parte de la condición, es cuantificación universal,
si no (es decir, si forma parte del select), no lo es.
3.4 Consultas universalmente cuantificadas
32. Obtener el código y el nombre de los países con actores y tales que todos los actores de ese país han
nacido en el siglo XX (ordenados por nombre). Con fórmula 1:
SELECT p.cod_pais, p.nombre X: actores de un país
COD_P NOMBRE FROM Pais p F(X): han nacido en el siglo XX
WHERE p.cod_pais IN (SELECT a.cod_pais FROM Actor a) AND NOT EXISTS
----- ----------- (SELECT * FROM Actor a1 WHERE a1.cod_pais = p.cod_pais AND NOT a1.fecha_nac BETWEEN
'01/01/1900' AND '31/12/2000')
hg45 Alemania ORDER BY nombre; Con fórmula 2:
zf58 Australia ¬EX: no existe actor
rt89 Austria F: de ese país
ad63 Bélgica ¬G: no ha nacido en el siglo XX
SELECT p.cod_pais, p.nombre
gg74 Canadá FROM Pais p
nb12 Cuba WHERE p.cod_pais IN (SELECT a.cod_pais FROM Actor a)
we74 España

Bases de Datos y Sistemas de Información Documento UD2.2 10

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

sd53 Francia
sf15 USA
9 filas seleccionadas
33. Obtener el código y el nombre de los actores tales que todos los papeles que han tenido son de
‘Secundario’. Sólo interesan aquellos actores que hayan actuado en alguna película.
Con fórmula 1:
COD_A NOMBRE X:
----- ------------------------------- F(X):
SELECT
E22 Diane Keaton FROM
C89 James Caan WHERE
F77 José L. de Villalonga
Q47 Ludwig Donath Con fórmula 2:
C15 Robert Duvall ¬EX: Actuación
SELECT a.cod_act, a.nombre F: Actuación del actor
K58 Stanley Holloway FROM Actor a ¬G: papel = 'Secundario'
6 filas seleccionadas WHERE a.cod_act IN (SELECT cod_act FROM Actua) AND NOT EXISTS
(SELECT * FROM Actua ac WHERE ac.cod_act = a.cod_act AND ac.papel <>'Secundario')
ORDER BY nombre;
34. Obtener el código y el nombre de los actores que han aparecido en todas las películas del director ‘Guy
Ritchie’ (sólo si ha dirigido al menos una). Ax(F-->G)
x: Película
COD_A NOMBRE F: Director = 'Guy Ritchie'
----- --------------------------------
SELECT a.cod_act, a.nombre
A47 Robert Downey Jr.FROM Actor a
A52 Jude Law WHERE NOT EXISTS (SELECT * FROM Pelicula p WHERE p.director = 'Guy Ritchie' AND
NOT EXISTS (SELECT * FROM Actua ac WHERE ac.cod_act = a.cod_act AND ac.cod_peli = p.cod_peli))
AND EXISTS (SELECT * FROM Pelicula WHERE director = 'Guy Ritchie');
35. Resolver la consulta anterior pero para el director de nombre ‘John Steel’.
no se ha seleccionado ninguna fila
36. Obtener el código y el título de las películas de menos de 100 minutos en las que todos los actores que
han actuado son de un mismo país. Ax(F-->G)
x: actor
COD_P TITULO F: actúa en la película
----- ------------------------------ G: es del mismo pais
258S Cuando Harry encontró a Sally
548J Jamón, Jamón
654J Buenas noches, y buena suerte
SELECT p.cod_peli, p.titulo FROM Pelicula p
874G Los picapiedra WHERE p.duracion <> 100 AND NOT EXISTS (SELECT * FROM Actor a WHERE a.cod_act IN
951D Al caer el sol (SELECT ac.cod_act FROM Actua ac WHERE ac.cod_peli = p.cod_peli) AND NOT EXISTS
(SELECT * FROM Actor a1, Actua ac1 WHERE a1.cod_peli = ac1.cod_peli AND a1.cod_act = ac1.cod_act
AND a1.pais <> a.pais ));
37. Obtener el código, el título y el año de las películas en las que haya actuado algún actor si se cumple que
todos los actores que han actuado en ella han nacido antes del año 1943 (hasta el 31/12/1942).
COD_P TITULO ANYO
----------------------------------------------------------------------
159X Anna Karenina 1948
159D Bajo sospecha 2000
357L Cleopatra 1963
365N Cortina rasgada 1966
369F Desayuno con diamantes 1961
332D Dos hombres y un destino 1969
888T El golpe 1973
144H El premio 1963
753N La gata sobre el tejado de zinc 1958
123N Lo que el viento se llevó 1939
123S My Fair Lady 1964
778E Sin perdón 1992
589B Sonrisas y lágrimas 1965
258M Un tranvía llamado deseo 1951
14 filas seleccionadas
38. Obtener el código y el nombre de cada país si se cumple que todos sus actores han actuado en al menos
una película de más de 120 minutos. (Ordenados por nombre).
COD_P NOMBRE
----- --------------------
hg45 Alemania
rt89 Austria

Bases de Datos y Sistemas de Información Documento UD2.2 11

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

ad63 Bélgica
gg74 Canadá
nb12 Cuba
ty11 UK
6 filas seleccionadas

3.5 Consultas agrupadas GROUP BY


39. Obtener el código y el título del libro o libros en que se ha basado más de una película, indicando cuántas
películas se han hecho sobre él.
COD_L TITULO CUÁNTAS
SELECT l.cod_lib, l.titulo, COUNT(*)
----------------------------------------------------
FROM Libro_peli l, Pelicula p
UU4 El padrino WHERE 1<(SELECT COUNT(*) FROM 3 Pelicula p1 WHERE p1.cod_lib = l.cod_lib)
GJ7 Ana Karenina AND l.cod_lib = p.cod_lib
GROUP BY l.cod_lib, l.titulo 3
HAVING COUNT(*) > 1;
40. Obtener para cada género en el que se han clasificado más de 5 películas, el código y el nombre del
género indicando la cantidad de películas del mismo y duración media de sus películas. (Ordenados por
nombre). (La función ROUND redondea al entero más cercano). SELECT
FROM
WHERE
COD_G NOMBRE CUÁNTAS DUR_MEDI GROUP BY
----- ------------------------------ ---------- ----------
DR5 Acción 8 138
DF2 Biografía 6 146
JJ9 Comedia 8 110
GG4 Crimen 18 132
BB5 Drama 38 134
KK4 Misterio 6 127
HH2 Romance 8 127
7 filas seleccionadas
41. Obtener el código y el título de las películas de año posterior al 2000 junto con el número de géneros en
que están clasificadas, si es que están en alguno. (Ordenadas por título).
COD_P TITULO CUÁNTOS
----- ----------------------------------------------------------------------
SELECT
159A Ana Karenina FROM 1
654J Buenas noches, y buena suerte WHERE 2
GROUP BY
145K Camino a la perdición 3
465H El código da Vinci 1
158S Enemigo a las puertas 3
369J Golpe de efecto 2
457P Invictus 3
159U Mi novio es un ladrón 1
326F Mystic river 3
189G Ocean's Thirteen 2
658G Sherlock Holmes 3
452W Sherlock Holmes: Juego de sombras 3
789B The mexican 3
455K The monuments men 3
14 filas seleccionadas
42. Obtener los directores que tienen la cadena ‘George’ en su nombre y que han dirigido exactamente dos
películas. SELECT
FROM
DIRECTOR WHERE
GROUP BY
-----------------------------------
George Roy Hill
George Clooney
43. Obtener para cada película clasificada exactamente en un género y en la que haya actuado algún actor,
el código, el título y la cantidad de actores que actúan en ella.
SELECT p.cod_peli, p.titulo, COUNT(*)
FROM Pelicula p, Actua ac
WHERE p.cod_peli = ac.cod_peli
GROUP BY p.cod_peli, p.titulo;
HAVING (SELECT COUNT(*) FROM Clasificacion c WHERE c.cod_peli = p.cod_peli) = 1);
Bases de Datos y Sistemas de Información Documento UD2.2 12

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

COD_P TITULO CUÁNTOS


----- ----------------------------------------------------------------------
159A Ana Karenina 2
159X Anna Karenina 1
365N Cortina rasgada 3
465H El código da Vinci 1
475A Filadelfia 3
753N La gata sobre el tejado de zinc 2
159U Mi novio es un ladrón 2
778E Sin perdón 3
258M Un tranvía llamado deseo 2
9 filas seleccionadas
44. Obtener el código y el nombre de todos los países con actores indicando cuántos actores de cada país
han actuado en al menos una película de la década de los 60.
COD_P NOMBRE CUÁNTOS
----- -------------------- ----------
hg45 Alemania 1
rt89 Austria 1
ad63 Bélgica 1
gg74 Canadá 1
we74 España 1
ty11 UK 4
sf15 USA 4
7 filas seleccionadas
45. Obtener el código, el nombre del género en el que hay clasificadas más películas (puede haber más de
uno).
COD_G NOMBRE
----- --------------
BB5 Drama
46. Obtener el código, el título y el autor del libro en el que se han basado más películas (puede haber más
de uno).
COD_L TITULO AUTOR
-------------------------------------------------
UU4 El padrino Mario Puzo
GJ7 Ana Karenina Leon Tolstoi
47. Obtener el código y el nombre del país que más actores tiene que hayan participado exactamente en 2
películas.
COD_P NOMBRE
----- --------------------
sf15 USA
48. Obtener el año o años en el que nacieron más de 3 actores indicando cuántos nacieron exactamente.
AÑO CUÁNTOS
---------- ----------
1954 4
1940 4
49. Resolver la consulta 36.
Ver resultado en consulta 36.

3.6 Consultas con concatenación


50. Obtener para todos los países que hay en la base de datos, el código, el nombre y la cantidad de actores
que hay de ese país.
SELECT p.cod_pais, p.nombre, COUNT(*)
COD_P NOMBRE CUÁNTOS FROM Pais p LEFT JOIN Actor a ON p.cod_pais = a.cod_pais
----- -------------------- ---------- WHERE p.cod_pais = a.cod_pais
GROUP BY p.cod_pais, p.nombre
hg45 Alemania 1 ORDER BY p.nombre;

Bases de Datos y Sistemas de Información Documento UD2.2 13

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

zf58 Australia 1
rt89 Austria 1
ad63 Bélgica 1
gg74 Canadá 1
nb12 Cuba 1
we74 España Esto serviría solo para los no nulos, ya5que si hay algún país sin actores. no te lo va a devolver:
sd53 Francia SELECT p.cod_pais, p.nombre, COUNT(*) 1
hy76 Italia FROM Pais p, Actor a
WHERE p.cod_pais = a.cod_pais
0
ty11 UK GROUP BY p.cod_pais, p.nombre; 9
sf15 USA 38
11 filas seleccionadas
51. Obtener el código y el título de todos los libros de la base de datos de año posterior a 1980 junto con la
cantidad de películas a que han dado lugar.
COD_L TITULO CUÁNTAS
----- ----------------------------------------------------------------------
GJ6 El informe pelícano 1
GH4 El código da Vinci SELECT l.cod_lib, l.titulo, COUNT(DISTINCT p.cod_peli) 1
FROM Libro_peli l LEFT JOIN Pelicula p ON l.cod_lib = p.cod_lib
AR3 Vida de este chico WHERE l.anyo > 1980 1
AE8 El color del dinero GROUP BY l.cod_lib, l.titulo; 1
FA6 La caída de los gigantes 0
LP9 Rita Hayworth y la redención de Shawshank 1
KS5 El factor humano 1
ZF4 Come, reza, ama 1
8 filas seleccionadas
52. Obtener para todos los países que hay en la base de datos, el código, el nombre y la cantidad de actores
que hay de ese país que hayan tenido un papel como “Secundario” en alguna película.
COD_P NOMBRE CUÁNTOS
----- -------------------- ----------
hg45 AlemaniaSELECT p.cod_pais, p.nombre, COUNT(DISTINCT
0 a.cod_act)
FROM Pais p LEFT JOIN (Actor a JOIN Actua ac ON a.cod_act = ac.cod_act AND ac.papel = 'Secundario')
zf58 Australia 0
ON p.cod_pais = a.cod_pais
rt89 Austria GROUP BY p.cod_pais, p.nombre 1
ORDER BY p.nombre; SELECT p.cod_pais, p.nombre, COUNT(DISTINCT a.cod_act)
ad63 Bélgica 0 FROM Pais p LEFT JOIN (Actor a JOIN Actua ac ON a.cod_act = ac.cod_act )
gg74 Canadá 0 ON p.cod_pais = a.cod_pais AND ac.papel = 'Secundario'
WHERE p.cod_pais = a.cod_pais
nb12 Cuba 1 GROUP BY p.cod_pais, p.nombre
we74 España 3 ORDER BY p.nombre;
sd53 Francia 0
Mismo ejercicio pero si pidiesen para los países que empiezan por A:
hy76 Italia 0 SELECT p.cod_pais, p.nombre, COUNT(DISTINCT a.cod_act)
ty11 UK 4 FROM Pais p LEFT JOIN (Actor a JOIN Actua ac ON a.cod_act = ac.cod_act )
ON p.cod_pais = a.cod_pais AND ac.papel = 'Secundario'
sf15 USA 16 WHERE p.cod_pais = a.cod_pais AND p.nombre LIKE 'A%'
11 filas seleccionadas GROUP BY p.cod_pais, p.nombre
ORDER BY p.nombre;
53. Obtener para cada película que hay en la base de datos que dure más de 140 minutos, el código, el título,
la cantidad de géneros en los que está clasificado y la cantidad de actores que han actuado en ella.
COD_P TITULO GEN ACT
-------------------------------------------------------------------
123V Anna Karenina 1 de la cantidad de actores
Esta es la solución sin la parte 0 (da todo bien)
963L Apocalypse now SELECT p.cod_peli, p.titulo,0COUNT(DISTINCT c.cod_gen) 4
FROM Pelicula p LEFT JOIN Clasificacion c ON p.cod_peli = c.cod_peli
666F Atrápame si puedes WHERE p.duracion > 140 0 2
438S Cadena perpetua GROUP BY p.cod_peli, p.titulo 2 2
ORDER BY p.titulo;
357L Cleopatra 3 3
465H El código da Vinci Esta es la solución del ejercicio
no tiene actores
1 entero, el problema 1es que la primera película no sale porque
856A El informe pelícano SELECT p.cod_peli, p.titulo,0COUNT(DISTINCT c.cod_gen), 2 COUNT(DISTINCT ac.cod_act)
123X El padrino FROM Pelicula p LEFT JOIN 2 Clasificacion c ON p.cod_peli
5 = c.cod_peli
JOIN Actua ac ON p.cod_peli = ac.cod_peli
741G El padrino II WHERE p.duracion > 140 2 4
741S El padrino III GROUP BY p.cod_peli, p.titulo 2 3
ORDER BY p.titulo;
123N Lo que el viento se llevó Esta es3la solucion pero sólo con 1 la cantidad de actores, CON NULOS INCLUIDOS.
123S My Fair Lady SELECT 3 p.cod_peli, p.titulo, COUNT(DISTINCT
3 ac.cod_act)
FROM Pelicula p LEFT JOIN Actua ac ON p.cod_peli = ac.cod_peli
314G Robin Hood, príncipe de ladrones WHERE3 p.duracion > 140 2
951L Salvar al soldado Ryan GROUP 3 BY p.cod_peli, p.titulo 2
ORDER BY p.titulo;

Bases de Datos y Sistemas de Información Documento UD2.2 14

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

589B Sonrisas y lágrimas 3 2


996H Titanic 0 2
874F Un domingo cualquiera 0 3
321N Wyatt Earp 3 3
18 filas seleccionadas

3.7 Consultas conjuntistas


54. Obtener los años, ordenados ascendentemente, que aparecen en la base de datos como año en el que
se editó un libro o se filmó una película. Sólo interesan años en los que no aparezca el dígito 9.
ANYO
----------
1877
2000
2001
2002
2003
2004
2005
2006
2007
2008
2010
2011
2012
2013
2014
15 filas seleccionadas

3.8 Consultas generales


55. Obtener el nombre del género (o de los géneros) a los que pertenece la película de duración máxima.
COD_G NOMBRE
----- ------------------------------
BB5 Drama
HH2 Romance
OI9 Bélica
56. Obtener, para cada actor nacido antes de 1948 y que haya actuado en al menos 2 películas en cualquier
papel, el código, el nombre y la fecha de nacimiento indicando en cuántas películas ha actuado con el
papel de ‘Principal’.
COD_A NOMBRE FECHA_NAC CUANTOS_PRINCIP
---------------------------------------------------------------------------
Z15 Al Pacino 25/04/1940 4
D49 Audrey Hepburn 04/05/1929 2
L59 Clint Eastwood 31/05/1930 3
E22 Diane Keaton 05/01/1946 0
L45 Elizabeth Taylor 27/02/1932 2
J47 Gene Hackman 30/01/1930 4
J45 Harrison Ford 13/07/1943 1
X45 Julie Andrews 01/10/1935 2
J56 Marlon Brandon 03/04/1924 3
U88 Morgan Freeman 01/06/1937 3
W34 Paul Newman 26/01/1925 8
T44 Rex Harrison 05/03/1908 1
E56 Robert de Niro 17/08/1943 2
C15 Robert Duvall 05/01/1931 0
H45 Robert Redford 18/08/1936 2
W32 Sean Connery 25/08/1930 2

Bases de Datos y Sistemas de Información Documento UD2.2 15

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

E45 Susan Sarandon 04/10/1946 3


D01 Vivien Leigh 05/11/1913 3
18 filas seleccionadas
57. Obtener el código y el nombre de los actores que sólo han actuado en películas anteriores a 1994.

COD_A NOMBRE
----- ---------------------
K77 Cameron Diaz
D52 Cate Blanchett
J58 Ed Harris
F55 George Clooney
A52 Jude Law
K78 Kate Winslet
H54 Keira Knightley
S65 Kevin Bacon
C52 Matt Damon
A47 Robert Downey Jr.
P14 Sean Penn

11 filas seleccionadas.

Bases de Datos y Sistemas de Información Documento UD2.2 16

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

4 PRESENTACIÓN DE LA BASE DE DATOS MÚSICA


Se desea almacenar información sobre una discoteca referente a qué discos contiene, qué compañías los
han editado, qué canciones hay grabadas y por quién, etcétera; para ello se ha diseñado una base de datos
relacional cuyo esquema se muestra a continuación:

CANCION(cod:entero,título:char(30),duración:real)
CP:{cod}
VNN:{título}

COMPANYIA(cod:char(3),nombre:char(30),dir:char(30),fax:char(10),
tfno:char(10))
CP:{cod}
VNN:{nombre}

DISCO(cod:char(3),nombre:char(30),fecha:date,cod_comp:char(3),
cod_gru:char(3))
CP:{cod}
CAj:{cod_comp}® COMPANYIA
VNN:{cod_comp}
CAj:{cod_gru}® GRUPO
VNN:{cod_gru}

ESTA(can:entero,cod:char(3))
CP:{can,cod}
CAj:{can}® CANCIÓN
CAj:{cod}® DISCO

GRUPO(cod:char(3),nombre:char(30),fecha:date,pais:char(10))
CP:{cod}
VNN:{nombre}

ARTISTA(dni:char(10),nombre:char(30))
CP:{dni}
VNN:{nombre}

CLUB(cod:char(3),nombre:char(30),sede:char(30),num:entero,
cod_gru:char(3))
CP:{cod}
CAj:{cod_gru}® GRUPO
VNN:{cod_gru}
VNN:{nombre}

PERTENECE(dni:char(10),cod:char(3),funcion:char(10))
CP:{dni,cod}
CAj:{dni}® ARTISTA
CAj:{cod}® GRUPO
Para aclarar por completo el esquema, a continuación, se explica el significado de cada atributo en cada
relación:

• Canción:
§ cod: código de la canción. 2

2 El valor de este atributo en la base de datos es inventado, en la realidad podría ser el identificador de la canción en el registro de

Bases de Datos y Sistemas de Información Documento UD2.2 17

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

§ título: cómo se llama la canción.


§ duración: cuánto dura aproximadamente la canción.
• Companyia:
§ cod: código de la compañía editora de discos.
§ nombre: cómo se llama la compañía.
§ dir: dirección postal de la compañía.
§ fax: número de fax de contacto.
§ tfno.: número de teléfono de las oficinas.
• Disco:
§ cod: código que identifica cada disco.
§ nombre: título del disco.
§ fecha: fecha en que se editó el disco.
§ cod_comp: código de la compañía que ha editado el disco.
§ cod_gru: código del grupo que ha grabado el disco.
• Está:
§ Mantiene información sobre qué canciones hay grabadas en cada disco. Es decir, can es
el código de la canción que está grabada en el disco de código cod.
• Grupo:
§ cod: código del grupo.
§ nombre: cómo se llama el grupo.
§ fecha: cuándo se constituyó el grupo.
§ país: dónde surgió el grupo.
• Artista:
§ dni: nº de dni del artista.
§ nombre: cómo se llama el artista.
• Club:
§ cod: código del club de fans.
§ nombre: cómo se llama el club.
§ sede: dónde tiene la sede.
§ num: cuántas personas pertenecen al club.
§ cod_gru: código del grupo que se admira.
• Pertenece:
§ Mantiene información sobre quién forma parte de cada grupo. Es decir, el artista dni
forma parte del grupo de código cod y realiza en ésta la tarea especificada en función.
Gráficamente el esquema relacional es el siguiente:

autores.

Bases de Datos y Sistemas de Información Documento UD2.2 18

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

5 EJERCICIOS SOBRE LA BASE DE DATOS MÚSICA

5.1 Consultas sobre una sola relación


1. ¿Cuántos discos hay?
DISCOS
----------
18
2. Selecciona el nombre de los grupos que no sean de España.
NOMBRE
------------------------------
U2
Simple Minds
Mike + The Mechanics
Genesis
3. Obtener el título de las canciones con más de 5 minutos de duración.
TITULO
------------------------------
7 Deadly Sins
Lemon
So Cruel
Zooropa
4. Obtener la lista de las distintas funciones que se pueden realizar en un grupo.
FUNCION
---------------
bajo
batería
guitarra
teclado
voz
5. Obtener la lista de clubs de fans junto con su tamaño (número de personas). La lista debe estar ordenada
de menor a mayor según el tamaño del club.

CLUB TAMAÑO
------------------------------ ----------------------
FanMike 11
Implicado 25
Bonoculture 129
Waterfront 234
Presuntos 237
Che U2 239

Bases de Datos y Sistemas de Información Documento UD2.2 19

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Los Culpables 355


Jardin Botanico 357
Troglominds 999
The best mind 1413
u2foryou 1700
Mentes Fuertes 1984
Zoomania 2508
Machines 7789
Futuristas 9850
Fanaticgens 12002
Genefans 23412
17 filas seleccionadas.
6. Selecciona el nombre y la sede de los clubes de fans con más de 500 socios.
NOMBRE SEDE
------------------------------ ------------------------------
Zoomania 33, Abbey Road
Machines Calle 3, Lab 3
u2foryou 23, 11th Street
Troglominds C/Lepe 22
Mentes Fuertes Ramon y Cajal 14
The best mind 24, Homeround
Genefans C/Visitacion 34
Fanaticgens Av. H. Dominicos 155
Futuristas C/Alboraya 10
9 filas seleccionadas.

5.2 Consultas sobre varias relaciones


7. Obtener el nombre y la sede de cada club de fans de grupos de España así como el nombre del grupo al
que admiran.
NOMBRE SEDE NOMBRE
----------------- ------------------------ -----------------------
Jardin Botanico 203,Valencia 46004 Radio Futura
Presuntos C/Albacete 12, bajo Presuntos Implicados
Implicado Torrejon de Ardoz 12 Presuntos Implicados
Los Culpables C/Maria Cristina 67 Presuntos Implicados
Futuristas C/Alboraya 10 Radio Futura
8. Obtener el nombre de los artistas que pertenezcan a un grupo de España.
NOMBRE
------------------------------
Carlos Torero
Enrique Sierra
J.L. Giménez
Luis Auseron
Nacho Maño
Santiago Auseron
Soledad Giménez
7 filas seleccionadas.
9. Obtener el nombre de los discos que contienen alguna canción que dure más de 5 minutos.
NOMBRE
------------------------------
Achtung baby
Good news F.N. world
Zooropa
10. Obtener los nombres de las canciones que dan nombre al disco en el que aparecen.
TITULO
------------------------------
Alma de blues
De sol a sol
Invisible touch
Living years

Bases de Datos y Sistemas de Información Documento UD2.2 20

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

October
Ser de agua
The unforgettable fi
Word of mouth
Zooropa
Once upon a time
10 filas seleccionadas.
11. Obtener los nombres de compañías y direcciones postales de aquellas compañías que han grabado algún
disco que empiece por ‘A’.
NOMBRE DIR
------------------------------ ------------------------------
WEA L Hoyos 42
Island 67, JB St.
12. DNI de los artistas que pertenecen a más de un grupo.
DNI
----------
8884566666

5.3 Consultas con subconsultas


13. Obtener el nombre de los discos del grupo más viejo.
NOMBRE
------------------------------
We can't dance
Invisible touch
Seconds out
14. Obtener el nombre de los discos grabados por grupos con club de fans con más de 5000 personas.
NOMBRE
------------------------------
Word of mouth
Living years
We can't dance
Invisible touch
Seconds out
La ley del desierto
La canción de Jperro
7 filas seleccionadas.
15. Obtener el nombre de los clubes con mayor número de fans indicando ese número.
NOMBRE NUM
------------------------------ ----------
Genefans 23412
16. Obtener el título de las canciones de mayor duración indicando la duración.

TITULO DURACION
------------------------------ ----------
7 Deadly Sins 6
Lemon 6
So Cruel 6
Zooropa 6

5.4 Consultas con cuantificación universal


17. Obtener el nombre de las compañías discográficas que no han trabajado con grupos españoles.
NOMBRE
------------------------------
Island
Virgin
ATLANTIC
PoliDiscos

Bases de Datos y Sistemas de Información Documento UD2.2 21

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

PoliDiscos
18. Obtener el nombre de las compañías discográficas que sólo han trabajado con grupos españoles.
NOMBRE
------------------------------
ARIOLA
WEA
19. Obtener el nombre y la dirección de aquellas compañías discográficas que han grabado todos los discos
de algún grupo.
NOMBRE DIR
------------------------------ ------------------------------
ARIOLA Aragon 204
ATLANTIC 12, E St.
Island 67, JB St.
Virgin 2,23th St.
WEA L Hoyos 42

5.5 Consultas agrupadas


20. Obtener el nombre de los grupos que sean de España y la suma de sus fans.
NOMBRE FANS
------------------------------ ----------
Presuntos Implicados 617
Radio Futura 10207
21. Obtener para cada grupo con más de dos componentes el nombre y el número de componentes del
grupo.
NOMBRE NUMERO
------------------------------ ----------
Genesis 3
Mike + The Mechanics 4
Presuntos Implicados 3
Radio Futura 4
U2 4
22. Obtener el número de discos de cada grupo.
NOMBRE DISCOS
------------------------------ ----------
U2 4
Simple Minds 4
Mike + The Mechanics 2
Genesis 3
Presuntos Implicados 3
Radio Futura 2
6 filas seleccionadas.
23. Obtener el número de canciones que ha grabado cada compañía discográfica y su dirección.
NOMBRE CANCIONES DIR
-------------------------- ---------- --------------------------
ARIOLA 22 Aragon 204
ATLANTIC 54 12, E St.
Island 43 67, JB St.
PoliDiscos 0 Cami de Vera
PoliDiscos 0 Polynesia St.
Virgin 34 2,23th St.
WEA 31 L Hoyos 42
7 filas seleccionadas.

5.6 Consultas generales


24. Obtener los nombre de los artistas de grupos con clubes de fans de más de 500 personas y que el grupo
sea de Inglaterra.
NOMBRE

Bases de Datos y Sistemas de Información Documento UD2.2 22

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

------------------------------
Adam Clayton
Adrian Lee
Bono
C. Burchill
Edge
Jim Kerr
Larry Jr.Mullen
M. Rutherford
P. van Hooke
Paul Young
Phil Collins
Tony Banks
12 filas seleccionadas.
25. Obtener el título de las canciones de todos los discos del grupo U2.
TITULO
------------------------------
4th of July
A sort of homecoming
Artitoestoy
Babyface
Bad
Daddys Goma pay for
Dirty day
Elvis Presley & USA
Even Better Than...
Fire
Fly
Gloria
I Fall Down
I Threw a Brick
...
43 filas seleccionadas.
26. El dúo dinámico por fin se jubila; para sustituirles se pretende hacer una selección sobre todos los pares
de artistas de grupos españoles distintos tales que el primero sea voz y el segundo guitarra. Obtener
dicha selección.
VOZ GUITARRA
------------------------------ ------------------------------
Soledad Giménez Enrique Sierra
Santiago Auseron J.L. Giménez
27. Obtener el nombre de los artistas que pertenecen a más de un grupo.
NOMBRE
------------------------------
M. Rutherford
28. Obtener el título de la canción de mayor duración si es única.
no se ha seleccionado ninguna fila
29. Obtener el décimo (debe haber sólo 9 por encima de él) club con mayor número de fans indicando ese
número.
NOMBRE NUM
------------------------------ ----------
Jardin Botanico 357

30. Obtener el nombre de los artistas que tengan la función de bajo en un único grupo y que además éste
tenga más de dos miembros.
NOMBRE
------------------------------
Adam Clayton
Luis Auseron
Nacho Maño

Bases de Datos y Sistemas de Información Documento UD2.2 23

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

31. ¿Cuál es la compañía discográfica que más canciones ha grabado?


NOMBRE CANCIONES
------------------------------ ----------
ATLANTIC 54

Bases de Datos y Sistemas de Información Documento UD2.2 24

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

6 PRESENTACIÓN DE LA BASE DE DATOS BIBLIOTECA


Se desea mantener información de una biblioteca doméstica; para ello se ha definido una base de datos
relacional cuyo esquema se muestra a continuación:

AUTOR(autor_id: char(4), nombre: char(35), nacionalidad: char(20))


CP: {autor_id}
VNN: {nombre}

LIBRO(id_lib: char(10), titulo: char(80), año: entero, num_obras: entero)


CP: {id_lib}

TEMA(tematica: char(20), descripcion: char(50))


CP: {tematica}

OBRA(cod_ob: entero, titulo: char(80), tematica: char(20))


CP: {cod_ob}
CAj: {tematica}® TEMA
VNN: {titulo}

AMIGO(num: entero, nombre: char(60), telefono: char(10))


CP: {num} SELECT p.cod_pais, p.nombre, COUNT(DISTINCT a.cod_act)
VNN: {nombre} FROM Pais p LEFT JOIN (Actor a JOIN Actua ac ON a.cod_act = ac.cod_act )
ON p.cod_pais = a.cod_pais AND ac.papel = 'Secundario'
WHERE p.cod_pais = a.cod_pais AND p.nombre LIKE 'A%'
LEER(num: entero, cod_ob: GROUP BY p.cod_pais, p.nombre
entero)
ORDER BY p.nombre;
CP: {num, cod_ob}
CAj: {num} ® AMIGO
CAj: {cod_ob} ® OBRA

ESTA_EN(cod_ob: entero, id_lib: char(10))


CP: {cod_ob, id_lib}
CAj: {cod_ob} ® OBRA
CAj: {id_lib} ® LIBRO

ESCRIBIR(cod_ob: entero, autor_id: char(4))


CP: {cod_ob, autor_id}
CAj: {cod_ob}® OBRA
CAj: {autor_id}® AUTOR
Para aclarar por completo el esquema, a continuación se explica el significado de cada atributo en cada
relación:

• Autor:
§ autor_id: identificador del autor.
§ nombre: nombre del autor.
§ nacionalidad: nacionalidad del autor.
• Libro:
§ id_lib: identificador del libro.
§ titulo: título del libro.
§ año: año de publicación del libro.
§ num_obras: cuántas obras hay en el libro.
• Tema:
Bases de Datos y Sistemas de Información Documento UD2.2 25

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

§ temática: identificador de cada tema.


§ descripción: breve descripción del tema.
• Obra:
§ cod_ob: identificador de la obra.
§ titulo: título de la obra.
§ temática: tema en el que se clasifica la obra.
• Amigo:
§ num: identificador de cada amigo.
§ nombre: nombre del amigo.
§ teléfono: teléfono del amigo.
• Leer: el amigo identificado por num ha leído la obra de código cod_ob.
• Esta_en: la obra de código cod_ob está incluida en el libro identificado por id_lib.
• Escribir: el autor con identificador autor_id ha escrito la obra de código cod_ob.
Además, los datos deben cumplir las propiedades siguientes:
• El valor del atributo num_obras de un libro siempre debe ser igual al número de tuplas de Esta_en
donde aparece dicho libro.
• Todo libro contiene al menos una obra.
• Si un libro tiene título y sólo consta de una obra, entonces se asume que el título del libro es el
título de la obra.
Gráficamente el esquema relacional es el siguiente:

7 EJERCICIOS SOBRE LA BASE DE DATOS BIBLIOTECA

7.1 Consultas sobre una sola relación


1. Obtener el nombre de los autores de nacionalidad ‘Argentina’.
NOMBRE
-----------------------------------
Bioy Casares, Adolfo
Borges, Jorge Luis
Cortázar, Julio
2. Obtener los títulos de las obras que contengan la palabra ‘mundo’.
TITULO
-----------------------------------------------------------------

Bases de Datos y Sistemas de Información Documento UD2.2 26

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Un mundo feliz
El ahogado más hermoso del mundo
3. Obtener el identificador de los libros anteriores a 1990 y que contengan más de una obra indicando el
número de obras que contiene.
ID_LIB NUM_OBRAS
---------- ----------
LIB-000187 2
4. ¿Cuántos libros hay de los que se conozca el año de publicación?
LIB_AÑO
----------
92
5. ¿Cuántos libros tienen más de una obra? Resolver este ejercicio utilizando el atributo num_obras.
MÁS_1_OB
----------
30
6. Obtener el identificador de los libros del año 1997 que no tienen título.
ID_LIB
----------
LIB-000045
LIB-000046
LIB-000048
LIB-000310
LIB-000311
LIB-000424
6 filas seleccionadas.
7. Mostrar todos los títulos de los libros que tienen título en orden alfabético descendente.
TITULO
--------------------------------------------------------------------------------
Vuelva usted mañana y otros artículos
Vox
Tres pastiches victorianos
Todos los cuentos. EL balneario y las ataduras
Sherlock Holmes. Obras completas III
Sherlock Holmes. Obras completas II
Sherlock Holmes. Obras completas I
Relatos que me asustaron
Raymon Chandler. Obras selectas II
Raymon Chandler. Obras selectas I
Pequeños cuentos misóginos
Narraciones extraordinarias
Lo infinitamente pequeño
La mano parda y otros relatos
La increíble y triste historia de la cándida Eréndida y su abuela desalmada
Inglés-Español, VOX
Francés-Español, Sopena
Doce cuentos peregrinos
Cuentos juveniles
Cuentos de la taberna del ciervo blanco
Cuentos
Clásicos de Grecia y Roma
Blanco en azul
Algunos cuentos chilenos
24 filas seleccionadas.
8. Obtener cuántas obras hay en los libros publicados entre 1990 y 1999.
OBRAS
----------------------
127

Bases de Datos y Sistemas de Información Documento UD2.2 27

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

7.2 Consultas sobre varias relaciones


9. Obtener cuántos autores han escrito alguna obra con la palabra “ciudad” en su título.
AUTORES
----------------------
4
10. Obtener el título de todas las obras escritas por el autor de nombre ‘Camús, Albert’.
TITULO
-----------------------------------------------------------------
El extranjero
11. ¿Quién es el autor de la obra de título ‘La tata’?
NOMBRE
-----------------------------------
Martín Gaite, Carmen
12. Obtener el nombre de los amigos que han leído alguna obra del autor de identificador ‘RUKI’.
NOMBRE
------------------------------------------------
Isabel Peiró García
Eloy Prim Gros
13. Obtener el título y el identificador de los libros que tengan título y más de una obra. Resolver este
ejercicio sin utilizar el atributo num_obras.
ID_LIB TÍTULO
--------------------------------------------------------------------------
LIB-000084 Raymon Chandler. Obras selectas II
LIB-000066 Sherlock Holmes. Obras completas I
LIB-000301 Cuentos juveniles
LIB-000177 Doce cuentos peregrinos
LIB-000030 Clásicos de Grecia y Roma
LIB-000076 La mano parda y otros relatos
LIB-000100 Pequeños cuentos misóginos
LIB-000197 Cuentos
LIB-000266 Blanco en azul
LIB-000288 Vuelva usted mañana y otros artículos
LIB-000017 Tres pastiches victorianos
LIB-000070 Sherlock Holmes. Obras completas II
LIB-000081 Raymon Chandler. Obras selectas I
LIB-000180 La increíble y triste historia de la cándida Eréndida y su abuela
LIB-000044 Algunos cuentos chilenos
LIB-000470 Narraciones extraordinarias
LIB-000226 Relatos que me asustaron
LIB-000349 Todos los cuentos. EL balneario y las ataduras
LIB-000073 Sherlock Holmes. Obras completas III
LIB-000131 Lo infinitamente pequeño
LIB-000034 Cuentos de la taberna del ciervo blanco
21 filas seleccionadas

7.3 Consultas con subconsultas


14. Obtener el título de las obras escritas sólo por un autor si éste es de nacionalidad “Francesa” indicando
también el nombre del autor.
TITULO NOMBRE
------------------------------------------ ----------------------
Bella del señor Cohen, Albert
El método Montignac Montignac, Michel
Madame Bovary Flaubert, Gustave
La hierba roja Vian, Boris
Con las mujeres no hay quien pueda Vian, Boris
Que se mueran los feos Vian, Boris
Escupiré sobre vuestras tumbas Vian, Boris
El lobo hombre Vian, Boris

Bases de Datos y Sistemas de Información Documento UD2.2 28

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

El extranjero Camús, Albert


Bosquejo de una teoría de las emociones Sartre, Jean-Paul
El amante Duras, Marguerite
Ana, soror… Yourcenar, Marguerite
Opus nigrum Yourcenar, Marguerite
Los amotinados de la "Bounty" Verne, Jules
14 filas seleccionadas.
15. ¿Cuántos autores hay en la base de datos de los que no se tiene ninguna obra?
SIN_OBRA
----------
3
16. Obtener el nombre de esos autores.
NOMBRE
-----------------------------------
Peris Rossi, Cristina
Apollinaire, Guillaume
García Hortelano, Juan
17. Obtener el nombre de los autores de nacionalidad “Española” que han escrito dos o más obras.
NOMBRE
-----------------------------------
Buero Vallejo, Antonio
Pérez Reverte, Arturo
Martínez Ruíz, Jose; Azorín
Cela, Camilo José
Martín Gaite, Carmen
García Sánchez, Javier
Marías, Javier
Borrell, Joaquín
Pla, Josep
Sampedro, José Luis
Millás, Juan José
De Vega, Lope
De Larra, Mariano José
Vázquez Montalbán, Manuel
Delibes, Miguel
Hernández, Miguel
Pérez de Ayala, Ramón
Sender, Ramón J.
18 filas seleccionadas.
18. Obtener el nombre de los autores de nacionalidad “Española” que han escrito alguna obra que está en
dos o más libros.
NOMBRE
-----------------------------------
Valera, Juan
19. Obtener el título y el código de las obras que tengan más de un autor.
COD_OB TITULO
-----------------------------------------------
151 El quinto jinete
170 A escullar

7.4 Consultas con cuantificación universal


20. Obtener el nombre de los amigos que han leído todas las obras del autor de identificador ‘RUKI’.
NOMBRE
------------------------------------------------
Isabel Peiró García
21. Resolver de nuevo la consulta anterior pero para el autor de identificador ‘GUAP’.
No se ha seleccionado ninguna fila.

Bases de Datos y Sistemas de Información Documento UD2.2 29

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Para comprar fechas:
SELECT l.cod_lib, l.titulo
FROM
Departamento de Sistemas Informáticos y Computación

22. Obtener el nombre de los amigos que han leído todas las obras de algún autor de los que hay en la tabla
autor.
NOMBRE
------------------------------------------------
Isabel Peiró García
Yolanda Milanés Cuba
23. Resolver la consulta anterior indicando también el nombre de ese autor.
NOMBRE_AMIGO NOMBRE_AUTOR
---------------------------------------------------------
Isabel Peiró García Maalouf, Amin
Yolanda Milanés Cuba Vian, Boris
Isabel Peiró García Kipling, Rudyard
24. Obtener el nombre de los amigos que sólo han leído obras del autor de identificador ‘CAMA’.
NOMBRE
-------------------------------------------------
Pepe Pérez Pérez
25. Resolver de nuevo la consulta anterior pero para el autor de identificador ‘GUAP’.
No se ha seleccionado ninguna fila.
26. Obtener el nombre de los amigos tales que todas las obras que han leído son del mismo autor.
NOMBRE
--------------------------------------------------
Eloy Prim Gros
Pepe Pérez Pérez
Yolanda Milanés Cuba
27. Resolver la consulta anterior indicando también el nombre del autor.
AMIGO AUTOR
--------------------------- -----------------------------
Eloy Prim Gros Kipling, Rudyard
Pepe Pérez Pérez Martín Gaite, Carmen
Yolanda Milanés Cuba Vian, Boris
28. Obtener el nombre de los amigos que han leído todas las obras de algún autor y no han leído nada de
ningún otro indicando también el nombre del autor.
NOMBRE_AMIGO NOMBRE
-------------------------------------------------------
Yolanda Milanés Cuba Vian, Boris

7.5 Consultas agrupadas


29. Resolver el ejercicio 13 usando la cláusula GROUP BY.
Ver resultado en consulta 13.
30. Obtener el nombre de los amigos que han leído más de 3 obras indicando también la cantidad de obras
leídas.
NOMBRE CUÁNTAS
-------------------------------------------------- ---------------
Isabel Peiró García 7
Yolanda Milanés Cuba 5
31. Obtener, de los temas con alguna obra, la temática y la cantidad de obras con ese tema.
TEMATICA NUM_OBRAS
-------------------- ----------
Antropología 4
Artículo 57
Aventuras 2
Biografía 6
Ciencia Ficción 6
Clásico 14
Cocina 10
Cuento 164

Bases de Datos y Sistemas de Información Documento UD2.2 30

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Experiencias 1
Filosofía 3
Histórica 16
Intriga 1
Inventada 1
Juvenil 18
Lógica 3
Misterio 60
Mitología 1
Negra 23
Novela 139
Poesía 9
Teatro 7
Viajes 10
22 filas seleccionadas
32. Obtener, de todos los temas de la base de datos, la temática y la cantidad de obras con ese tema.
TEMATICA NUM_OBRAS
-------------------- ----------
Antropología 4
Artículo 57
Aventuras 2
Biografía 6
Ciencia Ficción 6
Clásico 14
Cocina 10
Cuento 164
Diccionario 0
Ensayo 0
Experiencias 1
Filosofía 3
Histórica 16
Intriga 1
Inventada 1
Juvenil 18
Lógica 3
Misterio 60
Mitología 1
Negra 23
Novela 139
Poesía 9
Teatro 7
Viajes 10
24 filas seleccionadas

33. Obtener el nombre del autor (o autores) que más obras han escrito.
NOMBRE
---------------------------------
Pla, Josep
34. Obtener la nacionalidad (o nacionalidades) menos frecuentes.
NACIONALIDAD
--------------------
Alemana
Checa
Colombiana
Danesa
Griega
Mejicana
35. Obtener el nombre del amigo (o amigos) que han leído más obras.
NOMBRE
--------------------------------------------------
Isabel Peiró García

Bases de Datos y Sistemas de Información Documento UD2.2 31

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

7.6 Consultas generales


36. Obtener el título y el identificador de los libros que tengan título y que contengan sólo una obra.
no se ha seleccionado ninguna fila.
37. Como se concluye del resultado de la consulta anterior, los libros con una sola obra no tienen título
propio. Asumiendo en este caso que su título es el de la obra que contienen, obtener la lista de todos los
títulos de libros que hay en la base de datos tengan las obras que tengan.
TITULO
-----------------------------------------------------

301 filas seleccionadas.
38. Obtener el nombre de los amigos que han leído alguna obra del autor de identificador ‘CAMA’.
NOMBRE
-------------------------------------------------
Pepe Pérez Pérez
Isabel Peiró García
Isidro Catalá Ferrer
39. Obtener el nombre de los amigos que no han leído ninguna obra del autor de identificador ‘CAMA’.
NOMBRE
------------------------------------------------------------
Marina Sánchez Vidal
Eloy Prim Gros
Yolanda Milanés Cuba
Félix Díaz Drac
40. Obtener el nombre de los amigos que no han leído ninguna obra del autor de identificador ‘CAMA’ pero
que han leído algo.
NOMBRE
------------------------------------------------------------
Eloy Prim Gros
Yolanda Milanés Cuba
41. Obtener el nombre del amigo (o amigos) que han leído más obras. No utilizar GROUP BY.
NOMBRE
--------------------------------------------------
Isabel Peiró García

Bases de Datos y Sistemas de Información Documento UD2.2 32

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

8 PRESENTACIÓN DE LA BASE DE DATOS CICLISMO


Se desea mantener información de una vuelta ciclista; para ello se ha definido una base de datos
relacional cuyo esquema se muestra a continuación. Este es el mismo esquema que el presentado en la
UD2.1.

EQUIPO(nomeq:char(25),director:char(30))
CP:{nomeq}

CICLISTA(dorsal:entero,nombre:char(30),edad:entero,nomeq:char(25))
CP:{dorsal}
CAj:{nomeq}® EQUIPO
VNN:{nomeq}
VNN:{nombre}

ETAPA(netapa:entero,km:entero,salida:char(35),llegada:char(35),
dorsal:entero)
CP:{netapa}
CAj:{dorsal}® CICLISTA

MAILLOT(codigo:char(3),tipo:char(30),premio:entero,color:char(25))
CP:{codigo}

PUERTO(nompuerto:char(30),altura:entero,categoria:char(1),
pendiente:real,netapa:entero,dorsal:entero)
CP:{nompuerto}
CAj:{netapa}® ETAPA
CAj:{dorsal}® CICLISTA
VNN:{netapa}

LLEVAR(dorsal:entero,netapa:entero,codigo:char(3))
CP:{netapa,codigo}
CAj:{netapa}® ETAPA
CAj:{dorsal}® CICLISTA
CAj:{codigo}® MAILLOT
VNN:{dorsal}
Para aclarar por completo el esquema, a continuación se explica el significado de cada atributo.
• Equipo:
§ nomeq: cómo se llama el equipo ciclista.
§ director: nombre del preparador técnico del equipo.
• Ciclista:
§ dorsal: nº de dorsal asignado al ciclista durante la carrera.
§ nombre: cómo se llama el corredor.
§ edad: cuántos años tiene.
§ nomeq: nombre del equipo al que pertenece.
• Etapa:
§ netapa: número de la etapa en la vuelta.
§ km: cuántos kilómetros tiene la etapa.
§ salida: nombre de la ciudad de donde parte la etapa.
§ llegada: nombre de la ciudad donde está la meta de la etapa.
§ dorsal: dorsal del ciclista que ha ganado la etapa.

Bases de Datos y Sistemas de Información Documento UD2.2 33

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

• Puerto:
§ nompuerto: cómo se llama el puerto de montaña.
§ altura: altura máxima del puerto.
§ categoria: cuál es la categoría del puerto (1ª, especial, …).
§ pendiente: % de pendiente media del puerto.
§ netapa: número de la etapa donde se sube el puerto.
§ dorsal: dorsal ciclista que ha ganado el puerto al pasar en primera posición.
• Maillot:
§ codigo: código del maillot.
§ tipo: indica qué clasificación premia ese maillot.
§ color: cómo es la camiseta asociada a ese premio.
§ premio: cuánto dinero gana el ciclista que acabe la vuelta con ese maillot.
• Llevar: el ciclista con dorsal dorsal ha llevado en la etapa de número netapa el maillot identificado
por codigo.
Gráficamente el esquema relacional es el siguiente:

9 EJERCICIOS SOBRE LA BASE DE DATOS CICLISMO

9.1 Consultas sobre una sola relación


1. Obtener el código, el tipo, el color y el premio de todos los maillots que hay.
COD TIPO COLOR PREMIO
--- ------------------------------ -------------------- ----------
MGE General Amarillo 8000000
MMO Montaña Blanco y Rojo 2000000
MMS Mas Sufrido Estrellitas moradas 2000000
MMV Metas volantes Rojo 2000000
MRE Regularidad Verde 2000000
MSE Sprints especiales Rosa 2000000
6 filas seleccionadas.

Bases de Datos y Sistemas de Información Documento UD2.2 34

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

2. Obtener el dorsal y el nombre de los ciclistas cuya edad sea menor o igual que 25 años.
DORSAL NOMBRE
---------- ------------------------------
38 Javier Palacin
41 Rolf Aldag
46 Agustin Sagasti
49 Eugeni Berzin
66 Enrico Zaina
98 Eleuterio Anguita
6 filas seleccionadas.
3. Obtener el nombre y la altura de todos los puertos de categoría ‘E’ (Especial).
NOMPUERTO ALTURA
----------------------------------- ----------
Arcalis 2230
Cerler-Circo de Ampriu 2500
Coll de Ordino 1980
Cruz de la Demanda 1850
Lagos de Covadonga 1134
Sierra Nevada 2500
6 filas seleccionadas.
4. Obtener el valor del atributo netapa de aquellas etapas con salida y llegada en la misma ciudad.
NETAPA
----------
1
8
18
5. ¿Cuántos ciclistas hay?
CICLISTAS
----------
100
6. ¿Cuántos ciclistas hay con edad superior a 25 años?
CICLISTAS
----------
94
7. ¿Cuántos equipos hay?
COUNT(*)
----------
22
8. Obtener la media de edad de los ciclistas.
AVG(EDAD)
----------
29,89
9. Obtener la altura mínima y máxima de los puertos de montaña.
MIN(ALTURA MAX(ALTURA
---------- ----------
565 2500

9.2 Consultas sobre varias relaciones


10. Obtener el nombre y la categoría de los puertos ganados por ciclistas del equipo ‘Banesto’.
NOMPUERTO C
----------------------------------- -
Alto del Naranco 1
Coll de la Comella 1
Navacerrada 1
Puerto de Alisas 1

Bases de Datos y Sistemas de Información Documento UD2.2 35

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Puerto de la Morcuera 2
Puerto de Navalmoral 2
Sierra Nevada E
7 filas seleccionadas.
11. Obtener el nombre del cada puerto indicando el número (netapa) y los kilómetros de la etapa en la que
se encuentra el puerto.
NOMPUERTO NETAPA KM
----------------------------------- ---------- ----------
Alto del Naranco 10 200
Arcalis 10 200
Cerler-Circo de Ampriu 11 195
Coll de la Comella 10 200
Coll de Ordino 10 200
Cruz de la Demanda 11 195
Lagos de Covadonga 16 160
Navacerrada 19 190
Puerto de Alisas 15 207
Puerto de la Morcuera 19 190
Puerto de Mijares 18 195
Puerto de Navalmoral 18 195
Puerto de Pedro Bernardo 18 195
Sierra Nevada 2 180
14 filas seleccionadas
12. Obtener el nombre y el director de los equipos a los que pertenezca algún ciclista mayor de 33 años.
NOMEQ DIRECTOR
------------------------- ------------------------------
Amore Vita Ricardo Padacci
Banesto Miguel Echevarria
Bresciali-Refin Pietro Armani
Carrera Luigi Petroni
Gatorade Gian Luca Pacceli
Kelme Álvaro Pino
Mapei-Clas Juan Fernandez
Navigare Lonrenzo Sciacci
TVM Steveens Henk
Telecom Morgan Reikcard
10 filas seleccionadas.
13. Obtener el nombre de los ciclistas con el color de cada maillot que hayan llevado.
NOMBRE COLOR
------------------------------ --------------------
Alessio Di Basco Rosa
Alex Zulle Amarillo
Alfonso Gutiérrez Rojo
...
Per Pedersen Rosa
Stefano della Santa Rojo
Tony Rominger Amarillo
31 filas seleccionadas.
14. Obtener pares de nombre de ciclista y número de etapa tal que ese ciclista haya ganado esa etapa y haya
llevado el maillot de color ‘Amarillo’ en alguna etapa.
NOMBRE NETAPA
------------------------------ ----------
Miguel Induráin 1
Miguel Induráin 8
Pedro Delgado 10
Pedro Delgado 19
Pedro Delgado 20
Tony Rominger 17
6 filas seleccionadas.

Bases de Datos y Sistemas de Información Documento UD2.2 36

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

15. Obtener el valor del atributo netapa de las etapas que no comienzan en la misma ciudad en que acabó
la anterior etapa.
NETAPA
----------
4
7
8
10
12
15
17
18
20
9 filas seleccionadas.

9.3 Consultas con subconsultas


16. Obtener el valor del atributo netapa y la ciudad de salida de aquellas etapas que no tengan puertos de
montaña.
NETAPA SALIDA
---------- ------------------
1 Valladolid
3 Salamanca
4 Almendralejo
5 Córdoba
6 Granada
7 Baza
8 Benidorm
9 Benidorm
12 Benasque
13 Zaragoza
14 Pamplona
17 Cangas de Onis
20 Segovia
21 Destilerias Dyc
14 filas seleccionadas
17. Obtener la edad media de los ciclistas que han ganado alguna etapa.
MEDIA
----------
30,5625
18. Selecciona el nombre de los puertos con una altura superior a la altura media de todos los puertos.
NOMPUERTO
----------------------------
Arcalis
Cerler-Circo de Ampriu
Coll de Ordino
Cruz de la Demanda
Navacerrada
Puerto de la Morcuera
Sierra Nevada
7 filas seleccionadas.
19. Obtener el nombre de la ciudad de salida y de llegada de las etapas donde estén los puertos con mayor
pendiente.
SALIDA LLEGADA
----------------------------- -----------
Igualada Andorra
20. Obtener el dorsal y el nombre de los ciclistas que han ganado los puertos de mayor altura.
DORSAL NOMBRE
---------- ------------------------------
9 Massimo Podenzana

Bases de Datos y Sistemas de Información Documento UD2.2 37

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

26 Mikel Zarrabeitia
21. Obtener el nombre del ciclista más joven.
NOMBRE
------------------------------
Eugeni Berzin
22. Obtener el nombre del ciclista más joven que ha ganado al menos una etapa.
NOMBRE
------------------------------
Vladislav Bobrik
23. Obtener el nombre de los ciclistas que han ganado más de un puerto.
NOMBRE
------------------------------
Pedro Delgado

9.4 Consultas con cuantificación universal


24. Obtener el valor del atributo netapa de aquellas etapas tales que todos los puertos que están en ellas
tienen más de 700 metros de altura.
NETAPA
----------
2
11
16
18
19
25. Obtener el nombre y el director de los equipos tales que todos sus ciclistas son mayores de 25 años.
NOMEQ DIRECTOR
------------------------- --------------------
Amore Vita Ricardo Padacci
Banesto Miguel Echevarria
Bresciali-Refin Pietro Armani
Carrera Luigi Petroni
Castorama Jean Philip
Gatorade Gian Luca Pacceli
Jolly Club Johan Richard
Kelme Álvaro Pino
Lotus Festina Suarez Cuevas
Mapei-Clas Juan Fernandez
Mercatone Uno Ettore Romano
Motorola John Fidwell
Navigare Lonrenzo Sciacci
ONCE Manuel Sainz
Seguros Amaya Minguez
TVM Steveens Henk
Wordperfect Bill Gates
17 filas seleccionadas.
26. Obtener el dorsal y el nombre de los ciclistas tales que todas las etapas que han ganado tienen más de
170 km (es decir que sólo han ganado etapas de más de 170 km).
DORSAL NOMBRE
---------- -----------------------
8 Jean Van Poppel
10 Mario Cipollini
12 Alessio Di Basco
22 Giorgio Furlan
36 Gian Matteo Fagnini
65 Pascal Lino
83 Hernan Buenahora
86 Juan Martinez Oliver
93 Bo Hamburger
9 filas seleccionadas.

Bases de Datos y Sistemas de Información Documento UD2.2 38

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

27. Obtener el nombre de los ciclistas que han ganado todos los puertos de una etapa y además han ganado
esa misma etapa.
NOMBRE
---------------
Pedro Delgado
28. Obtener el nombre de los equipos tales que todos sus corredores han llevado algún maillot o han ganado
algún puerto.
NOMEQ
-------------
Castorama
29. Obtener el código y el color de aquellos maillots que sólo han sido llevados por ciclistas de un mismo
equipo.
COD COLOR
--- --------------------
MMS Estrellitas moradas
30. Obtener el nombre de aquellos equipos tales que sus ciclistas sólo hayan ganado puertos de 1ª categoría.
NOMEQ
-------------------------
Carrera
Gatorade

9.5 Consultas agrupadas


31. Obtener el valor del atributo netapa de aquellas etapas que tienen puertos de montaña indicando
cuántos tiene.
NETAPA NUM_PUERTOS
---------- ----------
2 1
10 4
11 2
15 1
16 1
18 3
19 2
7 filas seleccionadas.
32. Obtener el nombre de los equipos que tengan ciclistas indicando cuántos tiene cada uno.
NOMEQ CICLISTAS
------------------------- ----------
Amore Vita 3
Artiach 7
Banesto 11
Bresciali-Refin 4
Carrera 3
Castorama 2
Euskadi 2
Gatorade 4
Gewiss 8
Jolly Club 2
Kelme 7
Lotus Festina 3
Mapei-Clas 7
Mercatone Uno 8
Motorola 3
Navigare 5
ONCE 5
Seguros Amaya 3
TVM 6
Telecom 4
Wordperfect 3
21 filas seleccionadas.

Bases de Datos y Sistemas de Información Documento UD2.2 39

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

33. Obtener el nombre de todos los equipos indicando cuántos ciclistas tiene cada uno.
NOMEQ CICLISTAS
------------------------- ----------
Amore Vita 3
Artiach 7
Banesto 11
Bresciali-Refin 4
Carrera 3
Castorama 2
Euskadi 2
Gatorade 4
Gewiss 8
Jolly Club 2
Kelme 7
Lotus Festina 3
Mapei-Clas 7
Mercatone Uno 8
Motorola 3
Navigare 5
ONCE 5
PDM 0
Seguros Amaya 3
TVM 6
Telecom 4
Wordperfect 3
22 filas seleccionadas
34. Obtener el director y el nombre de los equipos que tengan más de 3 ciclistas y cuya edad media sea
inferior o igual a 30 años.
DIRECTOR NOMEQ
------------------------------ -------------------------
Ettore Romano Mercatone Uno
José Peréz Artiach
Lonrenzo Sciacci Navigare
Manuel Sainz ONCE
Moreno Argentin Gewiss
Morgan Reikcard Telecom
6 filas seleccionadas.
35. Obtener el nombre de los ciclistas que pertenezcan a un equipo que tenga más de cinco corredores y que
hayan ganado alguna etapa indicando cuántas etapas ha ganado.
NOMBRE ETAPAS
------------------------------ ----------
Bo Hamburger 1
Gert-Jan Theunisse 1
Gian Matteo Fagnini 1
Giorgio Furlan 1
Hernan Buenahora 1
Juan Martinez Oliver 1
Mario Cipollini 1
Miguel Induráin 2
Pedro Delgado 3
Tony Rominger 1
Vladislav Bobrik 1
11 filas seleccionadas.
36. Obtener el nombre de los equipos y la edad media de sus ciclistas de aquellos equipos que tengan la
media de edad máxima de todos los equipos.
NOMEQ MEDIA
------------------------- ----------
Amore Vita 32
Gatorade 32
37. Obtener el director de los equipos cuyos ciclistas han llevado, entre todos, más días maillots de cualquier
tipo. Nota: cada tupla de la relación Llevar indica que un ciclista ha llevado un maillot un día

Bases de Datos y Sistemas de Información Documento UD2.2 40

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

DIRECTOR
------------------------------
Miguel Echevarria

9.6 Consultas generales


38. Obtener el código y el color del maillot que ha sido llevado por algún ciclista que no ha ganado ninguna
etapa.
COD COLOR
--- --------------------
MGE Amarillo
MMO Blanco y Rojo
MMS Estrellitas moradas
MMV Rojo
MRE Verde
MSE Rosa
6 filas seleccionadas.
39. Obtener el valor del atributo netapa, la ciudad de salida y la ciudad de llegada de las etapas de más de
190 km. y que tengan por lo menos dos puertos.
NETAPA SALIDA LLEGADA
---------- ---------------------------- --------------------------
10 Igualada Andorra
11 Andorra Estación de Cerler
18 Ávila Ávila
40. Obtener el dorsal y el nombre de los ciclistas que no han llevado todos los maillots que ha llevado el
ciclista de dorsal 20
DORSAL NOMBRE
---------- ------------------------------
… /*Salen todos menos el 1 y el 20*/
98 filas seleccionadas.
41. Obtener el dorsal y el nombre de los ciclistas que han llevado al menos un maillot de los que ha llevado
el ciclista de dorsal 20.
DORSAL NOMBRE
---------- ------------------------------
1 Miguel Induráin
16 Dimitri Konishev
17 Bruno Leali
27 Laurent Jalabert
33 Stefano della Santa
42 Davide Cassani
48 Marco Saligari
7 filas seleccionadas.
42. Obtener el dorsal y el nombre de los ciclistas que no han llevado ningún maillot de los que ha llevado el
ciclista de dorsal 20.
DORSAL NOMBRE
---------- ------------------------------
… /*Salen todos menos el 1,16,17,20,27,33,42 y 48*/

43. 9Obtener el dorsal y el nombre de los ciclistas que han llevado todos los maillots que ha llevado el ciclista
de dorsal 20.
DORSAL NOMBRE
---------- ------------------------------
1 Miguel Induráin
44. Obtener el dorsal y el nombre de los ciclistas que han llevado exactamente los mismos maillots que ha
llevado el ciclista de dorsal 20.
no se ha seleccionado ninguna fila

Bases de Datos y Sistemas de Información Documento UD2.2 41

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

45. Obtener el dorsal y el nombre del ciclista que ha llevado durante más kilómetros un mismo maillot e
indicar también el color de dicho maillot.
DORSAL NOMBRE COLOR
---------- ------------------------------ --------------------
20 Alfonso Gutiérrez Verde
46. Obtener el dorsal y el nombre de los ciclistas que han llevado tres tipos de maillot menos de los que ha
llevado el ciclista de dorsal 1.
DORSAL NOMBRE
---------- ------------------------------
20 Alfonso Gutiérrez
30 Melchor Mauri
26 Mikel Zarrabeitia
2 Pedro Delgado
47. Obtener el valor del atributo netapa y los km de las etapas que tienen puertos de montaña.
NETAPA KM
---------- ----------
2 180
10 200
11 195
15 207
16 160
18 195
19 190
7 filas seleccionadas.

Bases de Datos y Sistemas de Información Documento UD2.2 42

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

10 PRESENTACIÓN DE LA BASE DE DATOS DEPARTAMENTO


En este esquema relacional, deliberadamente, las consultas ya no se presentan agrupadas por el tipo de
solución ni tampoco están ordenadas por dificultad.
El Departamento de Sistemas Informáticos y Computación desea crear una base de datos para almacenar
información sobre la gestión de la docencia en el departamento; para ello se ha diseñado una base de datos
relacional cuyo esquema se muestra a continuación:

CENTRO(ccen:char(6),nmcen:char(100))
CP:{ccen}
VNN: {nmcen}

PROFESOR(nip:entero, nom:char(150),ctg:char(7),
ccen:char(6),doctor:char(1),hded:real,area:char(3),
grupo_inv:char(10))
CP:{nip}
CAj:{ccen}®Centro
CAj:{grupo_inv}®Grupo_inv(cgi)
VNN:{nom,ctg,doctor,area,hded}

TITULACION(ctit:char(6),nomtit:char(150))
CP:{ctit}
VNN:{nomtit}

ASIGNATURA(cod_asg:entero,ccen:char(6),ctit:char(6), cu:char(2),
nmasg:char(120),resp:entero,udo:char(3),caracter:char(2),
gt:entero,gp:entero,ct:real,cp:real,
nalm:entero,area:char(4))
CP:{cod_asg}
CAj:{ccen}®Centro Borrado en cascada
CAj:{resp}® Profesor f(resp) = nip Borrado en cascada
CAj:{ctit}®Titulacion Borrado en cascada
CAj:{udo}®Udocente Borrado en cascada
VNN:{ccen,ctit,nmasg,udo}

GRUPO_INV(cgi:char(10),nombre:char(100),responsable:entero,
grupo_princ:char(10))
CP:{cgi}
CAj:{responsable}®Profesor(nip) Borrado en cascada
CAj:{grupo_princ}® Grupo_inv(cgi)
VNN:{nombre,responsable}

DOCENCIA(cod_asg:entero,nip:entero,gtp:real,gpp:real)
CP:{ccen,ctit,casg,nip}
CAj:{ccen,ctit,casg}®Asignatura Borrado en cascada
CAj:{nip}®Profesor Borrado en cascada
VNN:{gtp,gpp}

UDOCENTE(udo:char(3),nudoc:char(40),resp:entero)
CP:{udo}
CAj:{resp}®Profesor(nip)
VNN:{nudoc,resp}

Donde las distintas relaciones y atributos tienen el significado siguiente:

Bases de Datos y Sistemas de Información Documento UD2.2 43

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

• Centro: centros con docencia de asignaturas del departamento.


§ ccen: código del centro.
§ nmcen: nombre del centro.
• Titulación: titulaciones con asignaturas impartidas por el departamento.
§ ctit: código de la titulación.
§ nomtit: nombre de la titulación.
• Profesor: profesores del departamento.
§ nip: el número identificador del profesor.
§ nom: nombre.
§ ctg: categoría.
§ ccen: centro de adscripción.
§ doctor: si es o no doctor (S si es doctor, N si no lo es).
§ hded: créditos de dedicación del profesor.
§ area: área de conocimiento a la que pertenece el profesor.
§ grupo_inv: grupo de investigación al que pertenece.
• Asignatura: asignaturas del departamento.
§ cod_asg: código de la asignatura.
§ ccen: código del centro en el que se imparte.
§ ctit: código de la titulación a la que pertenece.
§ cu: curso y semestre de la asignatura.
§ nmasg: nombre de la asignatura.
§ resp: identificador del profesor responsable.
§ udo: código de la unidad docente a la que está adscrita la asignatura.
§ caracter: carácter de la asignatura (O es obligatoria de rama, B es troncal, S es formación
básica).
§ gt: número de grupos de teoría.
§ gp: número de grupos de prácticas.
§ ct: créditos en el plan de estudios por cada grupo de teoría.
§ cp: créditos en el plan de estudios por cada grupo de prácticas.
§ nalm: número de alumnos matriculados.
§ area: área de conocimiento a la que pertenece la asignatura.
• Grupo_inv: grupos de investigación del departamento.
§ cgi: código grupo de investigación.
§ nombre: nombre del grupo de investigación.
§ responsable: identificador del profesor responsable.
§ grupo_princ: grupo de investigación principal al que está subordinado como subgrupo.
• Docencia: docencia de asignaturas por profesores.
§ cod_asg: código de la asignatura.
§ nip: identificador del profesor.
§ gtp: número de grupos de teoría que imparte el profesor en la asignatura.
§ gpp: número de grupos de práctica que imparte el profesor en la asignatura.
• Udocente: unidades docentes en las que se organiza el departamento.
§ udo: código de la unidad docente.
§ nudoc: nombre de la unidad docente.
§ resp: identificador del profesor responsable de la unidad docente.
Gráficamente el esquema relacional es el que se muestra a continuación:

Bases de Datos y Sistemas de Información Documento UD2.2 44

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Este diagrama es generado por el SGBD Oracle y en él:


• Cada caja representa una tabla.
• Un asterisco rojo delante de un atributo indica que ese atributo tiene restricción de valor no nulo.
• La clave primaria de una relación se indica de varias formas:
§ P delante de los atributos que forma parte de ella.
§ Con el símbolo
• Una clave ajena se indica de varias formas:
§ F delante de los atributos que forma parte de ella.
§ Con el símbolo
§ Con una flecha que conecta con la relación a la que hace referencia. La flecha es continua
si la clave ajena también tiene restricción de valor no nulo y discontinua si puede ser
nulo.
• Una restricción de unicidad se indica de varias formas:
§ U delante de los atributos que forma parte de ella.
§ Con el símbolo

11 EJERCICIOS SOBRE LA BASE DE DATOS DEPARTAMENTO3


1. Obtener el nombre de los profesores con menor número de créditos de dedicación.
NOMBRE
------------------------

3 Cuando una fila del resultado de una consulta no quepa en una línea, se eliminarán caracteres por el final.

Bases de Datos y Sistemas de Información Documento UD2.2 45

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Donat Cano, Pino


Yudici Cosme, Alexandro
2. ¿Cuántas asignaturas hay cuyo responsable no imparte docencia en ella?
CUÁNTAS
--------
3
3. Obtener el nombre de las asignaturas del centro de código 'R' y de la titulación 156 que más alumnos
tiene matriculados.
NMASG
----------------
Programación
4. Obtener el nombre de las asignaturas y el nombre del profesor responsable para las asignaturas con más
de 6 grupos de teoría (ordenado por nombre de asignatura).
ASIGNATURA RESPONSABLE
Bases de Datos y Sistemas de Información Luis Almiñana, Isaac
Computación Paralela Delgado Cervantes, Camill
Concurrencia y Sistemas Distribuidos Cuallado Simó, Tomás
Estructuras de Datos y Algoritmos Dolz Eyob, Marlon
Gestión de Proyectos Gorrís Arastey, Celia
Ingeniería del Software Antón Álvaro, Roberto
Interfaces Persona Computador Caballero Mondejar, Aleja
Introducción a la Informática y a la Programación Vázquez Angulo, Alba
Lenguajes, Tecnologías y Paradigmas de la Programación Alcañiz Campos, Àlvar
Programación Albiñana Lucán, Carla
Sistemas Inteligentes Barros Navalón, Antonio
Tecnología de Sistemas de Información en la Red Ortúzar Ciborro, Laura
Teoría de Autómatas y Lenguajes Formales Lanáquera Toledo, Marcos
13 filas seleccionadas. 13 filas seleccionadas.
5. Obtener el código y el nombre de los centros que no tengan profesores adscritos (ordenado por nombre).
CCEN NMCEN
------ ---------------------------------------
C E.T.S.I. Caminos, Canales y Puertos
X Unidad de Másteres Universitarios
6. Obtener el nombre de los profesores no doctores que no pertenecen a un centro (ordenado por nombre).
NOMBRE
-------------------------------
Hernica Alejo, Wael
Peñarrocha Marimón, Vicente
7. Obtener el código y el nombre de los centros que no tienen profesores ni asignaturas.
CCEN NMCEN
------ --------------------------------------
C E.T.S.I. Caminos, Canales y Puertos
8. Obtener el código y el nombre de las asignaturas de carácter optativo (O) cuyo profesor responsable
también lo es de alguna unidad docente indicando el nombre de ese profesor. Ordenado por nombre de
asignatura.
COD_ASG NOMBRE RESPONSABLE
------ -------------------------------------------------- ----------------------
11593 Algorítmica Nielsen Vizcarro, Adr
34566 Algoritmos Paralelos en Procesamiento de Señal (Ap Mollá Gurrea, Héctor
34567 Computación de Altas Prestaciones en Problemas de Mollá Gurrea, Héctor
11649 Criptografía Lanáquera Toledo, Mar
11596 Diseño y Gestión de Bases de Datos Luis Almiñana, Isaac
14101 Entornos de Desarrollo de Videojuegos Furió Vitoria, Carme
33948 Experiencias en Gestión de Modelos Arcas Lanzat, Enric
11729 Introducción a la Programación de Videojuegos Valiño Montesinos, Ma
11575 Lenguajes y Entornos de Programación Paralela Matos Cruz, Ismael
11569 Mantenimiento y Evolución de Software Arcas Lanzat, Enric
11321 Programación de Dispositivos Móviles Pedrosa Ivars, Erika
33984 Programación Gráfica Furió Vitoria, Carmel

Bases de Datos y Sistemas de Información Documento UD2.2 46

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

13670 Programación Informática en Arduino Moltó Lavandera, Idir


33983 Realidad Virtual y Aumentada Gutiérrez Lairón, Sar
33992 Reconocimiento Automático del Habla Nielsen Vizcarro, Adr
33946 Sistemas de Gestión de Emergencias Carmona Navalón, Davi
16 filas seleccionadas.
9. Obtener el código del centro, el código de la titulación y el nombre de las asignaturas con más de un
crédito por grupo de teoría de la unidad docente cuyo responsable es el profesor de nombre 'Luis
Almiñana, Isaac'. Ordenado por nombre de asignatura.
CCEN CTIT NMASG
---- ------ --------------------------------------------------------
R 156 Análisis de Requisitos de Negocio
D 2269 Analysis of Genomic Data
R 2233 Auditoría, Calidad y Gestión de Sistemas de Información
R 189 Bases de Datos
G 153 Bases de Datos
R 156 Bases de Datos y Sistemas de Información
R 2233 Ciencia de Datos
R 156 Diseño y Gestión de Bases de Datos
R 156 Diseño y Gestión de Sistemas de Información Genómicos
R 2255 Explotación de Datos Masivos
R 189 Gestión de Datos
R 156 Gestión de las Tecnologías de la Información
R 2233 Informática Médica
R 189 Proyecto II, Integración y Preparación de Datos
R 189 Seguridad de los Datos
R 156 Sistemas de Almacenamiento y Recuperación y de Informaci
R 156 Sistemas de Información Estratégicos
R 156 Tecnología de Bases de Datos 18 filas seleccionadas.
10. Obtener el nombre de los profesores que imparten docencia en alguna asignatura de un semestre B (el
curso da igual) en las titulaciones cuyo nombre contenga la palabra ‘Creativas’ (ordenado por el nombre).
NOMBRE
----------------------------------------
Cruz Puche, Elisa
Galdón Jarl, Xavier
Gutiérrez Lairón, Sara
Marqués Sebastián, Nieves
Parcet Morell, Pino
Ponz Rica, Marta
Roselló Pallarés, Diego
Sanhermelando Jordá, Ana
Torras Delgado, Pau
9 filas seleccionadas.
11. Obtener, para cada centro que tenga adscritos más de 100 profesores, el código y el nombre del centro
y la cantidad de titulaciones que se imparten en él.
CCEN NOMBRE TITULACIONES
------ ----------------------------------- ------------
R E.T.S. de Ingeniería Informática 4
12. Obtener, para cada categoría de profesor con docencia, la categoría, cuántos son los créditos totales4
impartidos entre todos los profesores con esa categoría y cuántos son los profesores que tiene esa
categoría. Ordenado por categoría.
CTG CRÉDITOS PROFESORES
------- ---------- ----------
ASOL-P3 1 1
ASOL-P4 18 2
ASOL-P6 81,85 10
AYD-TC 5,5 3
COD-TC 267,15 13

4 Los créditos que un profesor imparte en una asignatura dependen de los grupos de teoría o prácticas que imparta y de los créditos
de teoría o prácticas que tenga la asignatura.

Bases de Datos y Sistemas de Información Documento UD2.2 47

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

COL-TC 52 2
CU 516 31
TEU 408,73 12
TEU-P6 15,01 1
TU 1693,18 70
TU-P3 6 1
11 filas seleccionadas.
13. Obtener el nombre de los profesores que son responsables de asignaturas en las que no tienen docencia.
NOMBRE
---------------------------------
Cano Lanáquera, Guillem
Montesinos Carrión, David
Mor Ferrer, Alfons.
14. Obtener el código y el nombre de las unidades docentes que tienen asignaturas en todos los centros cuyo
nombre contiene la cadena ‘Inform’.
UDO NUDOC
--- ----------------------------------------
159 Computación
162 Computación Numérica
160 Desarrollo del Software
165 Informática Gráfica y Multimedia
161 Inteligencia Artificial
169 Programación
158 Sistemas
157 Sistemas de Información
8 filas seleccionadas.
15. Resolver la consulta anterior, pero para la cadena ‘Bioinf’.
no se ha seleccionado ninguna fila
16. Obtener el código y el nombre de las unidades docentes que tienen asignaturas exactamente en dos
centros.
UDO NUDOC
--- ----------------------------
161 Inteligencia Artificial
162 Computación Numérica
17. Obtener el nombre de las asignaturas de carácter S en las que algún profesor doctor imparte más de 2
grupos de prácticas o más de 2 grupos de teoría indicando también el nip de ese profesor y el número
total de créditos impartidos por ese profesor en la asignatura. Ordenado por nombre de asignatura.
ASIGNATURA NIP CRÉDITOS
--------------------------------------------------------- ---------- ----------
Conocimientos Básicos de Programación y Métodos Numéricos 2641 9
Conocimientos Básicos de Programación y Métodos Numéricos 3231 6
Conocimientos Básicos de Programación y Métodos Numéricos 1344 9
Informática 11449 10,8
Informática 20523 7,2
Informática 10580 15
Informática 31657 10,8
Informática 37691 12
Informática Aplicada 10772 16
Informática y Redes 877 2,16
Informática y Redes 1357 4,08
Introducción a la Informática y a la Programación 10115 15
Introducción a la Informática y a la Programación 10613 18
Introducción a la Informática y a la Programación 1092 15
Programación 10115 16,5
Programación 10613 16,5
16 filas seleccionad.
18. Obtener el nombre de los profesores cuyo nombre contiene al menos una vocal mayúscula acentuada y
que imparten asignaturas de más de una unidad docente. Ordenado alfabéticamente.
NOMBRE
------------------------------------

Bases de Datos y Sistemas de Información Documento UD2.2 48

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Agut Fortea, Óscar


Álvarez Pozo, Sául
Antón Álvaro, Roberto
Izquierdo Alarcón, Ángel
19. Obtener el nombre de las asignaturas cuyo nombre contiene la cadena 'Datos' indicando también el
nombre de cada profesor que la imparte.
ASIGNATURA PROFESOR
---------------------------------------- ---------------------------------------
Big Data/ Minería de Datos Geoespaciales Ivars Bens, Diego
Bases de Datos y Sistemas de Información Mejía Prieto, Sergio
Tecnología de Bases de Datos Mejía Prieto, Sergio
Bases de Datos Mejía Prieto, Sergio
Gestión de Datos Mejía Prieto, Sergio
Tecnologías de Gestión de Datos Mejía Prieto, Sergio
Bases de Datos y Sistemas de Información Luis Almiñana, Isaac
Diseño y Gestión de Bases de Datos Luis Almiñana, Isaac
Tecnología de Bases de Datos Luis Almiñana, Isaac
Bases de Datos Luis Almiñana, Isaac
Gestión de Datos Luis Almiñana, Isaac
Bases de Datos Álvarez Pozo, Sául
Bases de Datos y Sistemas de Información Álvarez Pozo, Sául
Bases de Datos y Sistemas de Información Burguera Beltrán, Ismael
Bases de Datos y Sistemas de Información Cal Brú, Isaac
Estructuras de Datos Wun Sancho, Máximo
Proyecto II, Integración y Preparación de Datos Ochando Correa, Alfonso
Estructuras de Datos y Algoritmos Lozano Coma, Silvia
Bases de Datos y Sistemas de Información Cerdán Guillen, Jaime
Seguridad de los Datos Cerdán Guillen, Jaime
Tecnología de Bases de Datos Alegre Rocha, Moises
Estructuras de Datos y Algoritmos Ejarque Valiente, Enrique
Bases de Datos y Sistemas de Información Caballero Mondejar, Alejandro
Diseño y Gestión de Bases de Datos Caballero Mondejar, Alejandro
Tecnología de Bases de Datos Caballero Mondejar, Alejandro
Bases de Datos y Sistemas de Información Pérez Alejo, Gracia
Bases de Datos Leiva Luna, Nicolás
Ciencia de Datos Leiva Luna, Nicolás
Big Data/ Minería de Datos Geoespaciales Ayora Forteza, Modesto
Diseño y Gestión de Bases de Datos Pedrera Arraez, Antony
Bases de Datos y Sistemas de Información Villarín Hernica, Jaime
Estructuras de Datos y Algoritmos Peinado Dolz, Sara
Estructuras de Datos y Algoritmos Baeza Vilar, Prados
Estructuras de Datos y Algoritmos Dolz Eyob, Marlon
Estructuras de Datos y Algoritmos Román Marrahí, Asier
Proyecto II, Integración y Preparación de Datos Casamayor Millet, Ricard
Explotación de Datos Masivos Casamayor Millet, Ricard
Estructuras de Datos y Algoritmos Nielsen Vizcarro, Adrián
Estructuras de Datos y Algoritmos Sorli Hernandez, Aitor
Estructuras de Datos y Algoritmos Valiño Limorti, Joan
Seguridad de los Datos Cardona Luis, Vicente
41 filas seleccionadas.
20. Obtener el código de las unidades docentes indicando cuántas asignaturas tiene que son impartidas por
más de cuatro profesores (sólo si tienen más de una) (ordenado por código de unidad docente).
UDO ASIGNATURAS
--- -----------
158 2
160 2
169 3
170 4
21. Obtener el código y el nombre de todos los centros que hay en la base de datos indicando cuántos
profesores doctores tienen adscritos cada uno de ellos.
CCEN NMCEN CUÁNTOS
------ -------------------------------------------------- ----------

Bases de Datos y Sistemas de Información Documento UD2.2 49

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

J E. Politécnica Superior de Alcoy 4


Q E. Politécnica Superior de Gandía 10
E E.T.S. de Ingeniería del Diseño 4
R E.T.S. de Ingeniería Informática 94
C E.T.S.I. Caminos, Canales y Puertos 0
T E.T.S.I. de Telecomunicación 3
G E.T.S.I. Geodésica, Cartográfica y Topografía 3
D E.T.S.I. Industriales 5
M Facultad de Administración y Dirección de Empresas 3
L Facultad de Bellas Artes 10
X Unidad de Másteres Universitarios 0
11 filas seleccionadas.
22. Obtener el nombre de los profesores que imparten todas las asignaturas de una unidad docente.
no se ha seleccionado ninguna fila
23. Obtener el código y el nombre de todas las asignaturas de la base de datos que pertenecen a una unidad
docente con exactamente 9 asignaturas indicando para cada asignatura cuántos profesores imparten
docencia en ella (ordenado por código de asignatura).
COD_ASG NMASG PROFESORES
---------- ---------------------------------------- ----------
11560 Sistemas Inteligentes 12
11587 Agentes Inteligentes 3
11589 Percepción 2
11592 Técnicas, Entornos y Aplicaciones de Int 2
11594 Aprendizaje Automático 3
14096 Social Web Behaviour & Network Analysis 2
33425 Logística y Servicios 2
33436 Sistemas Inteligentes 4
34508 Big Data/ Minería de Datos Geoespaciales 2
9 filas seleccionadas.
24. Obtener el nombre de todos los profesores doctores responsables de alguna unidad docente indicando
también la cantidad de asignaturas que imparte que tienen más de 3 créditos de teoría.
NOM CUÁNTAS
------------------------------ ----------
Ayora Forteza, Modesto 1
Carmona Navalón, David 1
Cuallado Simó, Tomás 2
Furió Vitoria, Carmelo 1
Gutiérrez Lairón, Sara 2
Lanáquera Toledo, Marcos 0
Lledó Novella, Ivar 2
Luis Almiñana, Isaac 4
Matos Cruz, Ismael 0
Mollá Gurrea, Héctor 1
Moltó Lavandera, Idir 1
Nielsen Vizcarro, Adrián 1
Pedrosa Ivars, Erika 0
Valiño Montesinos, Marta 0
14 filas seleccionadas.
25. Obtener el código y el nombre de todos los centros que hay en la base de datos indicando cuántos
profesores doctores y cuántos no doctores tiene adscritos. Ordenado por nombre del centro.
CCEN NOMBRE DOCS NODOCS
------ -------------------------------------------------- ---------- ----------
J E. Politécnica Superior de Alcoy 4 4
Q E. Politécnica Superior de Gandía 10 0
E E.T.S. de Ingeniería del Diseño 4 1
R E.T.S. de Ingeniería Informática 94 8
C E.T.S.I. Caminos, Canales y Puertos 0 0
T E.T.S.I. de Telecomunicación 3 0
G E.T.S.I. Geodésica, Cartográfica y Topografía 3 0
D E.T.S.I. Industriales 5 0
M Facultad de Administración y Dirección de Empresas 3 0

Bases de Datos y Sistemas de Información Documento UD2.2 50

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

L Facultad de Bellas Artes 10 2


X Unidad de Másteres Universitarios 0 0
11 filas seleccionadas.
26. Obtener el código de todas las asignaturas de la base de datos indicando el número total de créditos de
docencia que tienen asignados a profesores. Si una asignatura no tiene docencia el número de créditos
debe ser 0. Ordenado por código de asignatura.
COD_ASG TOTAL
---------- ----------
0 0
10127 27
10128 9
10204 8,5
10205 8,5
10269 24
10601 32
11267 10,8
11275 9
11321 3,5
11337 18

34573 4
34574 4
34575 2
34576 4
34577 2
34756 4
204 filas seleccionadas.
27. ¿Cuántos centros hay con menor número de asignaturas que de profesores adscritos?
CENTROS
---------
3
28. Obtener el código y el nombre de la asignatura en la que más profesores imparten docencia.
COD_ASG NMASG
------- ----------------------
11560 Sistemas Inteligentes
29. Obtener el nombre de los profesores que imparten más de 30 créditos de docencia entre todas las
asignaturas que imparten (ordenado alfabéticamente).
NOM
-------------------------------
Albiñana Lucán, Carla
Alcañiz Campos, Àlvar
Álvarez Pozo, Sául
Álvarez Pozo, Sául
Antón Álvaro, Roberto
Bonet España, Tomás
Brisa Carmona, Camilla
Bruhn Olmos, Daniel
Caballero Mondejar, Alejandro
Calvo Margaix, Mario
Cerdán Guillen, Jaime
Cerezuela Boronat, Julio
Cuallado Simó, Tomás
Cuevas Gadea, Gonzalo
Dolz Eyob, Marlon
Fernández-Calvillo Piles, Rafael
Ferrero Puertes, Pino
Fontela Banegas, Pau
Galdón Jarl, Xavier
Limorti Díez, Blas
Lledó Novella, Ivar
Lorente Racho, Ivar
Lozano Coma, Silvia

Bases de Datos y Sistemas de Información Documento UD2.2 51

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

Luis Almiñana, Isaac


Marqués Sebastián, Nieves
Mejía Prieto, Sergio
Molió Pallarés, Xavier
Mor Ferrer, Alfons
Ochando Correa, Alfonso
Ortúzar Ciborro, Laura
Torras Delgado, Pau
Vázquez Angulo, Alba
Wun Sancho, Máximo
Yusá Vidaurre, Albert
34 filas seleccionadas.
30. Obtener el código y el nombre de la asignatura con mayor número de créditos por grupo de teoría.
COD_ASG NMASG
---------- -----------------
14180 Programación
31. Obtener el nombre de los profesores que imparten docencia en alguna de las asignaturas que
pertenezcan a la titulación de código 189 del centro de código R y tal que la asignatura tenga más de 70
alumnos matriculados. Ordenados alfabéticamente.
NOM
---------------------------
Ejarque Valiente, Enrique
Peinado Dolz, Sara
Treviño Orts, Alexandro
Wun Sancho, Máximo.
32. Obtener el nombre de los profesores doctores que imparten docencia en alguna asignatura del centro
de código J .
NOM
--------------------------------
Bonet Peñafiel, Ramón
Miret Hernández, Jorge
Valiño Montesinos, Marta
33. Obtener el código y el nombre de las unidades docentes cuyo responsable tiene la categoría ‘TEU’ sólo
si éste imparte docencia nada más en asignaturas de menos de 2 créditos de teoría.
UDO NUDOC
--- ----------------------------
160 DDesarrollo del Software
34. Obtener para cada área de conocimiento el código del área indicando en cada una de ellas cuántos
profesores hay en ella, cuántos son doctores y cuántos no lo son.
AREA PROFESORES DOCTORES NO_DOCTORES
---- ---------- ---------- -----------
0035 2 2 0
0040 1 1 0
0075 17 14 3
0105 2 2 0
0185 2 1 1
0260 6 5 1
0385 1 1 0
0505 2 2 0
0560 1 1 0
0570 113 101 12
0595 1 1 0
0690 1 1 0
0785 3 3 0
0800 1 1 0
14 filas seleccionadas.
35. Obtener, para todos y cada uno de los centros, el nombre del centro, la cantidad de profesores adscritos
al mismo del área 0570 y la cantidad de asignaturas adscritas con más de 3 créditos de teoría.

Bases de Datos y Sistemas de Información Documento UD2.2 52

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

CENTRO PROF ASG


-------------------------------------------------- ---------- ----------
E. Politécnica Superior de Alcoy 7 1
E. Politécnica Superior de Gandía 7 1
E.T.S. de Ingeniería del Diseño 3 0
E.T.S. de Ingeniería Informática 85 26
E.T.S.I. Caminos, Canales y Puertos 0 0
E.T.S.I. de Telecomunicación 2 1
E.T.S.I. Geodésica, Cartográfica y Topografía 1 0
E.T.S.I. Industriales 4 3
Facultad de Administración y Dirección de Empresas 1 1
Facultad de Bellas Artes 1 0
Unidad de Másteres Universitarios 0 0
11 filas seleccionadas.
36. Obtener, para cada unidad docente con asignaturas adscritas, el nombre de la unidad docente, el nombre
del profesor responsable y la cantidad de asignaturas adscritas a esa unidad docente (ordenado por
nombre de unidad docente).
UNIDAD_DOCENTE RESPONSABLE PROF
-------------------------------- ------------------------ ----------
Computación Lanáquera Toledo, Marcos 5
Computación Numérica Mollá Gurrea, Héctor 6
Desarrollo del Software Arcas Lanzat, Enric 18
Informática Gráfica y Multimedia Gutiérrez Lairón, Sara 19
Inteligencia Artificial Lledó Novella, Ivar 9
Máster CPD Matos Cruz, Ismael 16
Máster IARFID Furió Vitoria, Carmelo 22
Máster ISMFSI Carmona Navalón, David 22
Programación Nielsen Vizcarro, Adrián 8
Programación Básica Moltó Lavandera, Idir 19
Sección Departamental Alcoy Valiño Montesinos, Marta 8
Sección Departamental Gandía Pedrosa Ivars, Erika 20
Sistemas Cuallado Simó, Tomás 11
Sistemas de Información Luis Almiñana, Isaac 21
14 filas seleccionadas.
37. Obtener, para cada unidad docente con dos o más asignaturas adscritas, el código de la unidad docente,
el nombre del profesor responsable y la cantidad de profesores que imparten más de dos grupos de
teoría de las asignaturas adscritas a esa unidad (ordenado por código de unidad docente).
UDO RESPONSABLE PROF
--- ------------------------- ----------
160 Arcas Lanzat, Enric 14
168 Carmona Navalón, David 0
158 Cuallado Simó, Tomás 6
167 Furió Vitoria, Carmelo 0
165 Gutiérrez Lairón, Sara 5
159 Lanáquera Toledo, Marcos 2
161 Lledó Novella, Ivar 0
157 Luis Almiñana, Isaac 4
166 Matos Cruz, Ismael 0
162 Mollá Gurrea, Héctor 0
170 Moltó Lavandera, Idir 3
169 Nielsen Vizcarro, Adrián 6
164 Pedrosa Ivars, Erika 1
163 Valiño Montesinos, Marta 0
14 filas seleccionadas
38. Obtener la cantidad de asignaturas con más créditos teóricos que prácticos que son impartidas por al
menos un profesor no doctor.
ASIGS
------
20
39. Obtener el nombre de los profesores que más asignaturas imparten.
NOM

Bases de Datos y Sistemas de Información Documento UD2.2 53

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

--------------------------
Marqués Sebastián, Nieves
Pedrosa Ivars, Erika
40. Obtener el código y el nombre de los centros con menos profesores adscritos.
CCEN NMCEN
------ ---------------------------------------------------------
M Facultad de Administración y Dirección de Empresas
T E.T.S.I. de Telecomunicación
G E.T.S.I. Geodésica, Cartográfica y Topografía
41. Obtener el nip, la categoría y el número total de grupos (teóricos o prácticos) del profesor que imparte
un mayor número de grupos (teóricos o prácticos).
NIP CTG GRUPOS
----------- ----- ------
1234 TU 22
42. Obtener el nombre de los profesores que imparten todas las asignaturas de una titulación con al menos
dos asignaturas.
NOMBRE
-------------------------------------
Ayora Forteza, Modesto
Castelló Rodríguez, Gorka
Fontela Banegas, Pau
Insa Richart, Bruno
Moltó Lavandera, Idir
Roselló Pallarés, Diego
6 filas seleccionadas.
43. Obtener el nombre de los profesores que sólo imparten asignaturas de una titulación y que pertenecen
a un grupo de investigación que tiene al menos un subgrupo.
NOMBRE
------------------------------
Álvarez Pozo, Sául
Barros Navalón, Antonio
Bastidas Castillo, Jorge
Calvo Mollá, Sava
Cruz Puche, Elisa
Milla Bonet, Alejandro
Montés Robles, Tadeusz
Talavera Quintanilla, Álvaro
Verdet Gómez, Jorge
Vila Donat, Mihai
10 filas seleccionadas.
44. Obtener el código y el nombre de los centros que no tienen asignaturas ni profesores adscritos.
CCEN NMCEN
------ --------------------------------------
C E.T.S.I. Caminos, Canales y Puertos
45. Obtener el código y el nombre de todos los grupos de investigación que hay indicando cuántos profesores
pertenecen al grupo y cuántos subgrupos de investigación tiene (ordenado por nombre).
CGI NOMBRE PROF SUBGRU
----- ---------------------------------------------------------- ----- ------
DB Bases de Datos, Razonamiento Automático y Lenguaje Natural 13 0
ELP Extensiones de la Programación Lógica 15 0
GCP Grupo de Computación Paralela 15 0
OOM Grupo de Métodos de Producción de Software 1 0
GPS Grupo de Planificación y Scheduling 14 0
PRHLT Grupo de Reconocimiento de Formas y Tecnología del Lenguaje 7 0
NaDie Grupo sin éxito 0 0
SIG Informática Gráfica 13 0
GTI-IA Inteligencia Artificial 16 0
OOCMDB Modelado Conceptual Orientado a Objetos y Bases de Datos 12 0
PLIS Programación Lógica e Ingeniería del Software 10 4
RFIA Reconocimiento de Formas e Inteligencia Artificial 6 0

Bases de Datos y Sistemas de Información Documento UD2.2 54

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171
Departamento de Sistemas Informáticos y Computación

SiDi Sistemas Distribuidos 5 0


GTI Tecnología Informática 12 3
TLCC Teoría de Lenguajes, Computabilidad y Criptografía 6 0
15 filas seleccionadas.
46. Obtener el código y el nombre de las unidades docentes que tienen asignaturas en todos los centros cuyo
nombre contiene la palabra 'Ingeniería'.
UDO NUDOC
--- ---------------
158 Sistemas
47. Resuelve la consulta anterior con la palabra 'Filosofía'.
no se ha seleccionado ninguna fila
48. Obtener el código y el nombre de las asignaturas impartidas por más de 3 profesores tales que todos los
profesores que las imparten son de categoría distinta a ‘TEU’.
COD_ASG NMASG
---------- ----------------------------------------
Algorítmica
Estructuras de Datos y Algoritmos
Informática
Informática
Interfaces Persona Computador
Reconocimiento Automático del Habla
Sistemas Inteligentes
Sistemas Inteligentes
8 filas seleccionadas.

Bases de Datos y Sistemas de Información Documento UD2.2 55

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5261171

También podría gustarte