CREATE USER QUERELLAS IDENTIFIED BY SENA DEFAULT TABLESPACE USERS
QUOTA ON USERS UNLIMITED; GRANT CONNECT, RESOURCE TO QUERELLAS; CONNECT QUERELLAS/SENA CREATE TABLE CONTRAVENCION ( idCONTRAVENCION NUMBER NOT NULL , FECHA DATE NULL, TIPO NUMBER NULL , HECHOS VARCHAR2(4000) NULL, ESTADO NUMBER NULL , PRIMARY KEY(idCONTRAVENCION) ); CREATE TABLE INSPECCION ( idINSPECCION NUMBER, NOMBRE VARCHAR(30) NULL, PRIMARY KEY(idINSPECCION) ); CREATE TABLE QUERELLA ( idQUERELLA NUMBER NOT NULL , idINSPECCION NUMBER NOT NULL , FECHA DATE NULL, ASUNTO VARCHAR2(4000) NULL, HECHOS VARCHAR2(4000) NULL, ESTADO NUMBER NULL , PRIMARY KEY(idQUERELLA), FOREIGN KEY(idINSPECCION) REFERENCES INSPECCION(idINSPECCION) ); CREATE TABLE INVOLUCRADO ( idINVOLUCRADO NUMBER NOT NULL , idCONTRAVENCION NUMBER NOT NULL , NOMBRE VARCHAR(60) NULL, IDENTIFICACION VARCHAR(30) NULL, TIPODOCUMENTO NUMBER NULL , TIPOACTUACION NUMBER NULL , PRIMARY KEY(idINVOLUCRADO, idCONTRAVENCION), FOREIGN KEY(idCONTRAVENCION) REFERENCES CONTRAVENCION(idCONTRAVENCION) ); CREATE TABLE DETECCION ( idDETECCION NUMBER NOT NULL , idINSPECCION NUMBER NOT NULL , FECHA DATE NULL, MOTIVO VARCHAR2(4000) NULL, TIPO NUMBER NULL , HECHOS VARCHAR2(4000) NULL, PRIMARY KEY(idDETECCION), FOREIGN KEY(idINSPECCION) REFERENCES INSPECCION(idINSPECCION) ); CREATE TABLE CONTRACTUACION ( idCONTRACTUACION NUMBER NOT NULL , idCONTRAVENCION NUMBER NOT NULL , FECHA DATE NULL, PRIMARY KEY(idCONTRACTUACION, idCONTRAVENCION), FOREIGN KEY(idCONTRAVENCION) REFERENCES CONTRAVENCION(idCONTRAVENCION) ); CREATE TABLE ACTUACION ( idACTUACION NUMBER NOT NULL , idQUERELLA NUMBER NOT NULL , FECHA DATE NULL, HECHOS VARCHAR2(4000) NULL, ESTADO NUMBER NULL , PRIMARY KEY(idACTUACION, idQUERELLA), FOREIGN KEY(idQUERELLA) REFERENCES QUERELLA(idQUERELLA) ); CREATE TABLE DEMANDADO ( idDEMANDADO NUMBER NOT NULL , idQUERELLA NUMBER NOT NULL , NOMBRE VARCHAR(60) NULL, IDENTIFICACION VARCHAR(30) NULL, TIPODOCUMENTO NUMBER NULL , PRIMARY KEY(idDEMANDADO, idQUERELLA), FOREIGN KEY(idQUERELLA) REFERENCES QUERELLA(idQUERELLA) ); CREATE TABLE DEMANDANTE ( idDEMANDANTE NUMBER NOT NULL , idQUERELLA NUMBER NOT NULL , NOMBRE VARCHAR(60) NULL, IDENTIFICACION VARCHAR(30) NULL, TIPODOCUMENTO NUMBER NULL , PRIMARY KEY(idDEMANDANTE, idQUERELLA), FOREIGN KEY(idQUERELLA) REFERENCES QUERELLA(idQUERELLA) ); CREATE TABLE INSPECCION_has_CONTRAVENCION ( idINSPECCION NUMBER NOT NULL , idCONTRAVENCION NUMBER NOT NULL , INSPECTOR VARCHAR(60) NULL, PRIMARY KEY(idINSPECCION, idCONTRAVENCION), FOREIGN KEY(idINSPECCION) REFERENCES INSPECCION(idINSPECCION), FOREIGN KEY(idCONTRAVENCION) REFERENCES CONTRAVENCION(idCONTRAVENCION) ); CREATE TABLE PERSONA ( idPERSONA NUMBER NOT NULL , idDETECCION NUMBER NOT NULL , APELLIDO VARCHAR(30) NULL, NOMBRES VARCHAR(30) NULL, IDENTIFICACION VARCHAR(30) NULL, TIPODOCUMENTO NUMBER NULL , PRIMARY KEY(idPERSONA, idDETECCION), FOREIGN KEY(idDETECCION) REFERENCES DETECCION(idDETECCION) ); --1=ORDEN PUBLICO 2=COMUNITARIO 3=FAMILIAR 4=OTROS ALTER TABLE CONTRAVENCION ADD CONSTRAINT CONTRTIPOCHK CHECK(TIPO IN(1,2,3,4)); --1=ABIERTA 2=PENDIENTE 3=CERRADA ALTER TABLE CONTRAVENCION ADD CONSTRAINT CONTRESTADOCHK CHECK(ESTADO IN(1,2,3)); --1=ABIERTA 2=PENDIENTE 3=CERRADA ALTER TABLE QUERELLA ADD CONSTRAINT QUERETIPORCHK CHECK(ESTADO IN(1,2,3)); ALTER TABLE INVOLUCRADO ADD CONSTRAINT INVOLIDENTIBK UNIQUE(IDENTIFICACION); --1=CEDULA 2=TARJETA IDENTIDAD 3=CEDULA DE EXTRANJERIA 4=PASAPORTE 5=NUI ALTER TABLE QUERELLA ADD CONSTRAINT QUERETIPORCHK CHECK(TIPODOCUMENTO IN(1,2,3,4,5)); CREATE SEQUENCE SEQ_CONTRAVENCION MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_CONTRAVENCION BEFORE INSERT ON CONTRAVENCION FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_CONTRAVENCION.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idCONTRAVENCION:=NUMERO; END; CREATE SEQUENCE SEQ_INSPECCION MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_INSPECCION BEFORE INSERT ON INSPECCION FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_INSPECCION.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idINSPECCION:=NUMERO; END; CREATE SEQUENCE SEQ_QUERELLA MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_QUERELLA BEFORE INSERT ON QUERELLA FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_QUERELLA.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idQUERELLA:=NUMERO; END; CREATE SEQUENCE SEQ_INVOLUCRADO MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_INVOLUCRADO BEFORE INSERT ON INVOLUCRADO FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_INVOLUCRADO.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idINVOLUCRADO :=NUMERO; END; CREATE SEQUENCE SEQ_DETECCION MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_DETECCION BEFORE INSERT ON DETECCION FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_DETECCION.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idDETECCION :=NUMERO; END; CREATE SEQUENCE SEQ_CONTRACTUACION MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_CONTRACTUACION BEFORE INSERT ON CONTRACTUACION FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_CONTRACTUACION.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idCONTRACTUACION :=NUMERO; END; CREATE SEQUENCE SEQ_ACTUACION MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_ACTUACION BEFORE INSERT ON ACTUACION FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_ACTUACION.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idACTUACION :=NUMERO; END; CREATE SEQUENCE SEQ_DEMANDADO MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_DEMANDADO BEFORE INSERT ON DEMANDADO FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_DEMANDADO.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idDEMANDADO :=NUMERO; END; CREATE SEQUENCE SEQ_DEMANDANTE MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_DEMANDANTE BEFORE INSERT ON DEMANDANTE FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_DEMANDANTE.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idDEMANDANTE :=NUMERO; END; CREATE SEQUENCE SEQ_PERSONA MINVALUE 1 MAXVALUE 1000000 START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER TR_PERSONA BEFORE INSERT ON PERSONA FOR EACH ROW DECLARE NUMERO NUMBER; BEGIN SELECT SEQ_PERSONA.NEXTVAL INTO NUMERO FROM DUAL; :NEW.idPERSONA :=NUMERO; END; INSERT INTO CONTRAVENCION(FECHA,TIPO,HECHOS,ESTADO) VALUES(SYSDATE,1,'ALICORAMIENTO EN VIA PUBLICA',1); INSERT INTO CONTRAVENCION(FECHA,TIPO,HECHOS,ESTADO) VALUES(SYSDATE,1,'RIÑA CALLEJERA',1); INSERT INTO CONTRAVENCION(FECHA,TIPO,HECHOS,ESTADO) VALUES(SYSDATE,1,'DESORDEN EN LA VIA PUBLICA',1); INSERT INTO CONTRAVENCION(FECHA,TIPO,HECHOS,ESTADO) VALUES(SYSDATE,3,'PELEA FAMILIAR',1);