From b4fd24fc675b6999d513f53113fc10ddfd0b78d7 Mon Sep 17 00:00:00 2001 From: Chris Cromer Date: Fri, 26 Jun 2020 22:47:31 -0400 Subject: [PATCH] limpiar los archivos --- README.md | 9 +- consulta.sql | 36 +++----- data.sql | 216 +++++++++++++++++++++++------------------------ drop_table.sql | 33 ++++---- schema.sql | 212 +++++++++++++++++++++++----------------------- trigger.sql | 88 +++++++++---------- trigger_test.sql | 16 ++++ 7 files changed, 307 insertions(+), 303 deletions(-) create mode 100644 trigger_test.sql diff --git a/README.md b/README.md index 25d45d4..b4048b4 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,11 @@ ## Integrantes - Christopher Cromer - - Ignacio Ortiz \ No newline at end of file + - Ignacio Ortiz + +## Popular BDD +Hay que correr los archivos en ese orden: + + - schema.sql + - data.sql + - trigger.sql \ No newline at end of file diff --git a/consulta.sql b/consulta.sql index 3c9c5be..4c6a008 100644 --- a/consulta.sql +++ b/consulta.sql @@ -1,4 +1,4 @@ --- Consulta 1 de la guia +-- Consulta 1 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) @@ -11,27 +11,19 @@ WHERE A.ID_ATLETA NOT IN ( 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*/ +-- Consulta 2 +-- 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 + SELECT P.ID_PAIS, P.NOMBRE, COUNT(*) AS CANTIDAD_ATLETA + FROM COMPETENCIA C + LEFT JOIN PARTICIPAR_COMPETENCIA PC ON (C.ID_COMPETENCIA = PC.ID_COMPETENCIA) + LEFT JOIN ATLETA A ON A.ID_ATLETA = PC.ID_ATLETA + INNER JOIN DELEGACION D ON (D.ATLETA = A.ID_ATLETA) + INNER JOIN PAIS P ON (P.ID_PAIS = D.PAIS) + WHERE TIPO = (SELECT TD.ID_TIPO FROM TIPOS_DEPORTES TD WHERE (TD.DESCRIPCION = 'ATLETISMO')) + GROUP BY (P.ID_PAIS, P.NOMBRE); - SELECT P.id_pais, P.nombre, COUNT(*) AS Cantidad_Atleta FROM competencia C - LEFT JOIN - Participar_Competencia PC on C.id_competencia = PC.id_competencia - LEFT JOIN - Atleta A on A.id_atleta = PC.id_atleta - INNER JOIN - Delegacion D on D.atleta = A.id_atleta - INNER JOIN - PAIS P on p.id_pais = D.pais - WHERE - tipo = (SELECT TD.id_tipo FROM tipos_deportes TD WHERE TD.descripcion = 'Atletismo') - GROUP BY - P.id_pais, P.nombre; - - - -SELECT P.NOMBRE, M.CANTIDAD_ATLETA FROM MAX_ATLETA_ATLETISMO_PAIS M +SELECT P.NOMBRE, M.CANTIDAD_ATLETA +FROM MAX_ATLETA_ATLETISMO_PAIS M LEFT JOIN PAIS P ON (P.ID_PAIS = M.ID_PAIS) -WHERE (M.CANTIDAD_ATLETA = (SELECT MAX(CANTIDAD_ATLETA) FROM MAX_ATLETA_ATLETISMO_PAIS)) \ No newline at end of file +WHERE (M.CANTIDAD_ATLETA = (SELECT MAX(CANTIDAD_ATLETA) FROM MAX_ATLETA_ATLETISMO_PAIS)) diff --git a/data.sql b/data.sql index 448f7ff..3ec5d9e 100644 --- a/data.sql +++ b/data.sql @@ -1,138 +1,138 @@ -INSERT INTO "MEDALLA" (DESCRIPCION) VALUES ('oro'); -INSERT INTO "MEDALLA" (DESCRIPCION) VALUES ('plata '); -INSERT INTO "MEDALLA" (DESCRIPCION) VALUES ('bronce'); +INSERT INTO MEDALLA (DESCRIPCION) VALUES ('oro'); +INSERT INTO MEDALLA (DESCRIPCION) VALUES ('plata '); +INSERT INTO MEDALLA (DESCRIPCION) VALUES ('bronce'); -INSERT INTO "CATEGORIA" (DESCRIPCION) VALUES ('100 Metros'); -INSERT INTO "CATEGORIA" (DESCRIPCION) VALUES ('20 Metros'); -INSERT INTO "CATEGORIA" (DESCRIPCION) VALUES ('30 Metros'); -INSERT INTO "CATEGORIA" (DESCRIPCION) VALUES ('40 Metros'); +INSERT INTO CATEGORIA (DESCRIPCION) VALUES ('100 Metros'); +INSERT INTO CATEGORIA (DESCRIPCION) VALUES ('20 Metros'); +INSERT INTO CATEGORIA (DESCRIPCION) VALUES ('30 Metros'); +INSERT INTO CATEGORIA (DESCRIPCION) VALUES ('40 Metros'); -INSERT INTO "ATLETA" (NOMBRE, APELLIDO, FECHA_NACIMIENTO, NACIONALIDAD) VALUES ('Ignacio', 'Ortiz', TO_DATE('1998-04-24 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Chilena'); -INSERT INTO "ATLETA" (NOMBRE, APELLIDO, FECHA_NACIMIENTO, NACIONALIDAD) VALUES ('Chris', 'Cromer', TO_DATE('1998-05-22 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Chilena'); -INSERT INTO "ATLETA" (NOMBRE, APELLIDO, FECHA_NACIMIENTO, NACIONALIDAD) VALUES ('Benjamin', 'Perez', TO_DATE('1992-01-28 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Argentina'); -INSERT INTO "ATLETA" (NOMBRE, APELLIDO, FECHA_NACIMIENTO, NACIONALIDAD) VALUES ('Diego', 'Perez', TO_DATE('1983-12-24 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Peruana'); +INSERT INTO ATLETA (NOMBRE, APELLIDO, FECHA_NACIMIENTO, NACIONALIDAD) VALUES ('Ignacio', 'Ortiz', TO_DATE('1998-04-24 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Chilena'); +INSERT INTO ATLETA (NOMBRE, APELLIDO, FECHA_NACIMIENTO, NACIONALIDAD) VALUES ('Chris', 'Cromer', TO_DATE('1998-05-22 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Chilena'); +INSERT INTO ATLETA (NOMBRE, APELLIDO, FECHA_NACIMIENTO, NACIONALIDAD) VALUES ('Benjamin', 'Perez', TO_DATE('1992-01-28 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Argentina'); +INSERT INTO ATLETA (NOMBRE, APELLIDO, FECHA_NACIMIENTO, NACIONALIDAD) VALUES ('Diego', 'Perez', TO_DATE('1983-12-24 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Peruana'); -INSERT INTO "PAIS" (NOMBRE) VALUES ('Chile'); -INSERT INTO "PAIS" (NOMBRE) VALUES ('Peru'); -INSERT INTO "PAIS" (NOMBRE) VALUES ('Argentina'); -INSERT INTO "PAIS" (NOMBRE) VALUES ('Brazil'); -INSERT INTO "PAIS" (NOMBRE) VALUES ('Berlin'); -INSERT INTO "PAIS" (NOMBRE) VALUES ('Canada'); -INSERT INTO "PAIS" (NOMBRE) VALUES ('Republica Checa'); +INSERT INTO PAIS (NOMBRE) VALUES ('Chile'); +INSERT INTO PAIS (NOMBRE) VALUES ('Peru'); +INSERT INTO PAIS (NOMBRE) VALUES ('Argentina'); +INSERT INTO PAIS (NOMBRE) VALUES ('Brazil'); +INSERT INTO PAIS (NOMBRE) VALUES ('Berlin'); +INSERT INTO PAIS (NOMBRE) VALUES ('Canada'); +INSERT INTO PAIS (NOMBRE) VALUES ('Republica Checa'); -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'); -INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('BMX'); -INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Boxeo'); -INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Football'); -INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Curling'); -INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Rugby'); -INSERT INTO "TIPOS_DEPORTES" (DESCRIPCION) VALUES ('Disparo'); +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'); +INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('BMX'); +INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('Boxeo'); +INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('Football'); +INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('Curling'); +INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('Rugby'); +INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('Disparo'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (1, 'Tome', '1'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (2, 'Concepcion', '1'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (3, 'Checa', '2'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (4, 'Roma', '3'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (5, 'Santiago de Compostela', '4'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (6, 'Galicia', '5'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (7, 'Costa Da Morte', '6'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (8, 'Iquique', '6'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (9, 'Orzan', '4'); -INSERT INTO "CIUDAD" (ID_CIUDAD, NOMBRE, PAIS) VALUES (10, 'Riazor', '3'); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (1, 'Tome', 1); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (2, 'Concepcion', 1); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (3, 'Checa', 2); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (4, 'Roma', 3); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (5, 'Santiago de Compostela', 4); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (6, 'Galicia', 5); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (7, 'Costa Da Morte', 6); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (8, 'Iquique', 6); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (9, 'Orzan', 4); +INSERT INTO CIUDAD (ID_CIUDAD, NOMBRE, PAIS) VALUES (10, 'Riazor', 3); -INSERT INTO "LUGAR" (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('BXKQ', '100', '1'); -INSERT INTO "LUGAR" (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('TELLONES', '120', '2'); -INSERT INTO "LUGAR" (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('TRELLIG', '80', '3'); -INSERT INTO "LUGAR" (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('DIRAKZ', '250', '3'); -INSERT INTO "LUGAR" (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('ZERINID', '400', '5'); -INSERT INTO "LUGAR" (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('CHIX', '150', '6'); +INSERT INTO LUGAR (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('BXKQ', 100, 1); +INSERT INTO LUGAR (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('TELLONES', 120, 2); +INSERT INTO LUGAR (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('TRELLIG', 80, 3); +INSERT INTO LUGAR (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('DIRAKZ', 250, 3); +INSERT INTO LUGAR (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('ZERINID', 400, 5); +INSERT INTO LUGAR (NOMBRE, CAPACIDAD, CIUDAD) VALUES ('CHIX', 150, 6); -INSERT INTO "HOTEL" (NOMBRE, CIUDAD) VALUES ('SILENT', '1'); -INSERT INTO "HOTEL" (NOMBRE, CIUDAD) VALUES ('ZRKAZ', '2'); -INSERT INTO "HOTEL" (NOMBRE, CIUDAD) VALUES ('JBL', '3'); -INSERT INTO "HOTEL" (NOMBRE, CIUDAD) VALUES ('KIZIP', '3'); -INSERT INTO "HOTEL" (NOMBRE, CIUDAD) VALUES ('KIROTWE', '4'); -INSERT INTO "HOTEL" (NOMBRE, CIUDAD) VALUES ('HILL', '5'); -INSERT INTO "HOTEL" (NOMBRE, CIUDAD) VALUES ('RESIDENT', '6'); -INSERT INTO "HOTEL" (NOMBRE, CIUDAD) VALUES ('ZERO', '1'); +INSERT INTO HOTEL (NOMBRE, CIUDAD) VALUES ('SILENT', 1); +INSERT INTO HOTEL (NOMBRE, CIUDAD) VALUES ('ZRKAZ', 2); +INSERT INTO HOTEL (NOMBRE, CIUDAD) VALUES ('JBL', 3); +INSERT INTO HOTEL (NOMBRE, CIUDAD) VALUES ('KIZIP', 3); +INSERT INTO HOTEL (NOMBRE, CIUDAD) VALUES ('KIROTWE', 4); +INSERT INTO HOTEL (NOMBRE, CIUDAD) VALUES ('HILL', 5); +INSERT INTO HOTEL (NOMBRE, CIUDAD) VALUES ('RESIDENT', 6); +INSERT INTO HOTEL (NOMBRE, CIUDAD) VALUES ('ZERO', 1); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('1', '1'); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('1', '2'); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('2', '3'); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('3', '4'); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('4', '5'); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('4', '6'); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('4', '7'); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('5', '8'); -INSERT INTO "CAPITAL" (ID_PAIS, ID_CIUDAD) VALUES ('6', '9'); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (1, 1); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (1, 2); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (2, 3); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (3, 4); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (4, 5); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (4, 6); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (4, 7); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (5, 8); +INSERT INTO CAPITAL (ID_PAIS, ID_CIUDAD) VALUES (6, 9); -INSERT INTO "DELEGACION" (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SAMSU', '2', '1', '1'); -INSERT INTO "DELEGACION" (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SUX', '3', '2', '2'); -INSERT INTO "DELEGACION" (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SKT1', '4', '3', '3'); -INSERT INTO "DELEGACION" (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SUPREME', '2', '4', '4'); +INSERT INTO DELEGACION (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SAMSU', 2, 1, 1); +INSERT INTO DELEGACION (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SUX', 3, 2, 2); +INSERT INTO DELEGACION (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SKT1', 4, 3, 3); +INSERT INTO DELEGACION (NOMBRE, CANTIDAD_ATLETAS, PAIS, ATLETA) VALUES ('SUPREME', 2, 4, 4); -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'); -INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', '4', '1', '2'); -INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', '4', '1', '3'); -INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', '4', '2', '3'); -INSERT INTO "COMPETENCIA" (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', '4', '3', '5'); +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); +INSERT INTO COMPETENCIA (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', 4, 1, 2); +INSERT INTO COMPETENCIA (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', 4, 1, 3); +INSERT INTO COMPETENCIA (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', 4, 2, 3); +INSERT INTO COMPETENCIA (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', 4, 3, 5); -INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1', '1'); -INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-06-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1', '2'); -INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-07-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1', '3'); -INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '2', '1'); -INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-07-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '2', '2'); -INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-08-30 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '2', '3'); -INSERT INTO "PRECOMPETENCIA" (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-09-26 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '3', '1'); -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 PRECOMPETENCIA (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 1, 1); +INSERT INTO PRECOMPETENCIA (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-06-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 1, 2); +INSERT INTO PRECOMPETENCIA (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-07-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 1, 3); +INSERT INTO PRECOMPETENCIA (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-06-06 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 2, 1); +INSERT INTO PRECOMPETENCIA (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-07-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 2, 2); +INSERT INTO PRECOMPETENCIA (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-08-30 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 2, 3); +INSERT INTO PRECOMPETENCIA (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-09-26 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 3, 1); +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_DELEGACION, PRECIO_ATLETA) 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', '1500000'); -INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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', '350000'); -INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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', '280000'); -INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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', '168000'); -INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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', '178000'); -INSERT INTO "HOSPEDAR" (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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', '189000'); +INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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, 1500000); +INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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, 350000); +INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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, 280000); +INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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, 168000); +INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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, 178000); +INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_DELEGACION, PRECIO_ATLETA) 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, 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'); -INSERT INTO "GANAR" (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES ('1', '1', '1', TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '99'); -INSERT INTO "GANAR" (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES ('2', '2', '1', TO_DATE('2019-06-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '100'); -INSERT INTO "GANAR" (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES ('3', '1', '2', TO_DATE('2019-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '78'); -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 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); +INSERT INTO GANAR (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES (1, 1, 1, TO_DATE('2020-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 99); +INSERT INTO GANAR (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES (2, 2, 1, TO_DATE('2019-06-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 100); +INSERT INTO GANAR (ID_ATLETA, ID_COMPETENCIA, ID_MEDALLA, FECHA, PUNTAJE) VALUES (3, 1, 2, TO_DATE('2019-05-25 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 78); +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', '4', '20', 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, 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')); diff --git a/drop_table.sql b/drop_table.sql index 4f14cbb..5435067 100644 --- a/drop_table.sql +++ b/drop_table.sql @@ -1,16 +1,17 @@ -DROP TABLE participar_precompetencia; -DROP TABLE participar_competencia; -DROP TABLE ganar; -DROP TABLE hospedar; -DROP TABLE precompetencia; -DROP TABLE competencia; -DROP TABLE delegacion; -DROP TABLE capital; -DROP TABLE hotel; -DROP TABLE lugar; -DROP TABLE ciudad; -DROP TABLE tipos_deportes; -DROP TABLE pais; -DROP TABLE atleta; -DROP TABLE categoria; -DROP TABLE medalla; \ No newline at end of file +DROP TABLE PARTICIPAR_PRECOMPETENCIA; +DROP TABLE PARTICIPAR_COMPETENCIA; +DROP TABLE GANAR; +DROP TABLE HOSPEDAR; +DROP TABLE PRECOMPETENCIA; +DROP TABLE COMPETENCIA; +DROP TABLE DELEGACION; +DROP TABLE CAPITAL; +DROP TABLE HOTEL; +DROP TABLE LUGAR; +DROP TABLE CIUDAD; +DROP TABLE TIPOS_DEPORTES; +DROP TABLE PAIS; +DROP TABLE ATLETA; +DROP TABLE CATEGORIA; +DROP TABLE MEDALLA; +PURGE RECYCLEBIN; diff --git a/schema.sql b/schema.sql index f3af951..7df513c 100644 --- a/schema.sql +++ b/schema.sql @@ -1,138 +1,138 @@ -CREATE TABLE medalla( - id_medalla NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - descripcion VARCHAR2(50), - CONSTRAINT medalla_pk PRIMARY KEY (id_medalla) +CREATE TABLE MEDALLA( + ID_MEDALLA NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + DESCRIPCION VARCHAR2(50), + CONSTRAINT MEDALLA_PK PRIMARY KEY (ID_MEDALLA) ); -CREATE TABLE categoria( - id_categoria NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - descripcion VARCHAR(50), - CONSTRAINT categoria_pk PRIMARY KEY (id_categoria) +CREATE TABLE CATEGORIA( + ID_CATEGORIA NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + DESCRIPCION VARCHAR(50), + CONSTRAINT CATEGORIA_PK PRIMARY KEY (ID_CATEGORIA) ); -CREATE TABLE atleta ( - id_atleta NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - nombre VARCHAR2(50), - apellido VARCHAR2(50), - fecha_nacimiento DATE, - nacionalidad VARCHAR2(50), - CONSTRAINT atleta_pk PRIMARY KEY (id_atleta) +CREATE TABLE ATLETA ( + ID_ATLETA NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + NOMBRE VARCHAR2(50), + APELLIDO VARCHAR2(50), + FECHA_NACIMIENTO DATE, + NACIONALIDAD VARCHAR2(50), + CONSTRAINT ATLETA_PK PRIMARY KEY (ID_ATLETA) ); -CREATE TABLE pais( - id_pais NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - nombre VARCHAR(50), - CONSTRAINT pais_pk PRIMARY KEY (id_pais) +CREATE TABLE PAIS( + ID_PAIS NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + NOMBRE VARCHAR(50), + CONSTRAINT PAIS_PK PRIMARY KEY (ID_PAIS) ); -CREATE TABLE tipos_deportes( - id_tipo NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - descripcion VARCHAR(50), - CONSTRAINT tipo_pk PRIMARY KEY (id_tipo) +CREATE TABLE TIPOS_DEPORTES( + ID_TIPO NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + DESCRIPCION VARCHAR(50), + CONSTRAINT TIPO_PK PRIMARY KEY (ID_TIPO) ); -CREATE TABLE ciudad ( - id_ciudad NUMBER, - nombre VARCHAR(50), - pais NUMBER, - CONSTRAINT ciudad_pk PRIMARY KEY (id_ciudad), - CONSTRAINT ciudad_pais_fk FOREIGN KEY (pais) REFERENCES pais(id_pais) +CREATE TABLE CIUDAD ( + ID_CIUDAD NUMBER, + NOMBRE VARCHAR(50), + PAIS NUMBER, + CONSTRAINT CIUDAD_PK PRIMARY KEY (ID_CIUDAD), + CONSTRAINT CIUDAD_PAIS_FK FOREIGN KEY (PAIS) REFERENCES PAIS(ID_PAIS) ); -CREATE TABLE lugar ( - id_lugar NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - nombre VARCHAR2(50), - capacidad NUMBER, - ciudad NUMBER, - CONSTRAINT lugar_pk PRIMARY KEY (id_lugar), - CONSTRAINT lugar_ciudad_fk FOREIGN KEY (ciudad) REFERENCES ciudad(id_ciudad) +CREATE TABLE LUGAR ( + ID_LUGAR NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + NOMBRE VARCHAR2(50), + CAPACIDAD NUMBER, + CIUDAD NUMBER, + CONSTRAINT LUGAR_PK PRIMARY KEY (ID_LUGAR), + CONSTRAINT LUGAR_CIUDAD_FK FOREIGN KEY (CIUDAD) REFERENCES CIUDAD(ID_CIUDAD) ); -CREATE TABLE hotel( - id_hotel NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - nombre VARCHAR2(50), - ciudad NUMBER, - CONSTRAINT hotel_pk PRIMARY KEY (id_hotel), - CONSTRAINT hotel_ciudad_fk FOREIGN KEY (ciudad) REFERENCES ciudad(id_ciudad) +CREATE TABLE HOTEL( + ID_HOTEL NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + NOMBRE VARCHAR2(50), + CIUDAD NUMBER, + CONSTRAINT HOTEL_PK PRIMARY KEY (ID_HOTEL), + CONSTRAINT HOTEL_CIUDAD_FK FOREIGN KEY (CIUDAD) REFERENCES CIUDAD(ID_CIUDAD) ); -CREATE TABLE capital( - id_pais NUMBER, - id_ciudad NUMBER, - CONSTRAINT capital_pk PRIMARY KEY (id_pais, id_ciudad), - CONSTRAINT capital_pais_fk FOREIGN KEY (id_pais) REFERENCES pais(id_pais), - CONSTRAINT capital_ciudad_fk FOREIGN KEY (id_ciudad) REFERENCES ciudad(id_ciudad) +CREATE TABLE CAPITAL( + ID_PAIS NUMBER, + ID_CIUDAD NUMBER, + CONSTRAINT CAPITAL_PK PRIMARY KEY (ID_PAIS, ID_CIUDAD), + CONSTRAINT CAPITAL_PAIS_FK FOREIGN KEY (ID_PAIS) REFERENCES PAIS(ID_PAIS), + CONSTRAINT CAPITAL_CIUDAD_FK FOREIGN KEY (ID_CIUDAD) REFERENCES CIUDAD(ID_CIUDAD) ); -CREATE TABLE delegacion( - id_delegacion NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - nombre VARCHAR2(50), - cantidad_atletas NUMBER, - pais NUMBER, - atleta NUMBER, - CONSTRAINT delegacion_pk PRIMARY KEY (id_delegacion), - CONSTRAINT delegacion_pais_fk FOREIGN KEY (pais) REFERENCES pais(id_pais), - CONSTRAINT delegacion_atleta_fk FOREIGN KEY (atleta) REFERENCES atleta(id_atleta) +CREATE TABLE DELEGACION( + ID_DELEGACION NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + NOMBRE VARCHAR2(50), + CANTIDAD_ATLETAS NUMBER, + PAIS NUMBER, + ATLETA NUMBER, + CONSTRAINT DELEGACION_PK PRIMARY KEY (ID_DELEGACION), + CONSTRAINT DELEGACION_PAIS_FK FOREIGN KEY (PAIS) REFERENCES PAIS(ID_PAIS), + CONSTRAINT DELEGACION_ATLETA_FK FOREIGN KEY (ATLETA) REFERENCES ATLETA(ID_ATLETA) ); -CREATE TABLE competencia( - id_competencia NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - nombre VARCHAR2(50), - categoria NUMBER, - tipo NUMBER, - lugar NUMBER, - CONSTRAINT competencia_pk PRIMARY KEY (id_competencia), - CONSTRAINT competencia_categoria_fk FOREIGN KEY (categoria) REFERENCES categoria(id_categoria), - CONSTRAINT competencia_tipo_fk FOREIGN KEY (tipo) REFERENCES tipos_deportes(id_tipo), - CONSTRAINT competencia_lugar_fk FOREIGN KEY (lugar) REFERENCES lugar(id_lugar) +CREATE TABLE COMPETENCIA( + ID_COMPETENCIA NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + NOMBRE VARCHAR2(50), + CATEGORIA NUMBER, + TIPO NUMBER, + LUGAR NUMBER, + CONSTRAINT COMPETENCIA_PK PRIMARY KEY (ID_COMPETENCIA), + CONSTRAINT COMPETENCIA_CATEGORIA_FK FOREIGN KEY (CATEGORIA) REFERENCES CATEGORIA(ID_CATEGORIA), + CONSTRAINT COMPETENCIA_TIPO_FK FOREIGN KEY (TIPO) REFERENCES TIPOS_DEPORTES(ID_TIPO), + CONSTRAINT COMPETENCIA_LUGAR_FK FOREIGN KEY (LUGAR) REFERENCES LUGAR(ID_LUGAR) ); -CREATE TABLE precompetencia( - id_precompetencia NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), - fecha DATE, - competencia NUMBER, - lugar NUMBER, - CONSTRAINT precompetencia_pk PRIMARY KEY (id_precompetencia), - CONSTRAINT precompetencia_competencia_fk FOREIGN KEY (competencia) REFERENCES competencia(id_competencia), - CONSTRAINT precompetencia_lugar_fk FOREIGN KEY (lugar) REFERENCES lugar(id_lugar) +CREATE TABLE PRECOMPETENCIA( + ID_PRECOMPETENCIA NUMBER GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1), + FECHA DATE, + COMPETENCIA NUMBER, + LUGAR NUMBER, + CONSTRAINT PRECOMPETENCIA_PK PRIMARY KEY (ID_PRECOMPETENCIA), + CONSTRAINT PRECOMPETENCIA_COMPETENCIA_FK FOREIGN KEY (COMPETENCIA) REFERENCES COMPETENCIA(ID_COMPETENCIA), + CONSTRAINT PRECOMPETENCIA_LUGAR_FK FOREIGN KEY (LUGAR) REFERENCES LUGAR(ID_LUGAR) ); -CREATE TABLE hospedar( - id_hotel NUMBER, - id_delegacion NUMBER, - fecha_inicio DATE, - fecha_fin DATE, - 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) +CREATE TABLE HOSPEDAR( + ID_HOTEL NUMBER, + ID_DELEGACION NUMBER, + FECHA_INICIO DATE, + FECHA_FIN DATE, + 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) ); -CREATE TABLE ganar( - id_atleta NUMBER, - id_competencia NUMBER, - id_medalla NUMBER, - fecha DATE, - puntaje NUMBER, - CONSTRAINT ganar_atleta_fk FOREIGN KEY (id_atleta) REFERENCES atleta(id_atleta), - CONSTRAINT ganar_competencia_fk FOREIGN KEY (id_competencia) REFERENCES competencia(id_competencia), - CONSTRAINT ganar_medalla_fk FOREIGN KEY (id_medalla) REFERENCES medalla(id_medalla) +CREATE TABLE GANAR( + ID_ATLETA NUMBER, + ID_COMPETENCIA NUMBER, + ID_MEDALLA NUMBER, + FECHA DATE, + PUNTAJE NUMBER, + CONSTRAINT GANAR_ATLETA_FK FOREIGN KEY (ID_ATLETA) REFERENCES ATLETA(ID_ATLETA), + CONSTRAINT GANAR_COMPETENCIA_FK FOREIGN KEY (ID_COMPETENCIA) REFERENCES COMPETENCIA(ID_COMPETENCIA), + CONSTRAINT GANAR_MEDALLA_FK FOREIGN KEY (ID_MEDALLA) REFERENCES MEDALLA(ID_MEDALLA) ); -CREATE TABLE participar_competencia( - id_competencia NUMBER, - id_atleta NUMBER, - fecha DATE, - CONSTRAINT participar_competencia_competencia_fk FOREIGN KEY (id_competencia) REFERENCES competencia(id_competencia), - CONSTRAINT participar_competencia_atleta_fk FOREIGN KEY (id_atleta) REFERENCES atleta(id_atleta) +CREATE TABLE PARTICIPAR_COMPETENCIA( + ID_COMPETENCIA NUMBER, + ID_ATLETA NUMBER, + FECHA DATE, + CONSTRAINT PARTICIPAR_COMPETENCIA_COMPETENCIA_FK FOREIGN KEY (ID_COMPETENCIA) REFERENCES COMPETENCIA(ID_COMPETENCIA), + CONSTRAINT PARTICIPAR_COMPETENCIA_ATLETA_FK FOREIGN KEY (ID_ATLETA) REFERENCES ATLETA(ID_ATLETA) ); -CREATE TABLE participar_precompetencia( - id_precompetencia NUMBER, - id_atleta NUMBER, - puntaje NUMBER, - fecha DATE, - CONSTRAINT participar_precompetencia_precompetencia_fk FOREIGN KEY (id_precompetencia) REFERENCES precompetencia(id_precompetencia), - CONSTRAINT participar_precompetencia_atleta_fk FOREIGN KEY (id_atleta) REFERENCES atleta(id_atleta) +CREATE TABLE PARTICIPAR_PRECOMPETENCIA( + ID_PRECOMPETENCIA NUMBER, + ID_ATLETA NUMBER, + PUNTAJE NUMBER, + FECHA DATE, + CONSTRAINT PARTICIPAR_PRECOMPETENCIA_PRECOMPETENCIA_FK FOREIGN KEY (ID_PRECOMPETENCIA) REFERENCES PRECOMPETENCIA(ID_PRECOMPETENCIA), + CONSTRAINT PARTICIPAR_PRECOMPETENCIA_ATLETA_FK FOREIGN KEY (ID_ATLETA) REFERENCES ATLETA(ID_ATLETA) ); diff --git a/trigger.sql b/trigger.sql index d3000c2..51f5f1f 100644 --- a/trigger.sql +++ b/trigger.sql @@ -1,74 +1,62 @@ +-- Trigger 3 +CREATE OR REPLACE TRIGGER CORRELATIVE_INCREMENT_CIUDAD +BEFORE INSERT +ON CIUDAD -/* Pregunta 3*/ -CREATE OR REPLACE TRIGGER correlative_increment BEFORE INSERT ON ciudad FOR EACH ROW - -DECLARE - - idCiudad number; - -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; + v_id_ciudad CIUDAD.ID_CIUDAD%TYPE; +BEGIN + SELECT MAX(ID_CIUDAD) INTO v_id_ciudad FROM CIUDAD; + :NEW.ID_CIUDAD := v_id_ciudad + 1; END; +-- Trigger 4 +CREATE OR REPLACE TRIGGER VALIDACION_PRE_COMPETENCIA +BEFORE INSERT +ON PARTICIPAR_COMPETENCIA -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 */ +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); + + v_id_precompetencia PARTICIPAR_PRECOMPETENCIA.ID_PRECOMPETENCIA%TYPE; + +BEGIN + OPEN PARTICIPAR_PRECO; + FETCH PARTICIPAR_PRECO INTO v_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; +-- Trigger 5 CREATE OR REPLACE TRIGGER CALCULAR_VALOR_DELEGACION BEFORE INSERT OR UPDATE ON HOSPEDAR FOR EACH ROW DECLARE - atletas DELEGACION.CANTIDAD_ATLETAS%TYPE; + v_atletas DELEGACION.CANTIDAD_ATLETAS%TYPE; BEGIN IF INSERTING THEN - SELECT CANTIDAD_ATLETAS INTO atletas + SELECT CANTIDAD_ATLETAS INTO v_atletas FROM DELEGACION WHERE (ID_DELEGACION = :NEW.ID_DELEGACION); - :NEW.PRECIO_DELEGACION := atletas * :NEW.PRECIO_ATLETA; + :NEW.PRECIO_DELEGACION := v_atletas * :NEW.PRECIO_ATLETA; ELSIF UPDATING THEN - SELECT CANTIDAD_ATLETAS INTO atletas + SELECT CANTIDAD_ATLETAS INTO v_atletas FROM DELEGACION WHERE (ID_DELEGACION = :NEW.ID_DELEGACION); - :NEW.PRECIO_DELEGACION := atletas * :NEW.PRECIO_ATLETA; + :NEW.PRECIO_DELEGACION := v_atletas * :NEW.PRECIO_ATLETA; END IF; END; - -INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES (1, 1, 5, 50000); -UPDATE HOSPEDAR SET PRECIO_DELEGACION = 5 WHERE (ID_HOTEL = 1 AND ID_DELEGACION = 1); -UPDATE HOSPEDAR SET PRECIO_ATLETA = 50000 WHERE (ID_HOTEL = 1 AND ID_DELEGACION = 1); diff --git a/trigger_test.sql b/trigger_test.sql new file mode 100644 index 0000000..5c98c60 --- /dev/null +++ b/trigger_test.sql @@ -0,0 +1,16 @@ +-- Trigger 3 + +-- Trigger 4 +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')); + + +-- Trigger 5 +INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, PRECIO_DELEGACION, PRECIO_ATLETA) VALUES (1, 1, 5, 50000); + +UPDATE HOSPEDAR SET PRECIO_DELEGACION = 5 WHERE (ID_HOTEL = 1 AND ID_DELEGACION = 1); + +UPDATE HOSPEDAR SET PRECIO_ATLETA = 50000 WHERE (ID_HOTEL = 1 AND ID_DELEGACION = 1);