You are on page 1of 9

LABORATORIO 2.

ORACLE - BASE DE DATOS


SECRETARIA DE GOBIERNO

BASE DE DATOS SECRETARIA DE GOBIERNO

Este sistema de informacin registra las querellas, detenciones y


contravenciones ocurridas en las inspecciones de polica del municipio
San Antonio del SENA.

FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de 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 - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Base de datos secretaria de gobierno - ORACLE

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 ,

3
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Base de datos secretaria de gobierno - ORACLE

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

4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Base de datos secretaria de gobierno - ORACLE

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;

5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Base de datos secretaria de gobierno - ORACLE

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

6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Base de datos secretaria de gobierno - ORACLE

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;

7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Base de datos secretaria de gobierno - ORACLE

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,RIA 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);

8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de 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

Microsoft SQL Server, Microsoft SQL Server Logo, son marcas

Registered trademark
registradas propiedades de Microsoft. Copyright

Atribucin, no comercial, compartir igual

Este material puede ser distribuido, copiado


y exhibido por terceros si se muestra en los
crditos. No se puede obtener ningn
ben rcial y las obras derivadas
tienen que estar bajo los mismos trminos
de licencia que el trabajo original.

FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje