Browse Source

hacer los script mas bonito para insert en el informe

pull/23/head
Chris Cromer 1 year ago
parent
commit
c5042b3569
Signed by: cromer GPG Key ID: 39CC813FF3C8708A
  1. 15
      data.sql
  2. 15
      schema.sql
  3. 1
      trigger.sql
  4. 3
      vista.sql

15
data.sql

@ -2,20 +2,17 @@ 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 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 ('Kevin', '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');
@ -24,7 +21,6 @@ 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');
@ -36,7 +32,6 @@ INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('Curling');
INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('Rugby');
INSERT INTO TIPOS_DEPORTES (DESCRIPCION) VALUES ('Disparo');
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Tome', 1);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Concepcion', 1);
INSERT INTO CIUDAD (NOMBRE, PAIS) VALUES ('Checa', 2);
@ -48,7 +43,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);
@ -56,7 +50,6 @@ 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);
@ -66,7 +59,6 @@ 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);
@ -77,13 +69,11 @@ 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 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);
@ -98,7 +88,6 @@ INSERT INTO COMPETENCIA (NOMBRE, CATEGORIA, TIPO, LUGAR) VALUES ('Carrera', 4, 1
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);
@ -108,7 +97,6 @@ INSERT INTO PRECOMPETENCIA (FECHA, COMPETENCIA, LUGAR) VALUES (TO_DATE('2020-08-
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);
@ -116,14 +104,12 @@ INSERT INTO HOSPEDAR (ID_HOTEL, ID_DELEGACION, FECHA_INICIO, FECHA_FIN, PRECIO_D
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 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'));
@ -131,7 +117,6 @@ INSERT INTO PARTICIPAR_PRECOMPETENCIA (ID_PRECOMPETENCIA, ID_ATLETA, PUNTAJE, FE
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'));

15
schema.sql

@ -4,14 +4,12 @@ CREATE TABLE MEDALLA(
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),
@ -21,21 +19,18 @@ CREATE TABLE ATLETA (
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),
@ -44,7 +39,6 @@ CREATE TABLE 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),
@ -54,7 +48,6 @@ CREATE TABLE 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),
@ -63,7 +56,6 @@ CREATE TABLE HOTEL(
CONSTRAINT HOTEL_CIUDAD_FK FOREIGN KEY (CIUDAD) REFERENCES CIUDAD(ID_CIUDAD)
);
CREATE TABLE CAPITAL(
ID_PAIS NUMBER,
ID_CIUDAD NUMBER,
@ -72,7 +64,6 @@ CREATE TABLE CAPITAL(
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),
@ -84,7 +75,6 @@ CREATE TABLE DELEGACION(
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),
@ -97,7 +87,6 @@ CREATE TABLE COMPETENCIA(
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,
@ -108,7 +97,6 @@ CREATE TABLE PRECOMPETENCIA(
CONSTRAINT PRECOMPETENCIA_LUGAR_FK FOREIGN KEY (LUGAR) REFERENCES LUGAR(ID_LUGAR)
);
CREATE TABLE HOSPEDAR(
ID_HOTEL NUMBER,
ID_DELEGACION NUMBER,
@ -121,7 +109,6 @@ CREATE TABLE HOSPEDAR(
CONSTRAINT HOSPEDAR_DELEGACION_FK FOREIGN KEY (ID_DELEGACION) REFERENCES DELEGACION(ID_DELEGACION)
);
CREATE TABLE GANAR(
ID_ATLETA NUMBER,
ID_COMPETENCIA NUMBER,
@ -134,7 +121,6 @@ CREATE TABLE GANAR(
CONSTRAINT GANAR_MEDALLA_FK FOREIGN KEY (ID_MEDALLA) REFERENCES MEDALLA(ID_MEDALLA)
);
CREATE TABLE PARTICIPAR_COMPETENCIA(
ID_COMPETENCIA NUMBER,
ID_ATLETA NUMBER,
@ -144,7 +130,6 @@ CREATE TABLE PARTICIPAR_COMPETENCIA(
CONSTRAINT PARTICIPAR_COMPETENCIA_ATLETA_FK FOREIGN KEY (ID_ATLETA) REFERENCES ATLETA(ID_ATLETA)
);
CREATE TABLE PARTICIPAR_PRECOMPETENCIA(
ID_PRECOMPETENCIA NUMBER,
ID_ATLETA NUMBER,

1
trigger.sql

@ -83,3 +83,4 @@ BEGIN
:NEW.PRECIO_DELEGACION := v_atletas * :NEW.PRECIO_ATLETA;
END IF;
END;
/

3
vista.sql

@ -1,4 +1,3 @@
-- 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
@ -7,4 +6,4 @@ CREATE OR REPLACE VIEW MAX_ATLETA_ATLETISMO_PAIS AS
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 (UPPER(TD.DESCRIPCION) = 'ATLETISMO'))
GROUP BY (P.ID_PAIS, P.NOMBRE);
GROUP BY (P.ID_PAIS, P.NOMBRE);

Loading…
Cancel
Save