Base De Datos
Enviado por IoIoIoIoIo • 28 de Agosto de 2014 • 2.304 Palabras (10 Páginas) • 404 Visitas
EJERCICIOS DE SQL
Considerar las siguientes tablas:
EMPLEADO: ( DniEmp, NomEmp, SexEmp, FecNac, FecAlt, SalEmp, CodSuc, Dir )
SUCURSAL: ( CodSuc, DirSuc, TelSuc )
CUENTA: ( NumCta, FecApe, CodSuc )
CLIENTE: ( DniCli, NomCli, DirCli, TelCli )
TITULAR: ( NumCta, DniCli, NumOrd )
CAJERO: ( CodCaj, TipCaj, CodSuc )
OPERACIÓN: ( CodCaj, FecOpe, HorOpe, TipOpe, DesOpe, ImpOpe, NumCta )
Realizar las siguientes consultas:
1. Número de todas las cuentas corrientes ( NumCta ) de la sucursal número 2 ordenadas por fecha de apertura ( FecApe ).
2. El número de todas las cuentas corrientes del cliente con DNI 44444444 y el orden de titularidad.
3. El número de todas las cuentas corrientes del cliente que se llama Pedro del Valle y el orden de titularidad.
4. El DNI y nombre de todos los clientes que tienen cuenta en la sucursal número 4, ordenado por nombre.
* 5. El saldo de la cuenta número 6.
* 6. El número y saldo de todas las cuentas de la sucursal número 4.
* 7. Listado de clientes ( DNI y nombre ) con el saldo total ( suma de saldos ) de todas sus cuentas corrientes, ordenado por nombre.
* 8. Todas las sucursales ( número ) y su saldo total ( suma de los saldo de todas sus cuentas ) ordenado descendentemente por el saldo.
9. Todas las fechas que hay operaciones junto con el saldo global del banco acumulado hasta esa fecha.
# 10. Todos los clientes (DNI y nombre) junto con el número de cuentas corrientes que tienen (¿Cuántas tienen?), el saldo máximo y la suma de los saldos ordenado por el número de cuentas que tienen descendentemente; y para todos aquellos que tienen el mismo número de cuentas, ordenados por nombre ascendentemente.
11. Todos los clientes (DNI) junto con el número de cuentas corrientes que tienen; pero sólo aquellos clientes que tienen más de una cuenta corriente.
# 12. Todas las cuentas corrientes ( número ) cuyo saldo sea superior a la media de saldos de la misma sucursal.
13. Estraer las cuentas en las que no han hecho ninguna operación en un cajero de la sucursal de la cuenta.
14. Extraer un listado de todas las sucursales ( número ) junto con el número de empleados de dicha sucursal; ordenado por el número de empleados
15. Extraer un listado de todas las sucursales ( número ) junto con el número de empleados masculinos y el número de empleados femeninos.
16. Extraer un listado de clientes ( DNI y nombre ) junto con el nombre del director de la sucursal de todas aquellas cuentas en las que el cliente es el primer titular.
Nota: * = Dos versiones; utilizando una vista y sin utilizarla; # = Sólo utilizando vistas.
EJERCICIOS DE SQL ( HOJA 2)
Considerau el següent model Entitat Relació:
Que produeix les següents relacions:
TEMA: ( CodiTema, Nom )
PELÍCULA: ( CodiPel•lícula, Títol, AnyEstreno, Duració, CodiProductora )
PRODUCTORA: ( CodiProductora, Nom )
DIRECTOR: ( CodiDirector, Nom, Nacionalitat, DataNaixement )
TEMA-PELI: ( CodiTema, CodiPel•lícula )
DIRIGEIX: ( CodiPel•lícula, CodiDirector )
1. Expressar la següent consulta en SQL:
Per a cada tema i any d’estreno, informar el nombre de pel•lícules estrenades sobre aquest tema en aquell any.
2. Expressar la següent consulta en SQL:
Per a cada tema informar el nom del tema, el títol i any d’estreno de cada pel•lícula que versi sobre ell, i el nom de la productora que l’ha produit. Donar el resultat ordenat per nom del tema i any d’estreno de la pel•lícula.
3. Expressar la següent consulta en SQL:
Informar de les pel•lícules ( Codi i títol ) que tenen més duració que la mitjana de les pel•lícules de la mateixa productora i any de publicació.
EJERCICIOS SQL ( HOJA 3 )
Para que un alumno ingrese en la Universidad, debe realizar una preinscripción, especificando a qué estudios desea acceder en orden de preferencia.
Dicha información se guarda en una base de datos cuyo modelo de datos responde al siguiente diagrama:
Pasando el modelo de datos a relacional obtenemos:
ALUMNO: (DNI, Nombre, Nota, Isla)
ESTUDIO: (Código, Nombre, Nota de corte )
PREINSCRIPCION: (DNI, Código, Orden, Admitido)
Por otro lado, su implementación en SQL corresponde a:
CREATE TABLE ALUMNO
( DNI Varchar2( 9 ),
NOM Varchar2( 40 ),
ILLA Varchar2( 3 )
CHECK ( ILLA IN (‘MA’, ‘ME’, ‘IB’, ‘FO’) ),
NOTA Number
);
CREATE TABLE PREINSCRIPCION
( DNI Varchar2( 9 ),
COD Varchar2( 4 ),
ORD Number( 2 ),
ADM Varchar2( 1 ) CHECK ( ADM IN ( ‘S’, ‘N’) )
);
CREATE TABLE ESTUDIO
( COD Varchar2( 4 ),
NOM Varchar2( 20 ),
NOTA Number
);
Nota: El atributo ‘Nota de corte’ de la entidad ESTUDIO indica la nota mínima para acceder a estos estudios. Sin embargo hay alumnos que tienen acceso directo por otras causas (por ejemplo por aprobar las pruebas de mayores de 25 años); por tanto se considera que un alumno està admitido en un estudio si el atributo ‘Admitido’ de la relación ‘Preinscripción’ es igual a ‘S’.
1) Extraer el DNI y nombre de todos los alumnos junto con el nombre del estudio donde han sido admitidos ordenados por estudios.
2) Extraer el DNI y nombre de todos los alumnos que no han sido admitidos en ningún estudio ordenados por DNI.
3) Extraer todos los estudios junto con el número de alumnos que lo han solicitado en primera preferéncia, ordenado descendentemente por el número de alumnos.
4) Extraer todos los alumnos (DNI y nombre) cuya nota sea igual o superior a la nota media de todos los alumnos que viven en la misma isla.
5) Enunciar las instrucciones SQL necesarias para crear las claves primarias, externas y los índices que creáis convenientes del ejemplo.
6) Suponer que al crear la clave
...