miércoles, 13 de noviembre de 2013

ejercicio sql

--1. Crea las claves primarias y extranjeras en las nuevas tablas.

alter table autobuses
add constraint pk_matricula
primary key (matrícula);

alter table clientes_autobuses
add constraint pk_codcliente
primary key (códigocliente);

alter table reservas
add constraint pk_codreserva
primary key (códigoreserva);

alter table trayectos
add constraint pk_códigotrayecto
primary key (códigotrayecto);


alter table trayectos
add constraint fk_autobuses_trayectos
foreign key (matrícula)
references autobuses(matrícula);
--------
alter table reservas
add constraint fk_clientes_reservas
foreign key (códigocliente)
references clientes(códigocliente);

alter table reservas
add constraint fk_trayectos_reservas
foreign key (códigotrayecto)
references trayectos(códigotrayecto);

--2. Crea las siguientes consultas, son tan fáciles...
  --Mostrar todos los autobuses cuya capacidad supere los 59 asientos.
  select * from autobuses where capacidad = 59;
 
  --Mostrar los nombres y teléfonos de los clientes que hayan reservado algo.
  select nombres from clientes_autobuses
  join reservas on clientes_autobuses.código_cliente=reservas.código_cliente;
 
  --Mostrar los trayectos de la mañana, es decir que salgan antes de las 13:00
  select * from trayectos where hora < '13:00';
 
  --Mostrar el número total de trayectos que tiene la compañía
  select count(códigotrayecto) from trayectos;
 
  --Mostrar el número total de clientes que tiene la compañía
  select count(códigocliente) from clientes;
 
  --Mostrar el número total de trayectos que hace el autobús con matrícula 1021 FTP.
  select count(*) from trayectos where matricula = '1021 FTP';
 
  --Mostrar el número total de reservas para el trayecto 1.
  select count (*) from reservas where códigotrayecto=1;
 
  --Mostrar los nombres de clientes que han hecho su reserva para el trayecto 1.
  select nombre from clientes
  join reservas on clientes.códigocliente = reservas.códigocliente
  where reservas.códigotrayecto = 1;
 
--------
--Exporta las tablas a un fichero .dmp con la utilidad exp (ver guía del DBA).
--Crea un nuevo tablespace llamado backup.
--Crea un usuario backupuser cuyo tablespace por defecto sea backup y adle permisos para todo.
--Importa el fichero .dmp en el nuevo tablespace

No hay comentarios:

Publicar un comentario