Download sql ciclismo y otros PDF

Titlesql ciclismo y otros
File Size636.1 KB
Total Pages32
Table of Contents
                            Departamento de Sistemas Informáticos y Computac
Introducción
Presentación de la base de datos CICLISMO
Ejercicios sobre la base de datos CICLISMO
	Consultas sobre una sola relación
	Consultas sobre varias tablas
	Consultas con subconsultas
	Consultas con cuantificación universal
	Consultas agrupadas
	Consultas generales
Presentación de la base de datos MÚSICA
Ejercicios sobre la base de datos MÚSICA
	Consultas sobre una sola relación
	Consultas sobre varias tablas
	Consultas con subconsultas
	Consultas con cuantificación universal
	Consultas agrupadas
	Consultas generales
Presentación de la base de datos BIBLIOTECA
Interpretación del esquema relacional BIBLIOTECA
Ejercicios sobre la base de datos BIBLIOTECA
                        
Document Text Contents
Page 1

BASES DE DATOS



2º CURSO
Escuela Universitaria de Informática

Facultad de Informática


Práctica nº 3: El lenguaje SQL (1ª parte)
Consultas a bases de datos


1. Introducción...............................................................................................................................2

2. Presentación de la base de datos CICLISMO ...........................................................................2

3. Ejercicios sobre la base de datos CICLISMO...........................................................................5

4. Presentación de la base de datos MÚSICA.............................................................................16

5. Ejercicios sobre la base de datos MÚSICA ............................................................................19

6. Presentación de la base de datos BIBLIOTECA.....................................................................26

7. Interpretación del esquema relacional BIBLIOTECA ............................................................28

8. Ejercicios sobre la base de datos BIBLIOTECA ....................................................................28




Departamento de Sistemas Informáticos y Computación
curso 2002/2003

Page 2

Departamento de Sistemas Informáticos y Computación

1. Introducción
El objetivo de la primera parte de esta práctica es aprender a realizar consultas en lenguaje

SQL. Para ello vamos a utilizar la herramienta SQL Worksheet de ORACLE (SQL interactivo).

El lenguaje de manipulación de datos del SQL de ORACLE es prácticamente estándar SQL/92
(que está explicado en las páginas 151-197 del libro “Bases de Datos Relacionales”). En particular,
en esta primera parte vamos a utilizar únicamente las consultas (págs. 151-190).

Después de la presentación de cada una de las bases de datos con las que se va a trabajar, se
proponen una serie de consultas que se pueden realizar todas con el SQL de ORACLE. Estas
consultas se han organizado en seis grupos:

1. 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.

2. Consultas sobre varias relaciones.
En este grupo se han incluido 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.

3. Consultas con subconsultas.
En este grupo se han considerado consultas que se pueden resolver con una subconsulta en la
cláusula WHERE.

4. Consultas con cuantificación universal.
Son consultas que tendrían una solución natural con un cuantificador universal. Dado que el
SQL 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 (…).

5. Consultas agrupadas.
En este grupo se han incluido consultas cuya solución utiliza la cláusula GROUP BY.

6. Consultas generales.
Aquí se han incluido varias consultas de diversos tipos.

Es importante destacar que una consulta puede admitir varias soluciones por lo que podría
haberse incluido en varios grupos. A continuación de cada consulta se ha incluido el resultado de la
misma para poder comprobar si se ha realizado de forma correcta.

2. 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:

05/04/03 2

Page 16

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: d_can, título: d_tit, duración: d_dur)

CP: {cod}

VNN: {título}

COMPANYIA(cod: d_comp, nombre: d_nom, dir: d_dir, fax: d_tel, tfno: d_tel)

CP: {cod}

VNN: {nombre}

DISCO(cod: d_dis, nombre: d_nom, fecha: d_fecha, cod_comp: d_comp, cod_gru: d_gru)

CP: {cod}

CAj: {cod_comp}→ COMPANYIA

VNN: {cod_comp}

CAj: {cod_gru}→ GRUPO

VNN: {cod_gru}

ESTA(can: d_can, cod: d_dis)

CP: {can, cod}

CAj: {can}→ CANCIÓN

CAj: {cod}→ DISCO

GRUPO(cod: d_gru, nombre: d_nom, fecha: d_fecha, pais: d_pais)

CP: {cod}

VNN: {nombre}

ARTISTA(dni: d_dni, nombre: d_nom)

CP: {dni}

VNN: {nombre}

CLUB(cod: d_club, nombre: d_nom, sede: d_dir, num: d_num, cod_gru: d_gru)

CP: {cod}

CAj: {cod_gru}→ GRUPO

VNN: {cod_gru}

VNN: {nombre}

PERTENECE(dni: d_dni, cod: d_gru, funcion: f_fun)

CP: {dni, cod}

CAj: {dni}→ ARTISTA

CAj: {cod}→ GRUPO

Definición de los dominios :

05/04/03 16

Page 17

Departamento de Sistemas Informáticos y Computación

Nombre Tipo de datos Nombre Tipo de datos
d_can Entero d_fecha Fecha
d_club cad(3) d_gru Cad(3)
d_comp cad(3) d_nom Cad(30)
d_dir cad(30) d_num entero
d_dis cad(3) d_pais cad(10)
d_dni cad(10) d_tel cad(15)
d_dur Real d_tit cad(30)

Para aclarar por completo el esquema, a continuación se explica el significado de cada atributo.

Descripción de los atributos de cada relación:

Canción

cod: código de la canción2.

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.


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 autores.

05/04/03 17

Page 31

Departamento de Sistemas Informáticos y Computación

16. Obtener el nombre de los amigos que han leído todas las obras del autor de identificador
‘JAGR’.
NOMBRE

------------------------------------------------------------

0 filas seleccionadas.

17. Obtener el nombre de los amigos que han leído todas las obras de algún autor.
NOMBRE
------------------------------------------------
Isabel Peiró García
Yolanda Milanés Cuba
2 filas seleccionadas.

18. 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
3 filas seleccionadas.

19. 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
3 filas seleccionadas.

20. Obtener el nombre de los amigos que sólo han leído obras del autor de identificador ‘CAMA’.
NOMBRE
-------------------------------------------------
Pepe Pérez Pérez
Isidro Catalá Ferrer
2 filas seleccionadas.

21. Obtener el nombre de los amigos que sólo han leído obras de un autor.
NOMBRE
--------------------------------------------------
Pepe Pérez Pérez
Eloy Prim Gros
Yolanda Milanés Cuba
Isidro Catalá Ferrer
4 filas seleccionadas.

22. Resolver la consulta anterior indicando también el nombre del autor.
NOMBRE_AMIGO NOMBRE_AUTOR
---------------------------------------------------------
Eloy Prim Gros Kipling, Rudyard
Isidro Catalá Ferrer Martín Gaite, Carmen
Pepe Pérez Pérez Martín Gaite, Carmen
Yolanda Milanés Cuba Vian, Boris
4 filas seleccionadas.

05/04/03 31

Similer Documents