From 40bd1d8a4966b1a4177c19c0582e7ded80f34cea Mon Sep 17 00:00:00 2001 From: GID Projects Date: Mon, 15 Jun 2020 21:22:21 -0400 Subject: [PATCH 1/7] Se arregla los inser agregando ; para que se ejecute sin tirar errores --- data.sql | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/data.sql b/data.sql index 0218d58..6ba6fd4 100644 --- a/data.sql +++ b/data.sql @@ -123,15 +123,15 @@ 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_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')); From d2dc2fddeac39208bf99e0138f17ae85bb577f94 Mon Sep 17 00:00:00 2001 From: GID Projects Date: Mon, 15 Jun 2020 22:11:09 -0400 Subject: [PATCH 2/7] no message --- data.sql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/data.sql b/data.sql index 6ba6fd4..0005055 100644 --- a/data.sql +++ b/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'); From fe8b3c12f5e3e158da1fa949fd6d8b3ff328cd8d Mon Sep 17 00:00:00 2001 From: GID Projects Date: Mon, 15 Jun 2020 22:56:57 -0400 Subject: [PATCH 3/7] Se agrega Trigger de Pregunta 4 --- trigger.sql | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/trigger.sql b/trigger.sql index 724ba83..93c061e 100644 --- a/trigger.sql +++ b/trigger.sql @@ -1,3 +1,5 @@ + +/* Pregunta 3*/ CREATE OR REPLACE TRIGGER correlative_increment BEFORE INSERT ON ciudad FOR EACH ROW DECLARE @@ -8,4 +10,39 @@ BEGIN SELECT MAX(id_ciudad) INTO idCiudad FROM ciudad; :new.id_ciudad := idCiudad + 1; -END; \ No newline at end of file +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 */ \ No newline at end of file From 0643dc8685d6ab6bad684a405f5282d5f9cee26a Mon Sep 17 00:00:00 2001 From: GID Projects Date: Mon, 15 Jun 2020 23:03:53 -0400 Subject: [PATCH 4/7] no message --- data.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data.sql b/data.sql index 0005055..b7cc5d3 100644 --- a/data.sql +++ b/data.sql @@ -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'); From bcf5ada323d9a5ec31aa5369c904efbadb8e46ff Mon Sep 17 00:00:00 2001 From: Chris Cromer Date: Fri, 19 Jun 2020 11:10:46 -0400 Subject: [PATCH 5/7] arrelgar atributos faltantes --- schema.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/schema.sql b/schema.sql index 1279a3b..f3af951 100644 --- a/schema.sql +++ b/schema.sql @@ -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) ); From e0e021ff2241e81f1d218cdfdd0431cc11effc83 Mon Sep 17 00:00:00 2001 From: Chris Cromer Date: Sat, 20 Jun 2020 16:02:16 -0400 Subject: [PATCH 6/7] agregar data necesario para la consulta --- data.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/data.sql b/data.sql index b7cc5d3..6a95aee 100644 --- a/data.sql +++ b/data.sql @@ -128,6 +128,7 @@ INSERT INTO "PARTICIPAR_PRECOMPETENCIA" (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, 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')); From 93ecb23bc327dd5efba38c8bb2e67576ad9f7eb4 Mon Sep 17 00:00:00 2001 From: Chris Cromer Date: Sat, 20 Jun 2020 16:02:35 -0400 Subject: [PATCH 7/7] crear consulta 1 --- consulta.sql | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 consulta.sql diff --git a/consulta.sql b/consulta.sql new file mode 100644 index 0000000..bf33e32 --- /dev/null +++ b/consulta.sql @@ -0,0 +1,12 @@ +-- 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) +);