Merge branch 'master' into feature_Consulta_2
# Conflicts: # consulta.sql
This commit is contained in:
commit
6246379498
15
consulta.sql
15
consulta.sql
@ -1,4 +1,17 @@
|
||||
/*Pregunta 2*/
|
||||
-- Consulta 1 de la guia
|
||||
SELECT CONCAT(A.NOMBRE, CONCAT(' ', A.APELLIDO)) AS NOMBRE_ATLETA
|
||||
FROM PARTICIPAR_PRECOMPETENCIA PP
|
||||
LEFT JOIN ATLETA A ON (PP.ID_ATLETA = A.ID_ATLETA)
|
||||
WHERE A.ID_ATLETA NOT IN (
|
||||
SELECT PC.ID_ATLETA
|
||||
FROM PARTICIPAR_COMPETENCIA PC
|
||||
LEFT JOIN COMPETENCIA C ON (C.ID_COMPETENCIA = PC.ID_COMPETENCIA)
|
||||
LEFT JOIN PRECOMPETENCIA P ON (P.COMPETENCIA = C.ID_COMPETENCIA)
|
||||
LEFT JOIN PARTICIPAR_PRECOMPETENCIA PP2 ON (PP2.ID_PRECOMPETENCIA = P.ID_PRECOMPETENCIA)
|
||||
WHERE (PC.ID_ATLETA = PP2.ID_ATLETA)
|
||||
);
|
||||
|
||||
-- Consulta 2 de la guia
|
||||
|
||||
/*Parte 1 Crear una vista que trae la cantidad maxima de atletas asociados a un pais que compitan en Atletismo*/
|
||||
CREATE OR REPLACE VIEW MAX_ATLETA_ATLETISMO_PAIS AS
|
||||
|
47
data.sql
47
data.sql
@ -24,7 +24,7 @@ INSERT INTO "PAIS" (NOMBRE) VALUES ('Canada');
|
||||
INSERT INTO "PAIS" (NOMBRE) VALUES ('Republica Checa');
|
||||
|
||||
|
||||
INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Natacion');
|
||||
INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Atletismo');
|
||||
INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Carrera');
|
||||
INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Arqueria');
|
||||
INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Basketball');
|
||||
@ -83,12 +83,12 @@ INSERT INTO "DELEGACION" (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SKT1'
|
||||
INSERT INTO "DELEGACION" (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SUPREME', '2', '4', '4');
|
||||
|
||||
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Natacion', '1', '1', '1');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Natacion', '1', '1', '2');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Natacion', '1', '1', '3');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Natacion', '1', '1', '4');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Natacion', '1', '1', '5');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Natacion', '1', '1', '6');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Atletismo', '1', '1', '1');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Atletismo', '1', '1', '2');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Atletismo', '1', '1', '3');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Atletismo', '1', '1', '4');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Atletismo', '1', '1', '5');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Atletismo', '1', '1', '6');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', '4', '2', '1');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', '4', '3', '2');
|
||||
INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', '4', '3', '1');
|
||||
@ -108,12 +108,12 @@ INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-0
|
||||
INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-10-28 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '4', '2');
|
||||
|
||||
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('1', '9', TO_DATE('2020-05-21 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1500000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('1', '6', TO_DATE('2020-05-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-06-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '350000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('2', '7', TO_DATE('2020-05-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-05-10 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '280000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('3', '7', TO_DATE('2020-06-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-06-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '168000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('4', '8', TO_DATE('2020-09-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-10-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '178000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('5', '9', TO_DATE('2020-10-13 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-10-18 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '189000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('1', '1', TO_DATE('2020-05-21 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1500000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('1', '2', TO_DATE('2020-05-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-06-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '350000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('2', '3', TO_DATE('2020-05-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-05-10 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '280000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('3', '4', TO_DATE('2020-06-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-06-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '168000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('4', '2', TO_DATE('2020-09-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-10-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '178000');
|
||||
INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO) VALUES ('5', '3', TO_DATE('2020-10-13 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2020-10-18 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '189000');
|
||||
|
||||
|
||||
INSERT INTO "GANAR" (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES ('1', '1', '3', TO_DATE('2019-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '70');
|
||||
@ -123,15 +123,16 @@ INSERT INTO "GANAR" (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALU
|
||||
INSERT INTO "GANAR" (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES ('3', '1', '3', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '89');
|
||||
|
||||
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('1', '1', '70', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('1', '2', '75', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('1', '3', '80', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('2', '1', '25', TO_DATE('2020-06-26 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('3', '2', '100', TO_DATE('2020-06-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('1', '1', '70', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('1', '2', '75', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('1', '3', '80', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('2', '1', '25', TO_DATE('2020-06-26 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('3', '2', '100', TO_DATE('2020-06-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('1', '4', '20', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('1', '1', TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('1', '2', TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('1', '3', TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('2', '1', TO_DATE('2020-07-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('3', '2', TO_DATE('2020-07-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('1', '1', TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('1', '2', TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('1', '3', TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('2', '1', TO_DATE('2020-07-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('3', '2', TO_DATE('2020-07-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
@ -103,7 +103,8 @@ CREATE TABLE hospedar(
|
||||
id_delegacion NUMBER,
|
||||
fecha_inicio DATE,
|
||||
fecha_fin DATE,
|
||||
precio NUMBER,
|
||||
precio_delegacion NUMBER,
|
||||
precio_atleta NUMBER,
|
||||
CONSTRAINT hospedar_hotel_fk FOREIGN KEY (id_hotel) REFERENCES hotel(id_hotel),
|
||||
CONSTRAINT hospedar_delegacion_fk FOREIGN KEY (id_delegacion) REFERENCES delegacion(id_delegacion)
|
||||
);
|
||||
|
37
trigger.sql
37
trigger.sql
@ -1,3 +1,5 @@
|
||||
|
||||
/* Pregunta 3*/
|
||||
CREATE OR REPLACE TRIGGER correlative_increment BEFORE INSERT ON ciudad FOR EACH ROW
|
||||
|
||||
DECLARE
|
||||
@ -9,3 +11,38 @@ BEGIN
|
||||
SELECT MAX(id_ciudad) INTO idCiudad FROM ciudad;
|
||||
:new.id_ciudad := idCiudad + 1;
|
||||
END;
|
||||
|
||||
/* Pregunta 4 */
|
||||
|
||||
CREATE OR REPLACE TRIGGER Validacion_Pre_Competencia BEFORE INSERT ON PARTICIPAR_COMPETENCIA
|
||||
FOR EACH ROW
|
||||
DECLARE
|
||||
CURSOR participar_preco
|
||||
IS SELECT PPC.id_precompetencia
|
||||
FROM PARTICIPAR_PRECOMPETENCIA PPC
|
||||
LEFT JOIN PRECOMPETENCIA PC ON PC.id_precompetencia = PPC.id_precompetencia
|
||||
WHERE PPC.id_atleta = :NEW.id_atleta AND pc.competencia = :NEW.id_competencia;
|
||||
|
||||
id_precompetencia PARTICIPAR_PRECOMPETENCIA.id_precompetencia%TYPE;
|
||||
|
||||
BEGIN
|
||||
|
||||
OPEN participar_preco;
|
||||
FETCH participar_preco into id_precompetencia;
|
||||
IF participar_preco%found THEN
|
||||
dbms_output.put_line('EL ATLETA HA PARTICIPADO EN PRECOMPETENCIAS ASOCIADAS');
|
||||
ELSE Raise_Application_Error(-20120, 'NO SE PUEDE INSERTAR, EL ATLETA NO POSEE PRECOMPETENCIAS ASOCIADAS A LA COMPETENCIA');
|
||||
END IF;
|
||||
CLOSE participar_preco;
|
||||
|
||||
END;
|
||||
|
||||
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('1', '21', TO_DATE('2020-07-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FECHA) VALUES ('3', '2', '100', TO_DATE('2020-06-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
INSERT INTO "PARTICIPAR_COMPETENCIA" (ID_COMPETENCIA, ID_ATLETA, FECHA) VALUES ('1', '21', TO_DATE('2020-07-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
|
||||
/* Pregunta 5 */
|
Loading…
Reference in New Issue
Block a user