Vous êtes sur la page 1sur 10

LABORATORIO 2.

ORACLE - BASE DE
DATOS SECRETARIA DE GOBIERNO

BASE DE DATOS SECRETARIA DE GOBIERNO

Este sistema de información registra las querellas, detenciones y


contravenciones ocurridas en las inspecciones de policía del municipio
“San Antonio del SENA”.

FAVA - Formación en Ambientes Virtuales de SENA - Servicio Nacional de


Aprendizaje Aprendizaje
Base de datos secretaria de gobierno -
ORACLE

SCRIPT POSTGRESQL

CONNECT SYSTEM/SENA
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)
);

2
FAVA - Formación en Ambientes Virtuales de SENA - Servicio Nacional de
Aprendizaje Aprendizaje
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=PASA-
PORTE 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);

FAVA - Formación en Ambientes Virtuales de SENA - Servicio Nacional de


Aprendizaje Aprendizaje
Oracle, Java, Oracle Logo, son marcas registradas propiedades de Oracle. Copyright ©

PostgreSQL, PostgreSQL Logo, son marcas registradas propiedades de PostgreSQL Global Development Group. Copyright ©

Microsof SQL Server, Microsof SQL Server Logo, son marcas registradas propiedades de Microsof. Copyright ©

Registered trademark

Atribución,

Este material puede ser distribuido, copiado y exhibido por terceros si se muestra en los créditos. No se puede obtener ningún benrcial y l

FAVA - Formación en Ambientes Virtuales de SENA - Servicio Nacional de


Aprendizaje Aprendizaje

Vous aimerez peut-être aussi