diff --git a/schema.sql b/schema.sql index 7df513c..0792265 100644 --- a/schema.sql +++ b/schema.sql @@ -4,12 +4,14 @@ 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), @@ -19,18 +21,21 @@ 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), @@ -39,6 +44,7 @@ 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), @@ -48,6 +54,7 @@ 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), @@ -56,6 +63,7 @@ CREATE TABLE HOTEL( CONSTRAINT HOTEL_CIUDAD_FK FOREIGN KEY (CIUDAD) REFERENCES CIUDAD(ID_CIUDAD) ); + CREATE TABLE CAPITAL( ID_PAIS NUMBER, ID_CIUDAD NUMBER, @@ -76,6 +84,7 @@ 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), @@ -88,6 +97,7 @@ 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, @@ -98,6 +108,7 @@ CREATE TABLE PRECOMPETENCIA( CONSTRAINT PRECOMPETENCIA_LUGAR_FK FOREIGN KEY (LUGAR) REFERENCES LUGAR(ID_LUGAR) ); + CREATE TABLE HOSPEDAR( ID_HOTEL NUMBER, ID_DELEGACION NUMBER, @@ -105,34 +116,41 @@ CREATE TABLE HOSPEDAR( 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) ); diff --git a/trigger.sql b/trigger.sql index 8378d10..6d8c8d7 100644 --- a/trigger.sql +++ b/trigger.sql @@ -11,9 +11,9 @@ BEGIN SELECT MAX(ID_CIUDAD) INTO v_id_ciudad FROM CIUDAD; IF v_id_ciudad IS NULL THEN - : NEW.ID_CIUDAD := 1; + :NEW.ID_CIUDAD := 1; ELSE - : NEW.ID_CIUDAD := v_id_ciudad + 1; + :NEW.ID_CIUDAD := v_id_ciudad + 1; END IF; END;