El documento describe la creación de 3 tablas (Películas, Clientes y Pedidos) en una base de datos, con sus respectivos campos. Luego se insertan datos de ejemplo en las tablas y se plantean varias consultas sobre los datos.
1. TABLA PELICULAS
--------
create table Peliculas
(
Codp number(3) primary key,
Titulo varchar2(20),
Descripcion varchar2(30),
Director varchar2(20),
Protagonista varchar2(20),
Duracion number(3),
Año number(4)
);
CODP TITULO DESCRIPCION DIRECTOR PROTAGONISTA DURACION ANO
------- --------- ----------------- ------------- -------------------- ------------- ------
TABLA CLIENTES
---------
create table Clientes
(
Codc number(3) primary key,
Nombre varchar2(15),
Apellido1 varchar2(15),
Apellido2 varchar2(15),
Edad number(2) check (edad > 18),
Domicilio varchar2(20),
Telefono number(9),
DNI varchar2(9)
);
CODC NOMBRE APELLIDO1 APELLIDO2 EDAD DOMICILIO TELEFONO DNI
------- ---------- -------------- -------------- ------- -------------- ------------- -----
TABLA PEDIDOS
---------
create table Pedidos
(
Nump number(3) primary key,
Codp number(3),
Codc number(3),
Fecha_actual date,
Fecha_entrega date,
Precio number(6.2),
foreign key (Codp) references Peliculas,
foreign key (Codc) references Clientes
);
NUMP CODP CODC FECHA ACTUAL FECHA ENTREGA
------- ------- ------- ------------------- ---------------------
2. Inserción de datos en las tablas.
TABLA PELICULAS:
insert into Peliculas values(101,'Bones','Terror','Joel Schumacher','Keith Richards',100,1998);
insert into Peliculas values(102,'Alien','Terror','Steven Spielberg','Jamie Fox',120,1997);
insert into Peliculas values(103,'La Mascara','Comedia','Steven Farrelly','Jim Carrey',130,1996);
insert into Peliculas values(104,'Un loco a domicilio','Suspense','Peter Farrelly','Jim Carrey',140,2000);
insert into Peliculas values(105,'High School Musical','Musical','Sean Disney','Jimmy Town',185,2005);
2. insert into Peliculas values(106,'Jesucristo Superstar','Musical','Teo Janssen','Mathew Perry',200,2006);
insert into Peliculas values(107,'La naranja mecanica','Suspense','Oliver Dakota','Alex Seattle',150,1985);
insert into Peliculas values(108,'La Jungla de Cristal','Accion','Alejandro Amenabar','Bruce Willis',161,1997);
insert into Peliculas values(109,'A todo gas','Accion','Chris Kott','Vin Diesel',145,1999);
insert into Peliculas values(110,'Acoso','Suspense','Alan Johansson','Michael Douglas',177,2002);
CODP TITULO DESCRIPCION DIRECTOR PROTAGONISTA DURACION ANO
------ --------- ----------------- ------------- --------------------- ------------- -----
101 Bones Terror Joel Schumacher Keith Richards 100 1998
102 Alien Terror Steven Spielberg Jamie Fox 120 1997
103 La Mascara Comedia Steven Farrelly Jim Carrey 130 1996
104 Un loco a domicilio Suspense Peter Farrelly Jim carrey 140 2000
105 High School Musical Musical Sean Disney Jimmy Town 185 2005
106 Jesucristo SuperstarMusical Teo Janssen Mathew Perry 200 2006
107 La naranja mecanicaSuspense Oliver Dakota Alex Seattle 150 1985
108 La Jungla de Cristal Accion Alejandro AmenabarBruce Willis 161 1997
109 A todo gas Accion Chris Kott Vin Diesel 145 1999
110 Acoso Suspense Alan Johansson Michael Douglas 177 2002
TABLA CLIENTES
insert into Clientes values(201,'Antonio','Perez','Martin',19,'Los Olivos 4',916425475,'41268957B');
insert into Clientes values(202,'Luis','Gil','Prieto',21,'Monteagudo 20',916258146,'47462159C');
insert into Clientes values(203,'Oscar','Romero','Carvajal',22,'Alveolo 10',914712897,'48612394F');
insert into Clientes values(204,'Alejandro','Ruiz','Vigil',24,'Cisneros 22',912859447,'47891454R');
insert into Clientes values(205,'Daniel','Gonzalez','Abril',25,'Mayor 14',916412001,'66821853X');
insert into Clientes values(206,'Ramon','Martinez','Blanco',33,'Arrabal 11',917591665,'47452130D');
insert into Clientes values(207,'Francisco','Recio','Olivo',40,'Palacios 1',916521023,'47421984T');
insert into Clientes values(208,'David','Machado','Ramirez',29,'Castellana 12',934862154,'47435841N');
insert into Clientes values(209,'Josep','Serna','Castro',32,'Ramblas 156',937748221,'46584710L');
insert into Clientes values(210,'Lluis','Romero','Nuncio',50,'Gran Via 333',932481100,'46445123M');
CODC NOMBRE APELLIDO1 APELLIDO2 EDAD DOMICILIO TELEFONO DNI
------ ---------- ------------- ------------- ------ ------------- -------------- ---
201 Antonio Perez Martin 19 Los Olivos 4 916425475 41268957B
202 Luis Gil Prieto 21 Monteagudo 20 916258146 47462159C
203 Oscar Romero Carvajal 22 Alveolo 10 914712897 48612394F
204 Alejandro Ruiz Vigil 24 Cisneros 22 912859447 47891454R
205 Daniel Gonzalez Abril 25 Mayor 14 916412001 66821853X
206 Ramon Martinez Blanco 33 Arrabal 11 917591665 47452130D
207 Francisco Recio Olivo 40 Palacios 1 916521023 47421984T
208 David Machado Ramirez 29 Castellana 12 934862154 47435841N
209 Josep Serna Castro 32 Ramblas 156 937748221 46584710L
210 Lluis Romero Nuncio 50 Gran Via 333 932481100 46445123M
TABLA PEDIDOS
insert into Pedidos values(301,101,201,'20/10/07','22/10/07',4.0);
insert into Pedidos values(302,102,202,'10/09/07','13/09/07',4.0);
insert into Pedidos values(303,104,204,'15/08/07','20/08/07',3.50);
insert into Pedidos values(304,105,205,'15/11/07','16/11/07',6.0);
insert into Pedidos values(305,107,207,'01/12/07','03/12/07',5.0);
insert into Pedidos values(306,108,208,'11/12/07','14/12/07',7.0);
insert into Pedidos values(307,109,209,'21/12/07','24/12/07',2.5);
insert into Pedidos values(308,103,203,'16/07/07','21/07/07',6.0);
insert into Pedidos values(309,106,206,'26/06/07','30/06/07',5.0);
insert into Pedidos values(310,110,210,'02/12/07','10/12/07', 5.0);
NUMP CODP CODC FECHA ACTUAL FECHA ENTREGA PRECIO
---- ---- ---- ------------ ------ --------------------- -----------
301 101 201 20/10/07 22/10/07 4.0
302 102 202 10/09/07 13/09/07 4.0
303 104 204 15/08/07 20/08/07 3.5
304 105 205 15/11/07 16/11/07 6.0
305 107 207 01/12/07 03/12/07 5.0
306 108 208 11/12/07 14/12/07 7.0
307 109 209 21/12/07 24/12/07 2.5
308 103 203 16/07/07 21/07/07 6.0
309 106 206 26/06/07 30/06/07 5.0
310 110 210 02/12/07 10/12/07 5.0
3. CONSULTAS
a) Muestra los directores cuyas películas duren 100 ó 200 minutos.
b) Selecciona el nombre y los dos apellidos de los clientes que tengan más de 21 años.
c) Selecciona el número de pedido, cógido de película y código de cliente de los pedidos con fecha actual anterior al 1 de
Diciembre de 2007.
d) Muestra el número de pedido de los pedidos cuya fecha de entrega esté entre el 22 de Octubre y el 22 de Diciembre de
2007.
e) Selecciona el título de las películas cuyo año no esté comprendido entre 1985 y 2000.
f) Muestra el titulo y el año de las peliculas cuyo director haga películas con la descripción terror.
g) Selecciona el titulo y el director de aquellas peliculas que duren los mismos minutos que las realizadas en el año 2000.
h) Muestra los dos apellidos, la edad y el domicilio de los clientes cuya edad sea la misma que aquellos nombres que
empiecen por “A”.
i) Selecciona los dos apellidos y el número de pedido cuya fecha actual sea mayor al 20 de Octubre de 2007.
j) Muestra el código de película, número de pedido, título, director y año de las películas cuya fecha de entrega sea
superior al 1 de Octubre de 2007.
k) Cambia la Descripción Musical a Animación en la tabla peliculas.
l) Suma un año más a todos los clientes.
m) Borra los pedidos cuya fecha actual esté contenida entre el 1 de Septiembre y el 1 de Noviembre de 2007.
n) Borra todas las peliculas que duren 120 minutos.
ñ) Borra todos los clientes que tengan menos de 23 años.
o) Añade el campo Oscars a la tabla peliculas.
p) Modifica la tabla clientes para que el campo Edad reconozca aquellos que tienen 18 años o más.
k) Añade el campo Estado_Pedido a la tabla pedidos.
r) Elimina la columna Protagonista de la tabla peliculas.
s) Borra la tabla Pedidos.