Merge branch 'master' into feature_model

This commit is contained in:
GID Projects 2020-06-27 15:52:57 -04:00
commit 0f39cc5717
8 changed files with 364 additions and 285 deletions

View File

@ -2,4 +2,12 @@
## Integrantes
- Christopher Cromer
- Ignacio Ortiz
- Ignacio Ortiz
## Popular BDD
Hay que correr los archivos en ese orden:
- schema.sql
- vista.sql
- trigger.sql
- data.sql

BIN
Trabajo_Semestral.pdf Normal file

Binary file not shown.

View File

@ -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)
@ -10,3 +10,20 @@ WHERE A.ID_ATLETA NOT IN (
LEFT JOIN PARTICIPAR_PRECOMPETENCIA PP2 ON (PP2.ID_PRECOMPETENCIA = P.ID_PRECOMPETENCIA)
WHERE (PC.ID_ATLETA = PP2.ID_ATLETA)
);
-- 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.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))

216
data.sql
View File

@ -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 (NOMBRE, PAIS) VALUES ('Tome', 1);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Concepcion', 1);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Checa', 2);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Roma', 3);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Santiago de Compostela', 4);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Galicia', 5);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Costa Da Morte', 6);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Iquique', 6);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Orzan', 4);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('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) 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 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'));

View File

@ -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;
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;

View File

@ -1,138 +1,156 @@
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_PK PRIMARY KEY (ID_HOTEL, ID_DELEGACION, FECHA_INICIO),
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_PK PRIMARY KEY (ID_ATLETA, ID_COMPETENCIA, FECHA),
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_PK PRIMARY KEY (ID_COMPETENCIA, ID_ATLETA, FECHA),
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_PK PRIMARY KEY (ID_PRECOMPETENCIA, ID_ATLETA, FECHA),
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)
);

View File

@ -1,48 +1,67 @@
-- 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;
IF v_id_ciudad IS NULL THEN
:NEW.ID_CIUDAD := 1;
ELSE
:NEW.ID_CIUDAD := v_id_ciudad + 1;
END IF;
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'));
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;
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'));
-- Trigger 5
CREATE OR REPLACE TRIGGER CALCULAR_VALOR_DELEGACION
BEFORE INSERT OR UPDATE
ON HOSPEDAR
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'));
FOR EACH ROW
DECLARE
v_atletas DELEGACION.CANTIDAD_ATLETAS%TYPE;
BEGIN
IF INSERTING THEN
SELECT CANTIDAD_ATLETAS INTO v_atletas
FROM DELEGACION WHERE (ID_DELEGACION = :NEW.ID_DELEGACION);
/* Pregunta 5 */
:NEW.PRECIO_DELEGACION := v_atletas * :NEW.PRECIO_ATLETA;
ELSIF UPDATING THEN
SELECT CANTIDAD_ATLETAS INTO v_atletas
FROM DELEGACION WHERE (ID_DELEGACION = :NEW.ID_DELEGACION);
:NEW.PRECIO_DELEGACION := v_atletas * :NEW.PRECIO_ATLETA;
END IF;
END;

16
trigger_test.sql Normal file
View File

@ -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);