Práctica SQL 2013.odt
Práctica SQL 2013.odt
Práctica SQL 2013.odt
Segunda Evaluación
Práctica Obligatoria SQL Curso 2012-2013
C.G.S. Administración de Sistemas Informáticos y en Red I.E.S. Gonzalo Nazareno
Parte I
1.- Partiendo del siguiente esquema relacional, crea las tablas correspondientes,
teniendo en cuenta la descripción y las restricciones siguientes:
SOCIOS
DNI VARCHAR2, tamaño 10 No Nulo
Nombre VARCHAR2, tamaño 20 No Nulo
Direccion VARCHAR2, tamaño 20
PELICULAS
RefPelicula VARCHAR2, tamaño 10 No Nulo
Nombre VARCHAR2, tamaño 20 Único
Genero VARCHAR2, tamaño 10 No Nulo
Director VARCHAR2, tamaño 20
AñoEstreno FECHA > 1900
Nacionalidad VARCHAR2, tamaño 20 No Nulo
PRESTAMOS
DNI VARCHAR2, tamaño 10 No Nulo
RefPelicula VARCHAR2, tamaño 10 No Nulo
FechaPrestamo FECHA No Nulo
Importe NUMERICO de 3 No Nulo, por defecto 400
2.- Inserta un prestamo con fecha 01/04/99 del socio que vive en Sevilla Este y la
película dirigida por Von Trier, con un importe de 300.
7.- Visualiza el importe total de los alquileres realizados por cada uno de los clientes.
8.- Cuenta los alquileres que ha realizado el socio Mariano y muestra, en pesetas y en
euros, la media de los importes de los mismos.
9.- Visualiza los datos de las peliculas que hayan generado para el videoclub unos
ingresos superiores a las 1000 pesetas durante el mes de Noviembre.
10.- Borra los registros correspondientes a los socios que no hayan realizado
alquileres de películas de suspense en los últimos seis meses.
Parte II
11.- Partiendo del siguiente esquema relacional, crea las tablas correspondientes,
teniendo en cuenta la descripción y las restricciones siguientes: (1 punto)
ALUMNOS
DNI Alumno VARCHAR2, tamaño 10 3 numeros, un guión y una letra
Nombre VARCHAR2, tamaño 20 No Nulo
Direccion VARCHAR2, tamaño 20
Teléfono VARCHAR2, tamaño 10 Empieza por 95
EMPRESAS
CIF Empresa VARCHAR2, tamaño 10
Nombre VARCHAR2, tamaño 20 Único
Dirección VARCHAR2, tamaño 20 No Nulo
Responsable Legal VARCHAR2, tamaño 10
Sector VARCHAR2, tamaño 15
PRACTICAS
DNI Alumno VARCHAR2, tamaño 10 Clave ajena
NIF Empresa VARCHAR2, tamaño 10 Clave ajena
Fecha Inicio FECHA
NumHoras NUMERICO de 4 Por defecto 0
Alumnos:
DNI Nombre Direccion Teléfono
111-A David Sevilla Este 954025122
222-B Mariano Los Remedios 954221541
333-C Raul Triana 955124455
444-D Rocío 955236654
555-E Mariló Triana 954085211
666-F Benjamín Montequinto 955662512
777-G Carlos Los Remedios 955662211
888-H Manolo Montequinto 954725414
Empresas:
CIF Empresa Nombre Dirección Representante Legal Sector
S-41001-A Sandiel Pab. Moldavia Ramon Informatica
S-41002-B Condelans Pab. Chechenia Juan Informatica
S-41003-C Guadartes Pab. La Algaba Pepe Informatica
S-41004-D Jindras c/ Pi, 4 Mari I+D
S-41005-E SGI c/ Cabañeros, 2 Carmela I+D
S-41006-F Nesus c/ Sierpes, 12 Pepi Electrónica
S-41007-G Arbengoa c/ Tajo, 2 Electrónica
Prácticas:
DNI NIF Empresa FechaInicio NumHoras
111-A S-41001-A 18/04/08 09:00 360
333-C S-41003-C 19/04/08 10:00 360
111-A S-41004-D 20/05/08 16:00 420
444-D S-41005-E 19/05/08 09:00 420
111-A S-41003-C 14/05/08 11:00 360
777-G S-41006-F 19/04/08 17:00 420
888-H S-41007-G 16/05/08 09:00 480
222-B S-41003-C 15/05/08 08:00 420
555-E S-41002-B 17/04/08 11:00 420
333-C S-41001-A 20/04/08 16:00 420
333-C S-41004-D 21/05/08 09:00 480
15.- Modifica el número de horas de las prácticas comenzadas durante el mes de Abril,
incrementándolo en un 20%. Si es necesario, desactiva temporalmente las
restricciones afectadas. No olvides actualizar después la columna
HorasdeColaboración de la tabla Empresas, pero solo en las filas que se hayan visto
afectadas por la operación anterior.
18.- Visualiza el CIF y el nombre de las empresas que hayan colaborado por un
número de horas superior a 400 en prácticas comenzadas durante el mes de Abril.
19.- Borra los registros correspondientes a los alumnos que no hayan comenzado sus
prácticas en los últimos 5 años. Si alguna restricción no te deja hacerlo, deshabilitala
momentáneamente. Deshaz la operación para seguir con las demás sentencias.
21.- Muestra dni y nombre del alumno de Triana que ha realizado más horas de
prácticas en empresas del sector de la Informática.
22.- Escribe una select que me permita generar un script para crear un usuario en mi
base de datos Oracle para cada alumno usando como contraseña el nombre de la
última empresa en la que estuvo en prácticas.
23.- Partiendo del siguiente esquema relacional, crea las tablas correspondientes,
teniendo en cuenta la descripción y las restricciones siguientes.
PILOTOS
Código Cadena de caracteres, tamaño 3
Nombre Cadena de caracteres, tamaño 15 Iniciales en mayúsculas
Nacionalidad Cadena de caracteres, tamaño 15 Brasileña, Española, Inglesa o Alemana
FechaNacimiento Fecha/Hora
CarreraDebut Cadena de caracteres, tamaño 20 Los cuatro últimos caracteres son el año y están
entre 1990 y 2010.
NombreEscuderia Cadena de caracteres, tamaño 20
CIRCUITOS
Nombre Cadena de Caracteres, tamaño 15
País Cadena de Caracteres, tamaño 15
Tipo Cadena de Caracteres, tamaño 15
Longitud Numérico hasta 9999'9 Mayor de 2400
Diseñador Cadena de Caracteres, tamaño 20
CARRERAS
NombreGP Cadena de Caracteres, tamaño 15
Año Cadena de Caracteres, tamaño 4 Del siglo XXI
FechaHoraInicio Fecha/Hora De Marzo a Noviembre
NumVueltas Numérico hasta 99
NombreCircuito Cadena de Caracteres, tamaño 15
ESCUDERIAS
Nombre Cadena de Caracteres, tamaño 15
Propietario Cadena de Caracteres, tamaño 15
FabricanteMotor Cadena de Caracteres, tamaño 15
Sede Cadena de Caracteres, tamaño 15 Contiene Inglaterra, Alemania o Italia
RESULTADOS
NombreGP Cadena de Caracteres, tamaño 15
Año Cadena de Caracteres, tamaño 4
CodPiloto Cadena de Caracteres, tamaño 4
Puesto Numérico hasta 99
DistanciaGanador Cadena de Caracteres, tamaño 8
Los campos que aparecen en negrita y subrayados forman la clave primaria de la tabla
y los campos que aparecen en cursiva son claves ajenas, restricciones que deben
considerarse al crear las tablas.
Inserta ahora los siguientes registros, realizando las modificaciones necesarias (que
debes incluir en el txt) en el tamaño de los campos pero sin cambiar los tipos de datos
de los mismos:
Pilotos:
Circuitos:
Escuderías:
Resultados:
24. Inserta un piloto siguiendo el orden de los códigos. Se llama Jenson Button,
corre en la escudería que ha ganado más carreras en 2011. Es de la misma
nacionalidad que su compañero de equipo y debutó el mismo año que
Fernando Alonso y en la carrera que se celebra en el circuito más corto de
todos. Nació el 19 de enero de 1980.
25. Muestra el nombre de los pilotos que llegaron a menos de un minuto del
ganador en la carrera en la que se recorrió más distancia en el año 2010.
26. Muestra el primer apellido del piloto de las escuderias con sede en Italia que ha
recorrido más kilómetros sumando las carreras que ha finalizado sin abandonar
.
27. Muestra el número de carreras ganadas en 2010 en circuitos urbanos por cada
uno de los propietarios de escuderias, incluyendo los que no han ganado
ninguna.
28. Muestra los nombres del piloto que debuto antes de entre todos los pilotos que
han subido a todos los escalones del podium a lo largo del año 2010.
29. Crea una vista con el piloto y escudería que han ganado más de una carrera
celebrada a partir de las 15:00 horas en 2010, junto con el número de carreras
ganadas.
30. Borra los pilotos mayores de 30 años que no han subido al podium en 2011.
Parte IV
VEHICULOS
Matricula VARCHAR2, tamaño 7 Clave primaria
Marca VARCHAR2, tamaño 10 No Nulo
Modelo VARCHAR2, tamaño 10 No Nulo
Fecha Compra FECHA A partir de 2001
Precio por día NUMBER(5,2) Positivo
CLIENTES
DNI VARCHAR2, tamaño 9 Clave primaria
Nombre VARCHAR2, tamaño 30 No Nulo
Nacionalidad VARCHAR2, tamaño 30
Fecha Nacimiento FECHA
Dirección VARCHAR2, tamaño 50
ALQUILERES
Matricula VARCHAR2, tamaño 7 No Nulo
DNI VARCHAR2, tamaño 10 No Nulo
FechaHora FECHA
Num Dias NUMBER (2) No Nulo
Kilometros NUMBER (4) Por defecto, 0
Crea las tablas con las restricciones correspondientes e inserta los registros con el
script proporcionado por tu profesor corrigiendo los posibles fallos que presente o
modificando las tablas si es necesario.
“El cliente que ha alquilado en más ocasiones vehículos de la marca AUDI decide
alquilar el vehículo más nuevo de nuestra flota, a partir de hoy y durante 10 días.
Aún no sabemos cuántos kilómetros le hará”.
34. Crea una vista con la siguiente información: matricula del coche y nombre y
dirección del último cliente que lo alquiló haciéndole más de 50 kilómetros.
35. Añade una columna a la tabla Vehículos donde se guarde información del total
de kilómetros que lleva recorridos cada coche y rellénala a partir de los datos de la
tabla Alquileres.
36. Muestra, por cada modelo, el dinero que hemos ingresado por alquileres. No
olvides incluir los modelos de los que no se haya alquilado ningún vehículo.
37. Muestra el dinero gastado el último año en alquileres por cada uno de nuestros
clientes, incluyendo los que no hayan gastado nada.
38. Haz una vista donde se muestren por cada marca y cada modelo el número de
vehículos que no estarán alquilados mañana, teniendo en cuenta que en la tabla
Alquileres se guardan la fecha del alquiler y el número de días.
39. Haz una vista donde aparezcan las matriculas de los coches que han hecho
más de 1000 kilómetros con un mismo cliente aunque sea en diferentes alquileres.
40. La agencia va a vender los coches que tengan más de dos años o hayan
hecho más de 50000 kilómetros. Borra los registros que cumplan esas condiciones
de la tabla Vehículos.
42. Decidimos poner en oferta los modelos alquilados durante menos días en el
último año de cada una de las marcas, disminuyendo un 20% el precio por día.
Parte V
43. A partir del siguiente esquema relacional, crea las tablas con las restricciones
indicadas en el enunciado e inserta los registros de prueba que consideres
necesarios.
ALUMNOS
DNI VARCHAR2, tamaño 10 Termina con un guión y una letra
Apenom VARCHAR2, tamaño 30 Las iniciales en mayúsculas.
Direc VARCHAR2, tamaño 30
Población VARCHAR2, tamaño 15 Por defecto, 0
Telefono VARCHAR2, tamaño 10 Empieza por ‘95’ o por ‘6’
ASIGNATURAS
Cod NUMBER No Nulo. Empieza por letra.
Nombre VARCHAR2, tamaño 25 No Nulo
Curso NUMBER Es un 1 o un 2
NOTAS
DNI VARCHAR2, tamaño 10 No Nulo
Cod NUMBER No Nulo
Nota NUMBER Entre 0 y 10.
Fecha DATE No Nulo
44. Añade una columna a la tabla ALUMNOS que contenga el curso del que está
matriculado el alumno y rellénala con el valor adecuado según el curso de las
asignaturas de las que el alumno tiene notas.
45. Crea una vista con una columna que contenga el nombre del alumno y sus
apellidos (en ese orden) y otra con su nota media, ordenándola por este último
valor. Deben incluirse los alumnos que no tengan ninguna nota.
46. Realiza una consulta de creación de tablas para crear la tabla Aprobados1 que
contenga los alumnos de primer curso que tienen al menos una nota mayor de
5 en todas las asignaturas.
47. Añade a la tabla asignaturas una columna con la nota más alta obtenida por el
conjunto de los alumnos en dicha asignatura, rellénala.
48. Muestra las direcciones y los teléfonos de los alumnos que no han aprobado
nada.
49. Crea una vista con el nombre del alumno y el nombre de la primera asignatura
de la que aprobaron un examen.
50. Muestra la asignatura de 2º con mayor nota media entre los estudiantes de Dos
Hermanas.