jueves, 6 de noviembre de 2014

Tema 2 - Parciales




-- Tema 2

-- 1. Ingrese el siguiente registro : 

-- Identificación: 1098635611 
-- Nombre: María Ximena 
-- Apellido1: Hernández 
-- Apellido2: Martínez 
-- Teléfono: 6341523 
-- Email: rpp@yahoo.es 
-- Dirección: carrera 8 # 26 – 17 Portones del Lago 
-- Ciudad: Bucaramanga 
-- Departamento: Santander 
-- Código postal: 91802

insert into datospersona 
values ('1098635611','María Ximena','Hernández','Martínez','6341523','rpp@yahoo.es','carrera 8 # 26 – 17 Portones del Lago','Bucaramanga','Santander','91802');

-- Primer Error: 

-- ERROR:  el valor es demasiado largo para el tipo character varying(9) -----> Hay un campo que excede el valor asignado de caracteres, el mensaje nos indica que tiene 9 maximo y corresponde a la identificación

-- > Se arregla disminuyendo los caracteres que se estan ingresando: se quita un digito de la identificación

insert into datospersona 
values ('109863561','María Ximena','Hernández','Martínez','6341523','rpp@yahoo.es','carrera 8 # 26 – 17 Portones del Lago','Bucaramanga','Santander','91802');

-- Segundo Error

-- ERROR:  llave duplicada viola restricción de unicidad «uqemil» -----> Se esta tratando de duplicar un dato en una columna que esta restringida a valores unicos.

-- Se arregla modificando el email para que sea unico dentro de la columna.

insert into datospersona 
values ('109863561','María Ximena','Hernández','Martínez','6341523','mxhm@yahoo.es','carrera 8 # 26 – 17 Portones del Lago','Bucaramanga','Santander','91802');


-- 2. Ingrese según el texto, los registros necesarios en las tablas de la base de datos eventos para completar la siguiente operación:

-- a. Identifique a cuantas tablas debe ingresarle información. 

-- Rta: 2 tablas, conciertos y comprasconciertos

-- Rebeca Gómez compra 10 tiquetes el día 30 de octubre de 2014 a las 18:30. Para un nuevo concierto del
-- género R&B que se realizara el 15 de diciembre de 2014 a las 21:00 horas y lo da la artista Beyonce en el
-- Santiago Bernabeu, el precio del tiquete es de 6000 y se dice que ya vendieron 25531 de 50000, del 
-- concierto no se tiene más información.

-- b. Realiza los insert into correspondientes.

insert into conciertos 
values ('857','Beyonce','R&B','2014-12-15','21:00:00','6000','50000','25531',null,'567');

insert into comprasconciertos 
values ('Rebeca','857','2014-10-30','10');

-- 3. Actualiza la columna vendidas de la tabla conciertos, en base a las compras registradas en la tabla compraconciertos. 

select * 
from comprasconciertos
order by codconcierto;

-- Boletas vendidas del concierto 287 (10+8)=18

update conciertos set vendidas = 18 where codigo = '287';

-- Boletas vendidas del concierto 345 (14+5+36)= 55

update conciertos set vendidas = 55 where codigo = '345';

-- Boletas vendidas del concierto 345 (14+5+36)= 55

update conciertos set vendidas = 10 where codigo = '857';


-- 4. Obtenga la información de las corridas de toros donde se presenten tanto ‘El Litri’ o  ‘El Fundi’ . 

select * 
from corridasdetoros 
where torero1 in ('El Litri','El Fundi') or 
torero2 in ('El Litri','El Fundi') or 
torero3 in ('El Litri','El Fundi');

-- 5. Muestre los clientes cuya fecha de caducidad de la cuenta se cumple en el año 2015. 

select * from clientes 
where extract (year from feccaducidad) = 2015;

-- 6. Muestre los conciertos que se realizaron en el primer trimestre del 2004. 

select * from conciertos 
where fecha between '2004-01-01' and '2004-03-31';

select * from conciertos 
where fecha >= '2004-01-01' and fecha <= '2004-03-31';

select * from conciertos 
where extract(month from fecha) between 1 and 3 and 
extract(year from fecha)=2004;

-- 7. Halle cuantas veces (distintas) se ha realizado corridas de toro con el torero ‘El Juli’ 

select distinct count(codigo) 
from corridasdetoros 
where torero1='El Juli' or 
torero2='El Juli' or 
torero3='El Juli';

-- 8. Aumenta el precio de los tiquetes de los partidos en un 3%. 

update partidos set precio = precio * 1.03;

-- 9. Halle los conciertos que su precio sea menores o iguales a 3000 o mayores e iguales a 5000. 

select * from conciertos where precio <=3000 or precio >=5000;

-- 10. Liste los nombres y las capacidades de los escenarios que cumplen las siguientes condiciones: 

-- a. No tiene foto del escenario.

select nombre,capacidad from escenario where foto is null; 

-- b. Entre su nombre no tienen los siguientes caracteres y espacio: ‘ago Be’

select nombre,capacidad from escenario 
where nombre not like '%ago Be%';

-- c. El código del escenario es el 123 o 466 o 890 o 563.

select nombre,capacidad 
from escenario 
where codigo in ('123', '466', '890', '563');

0 comments:

Publicar un comentario