11
Código SQL para la creación de la base de datos. USE CONTROL_PENITENCIARIO SELECT * FROM Usuario create database SGCP USE SGCP -- Relaciono con PERSONA?, pero esta tabla capta el resultado directo del formulario =S DROP TABLE USER_DATA CREATE TABLE USER_DATA ( DNI char(8) NOT NULL PRIMARY KEY, fech_nacim date NOT NULL, sexo char(1) NOT NULL, nombre varchar(50) NOT NULL, apepat varchar(50) NOT NULL, apemat varchar(50) NOT NULL, cargo varchar(20) NOT NULL, password varchar(15) NOT NULL ) --********EMPIEZAN LAS TABLAS =O ********--

Código SQL y Store Procedures

Embed Size (px)

Citation preview

Cdigo SQL para la creacin de la base de datos.

USE CONTROL_PENITENCIARIOSELECT * FROM Usuario

create database SGCPUSE SGCP

-- Relaciono con PERSONA?, pero esta tabla capta el resultado directo del formulario =SDROP TABLE USER_DATACREATE TABLE USER_DATA (DNI char(8) NOT NULL PRIMARY KEY,fech_nacim date NOT NULL,sexo char(1) NOT NULL,nombre varchar(50) NOT NULL,apepat varchar(50) NOT NULL,apemat varchar(50) NOT NULL,cargo varchar(20) NOT NULL,password varchar(15) NOT NULL)

--********EMPIEZAN LAS TABLAS =O ********----- TABLA PERSONA EN GENERAL, PUEDE SER DENUNCIANTE, TESTIGO, DENUNCIADO, AUTORIDADdrop table autoridad

DROP TABLE PERSONACREATE TABLE PERSONA (DNI char(8) NOT NULL PRIMARY KEY,fech_nacim date NOT NULL,nombre varchar(50) NOT NULL,apepat varchar(50) NOT NULL,apemat varchar(50) NOT NULL,direccion varchar(250) NOT NULL,distrito varchar(50) NOT NULL,provincia varchar(50) NOT NULL,departamento varchar(50) NOT NULL,SEXO VARCHAR(20),FLG_REQUISITORIA char(1) default 0)

DROP TABLE AUTORIDADCREATE TABLE AUTORIDAD (cod_autoridad varchar(30) NOT NULL PRIMARY KEY,DNI char(8) NOT NULL,nombre varchar (50),apepat varchar(50),apemat varchar(50),cargo varchar(20) NOT NULL,pass_autoridad varchar(50),)

DROP TABLE DENUNCIANTECREATE TABLE DENUNCIANTE (cod_denunciante varchar(10) NOT NULL PRIMARY KEY,DNI char(8) NOT NULL,nombre varchar (50),apepat varchar(50),apemat varchar(50),)

DROP TABLE DENUNCIADOCREATE TABLE DENUNCIADO (cod_denunciado varchar(10) NOT NULL PRIMARY KEY,DNI char(8) NOT NULL,nombre varchar (50),apepat varchar(50),apemat varchar(50),)

DROP TABLE TESTIGOCREATE TABLE TESTIGO (cod_testigo varchar(10) NOT NULL PRIMARY KEY,DNI char(8) NOT NULL,nombre varchar (50),apepat varchar(50),apemat varchar(50),)

DROP TABLE DENUNCIACREATE TABLE DENUNCIA(cod_denuncia VARCHAR(10) NOT NULL PRIMARY KEY,det_denuncia varchar(250) NOT NULL,cod_denunciante VARCHAR(10) NOT NULL,cod_denunciado VARCHAR(10) NOT NULL,est_denuncia varchar(20) NOT NULL default 'en proceso' --verificar denuncia, rechaza denuncia, en espera, en audiencia, archivar,constraint fk_cod_denunciante foreign key (cod_denunciante) REFERENCES DENUNCIANTE(cod_denunciante),constraint fk_cod_denunciado foreign key (cod_denunciado) REFERENCES DENUNCIADO(cod_denunciado))

DROP TABLE SALACREATE TABLE SALA(cod_sala varchar(10) NOT NULL PRIMARY KEY,nombre_sala varchar(50) NOT NULL,ubicacion_sala varchar(50),capacidad integer,estado varchar(20) default 'HABILITADA')

DROP TABLE AUDIENCIACREATE TABLE AUDIENCIA(cod_audiencia varchar(10) NOT NULL PRIMARY KEY,cod_autoridad_juez varchar(30) NULL,cod_autoridad_secretario varchar(30) NULL,cod_sala varchar(10) NULL,cod_denuncia varchar(10) NULL,fech_audiencia date NULL,turno_audiencia varchar(10) NULL,est_aud varchar(20) NOT NULL -- en proceso, en espera, cancelado, finalizado,constraint fk_cod_autoridad_juez foreign key (cod_autoridad_juez) REFERENCES AUTORIDAD(cod_autoridad),constraint fk_cod_autoridad_secretario foreign key (cod_autoridad_secretario) REFERENCES AUTORIDAD(cod_autoridad),constraint fk_cod_sala foreign key (cod_sala) REFERENCES SALA(cod_sala),constraint fk_cod_denuncia foreign key (cod_denuncia) REFERENCES DENUNCIA(cod_denuncia))

DROP TABLE SENTENCIACREATE TABLE SENTENCIA(cod_sentencia INT identity(1,1) NOT NULL PRIMARY KEY,resultado varchar(50) NOT NULL default 'inocente', --- culpable, inocentecod_denunciado varchar(10) NOT NULL,mto_reparacion float,mto_cancelado float default 0,fech_ini_condena date,fech_fin_condena date,constraint fk_cod_denunciado_sent foreign key (cod_denunciado) REFERENCES DENUNCIADO(cod_denunciado))

---*******************************************+++------DROP TABLE REOCREATE TABLE REO(cod_reo varchar(10) NOT NULL PRIMARY KEY,DNI char(8) NOT NULL,nombre varchar (50),apepat varchar(50),apemat varchar(50),cod_sentencia int,estado_final varchar(50),constraint fk_cod_sentencia foreign key (cod_sentencia) REFERENCES SENTENCIA(cod_sentencia))

DROP TABLE REPARACION_CIVILCREATE TABLE REPARACION_CIVIL(cod_reparacion int identity(1,1) not null PRIMARY KEY,cantidad float NOT NULL,mto_cancelado float DEFAULT 0)

DROP TABLE JUICIOCREATE TABLE JUICIO(cod_juicio varchar(10) NOT NULL PRIMARY KEY,cod_audiencia varchar(10) NOT NULL,cod_sentencia varchar(10) NULL,constraint fk_cod_audiencia foreign key (cod_audiencia) REFERENCES AUDIENCIA(cod_audiencia),constraint fk_cod_sent_juicio foreign key (cod_sentencia) REFERENCES SENTENCIA (cod_sentencia))

STORE PROCEDURES EMPLEADOS EN LAS INTERFACESCREATE PROCEDURE ADM_SEL_UsuarioPorDNI '46538133'@DNI char(8)ASBEGIN

select P.DNI,p.sexo, P.FECH_NACIM, P.NOMBRE, P.APEPAT, P.APEMAT, P.DIRECCION, P.DISTRITO,P.PROVINCIA, P.DEPARTAMENTO FROM PERSONA P where P.DNI = @DNI

END

use SGCPselect * from AUTORIDAD

exec ADM_SEL_UsuarioPorDNI '46538133';

create procedure INSERTA_AUTORIDAD@COD_AUTORIDAD varchar(30), @DNI char(8), @NOMBRE varchar(50), @APEPAT varchar(50), @APEMAT varchar(50), @CARGO varcHar(20),@PASS_AUTORIDAD varchar(50)ASbegin

insert into AUTORIDAD(COD_AUTORIDAD , DNI , NOMBRE, APEPAT, APEMAT, CARGO, PASS_AUTORIDAD)VALUES(@COD_AUTORIDAD, @DNI, @NOMBRE, @APEPAT, @APEMAT, @CARGO,@PASS_AUTORIDAD)

END

CREATE PROCEDURE ADM_SEL_LeerUsuarioLogin@Cod_Autoridad varchar(25),@Pass_Autoridad varchar(25),@Cargo varchar(25)asBEGIN

Select count(*) as Contador from Autoridad where Autoridad.Cod_Autoridad = @Cod_Autoridad and Autoridad.Pass_Autoridad = @Pass_Autoridad and Autoridad.Cargo = @Cargo

END

CREATE PROCEDURE ADM_SEL_BuscaAutoridad@COD_AUTORIDAD VARCHAR(25)asbegin

select A.DNI,A.CARGO,p.sexo, P.FECH_NACIM,A.PASS_AUTORIDAD, P.NOMBRE, P.APEPAT, P.APEMAT, P.DIRECCION, P.DISTRITO,P.PROVINCIA, P.DEPARTAMENTOFROM AUTORIDAD AINNER JOIN PERSONA PON A.DNI = P.DNI where A.COD_AUTORIDAD = @COD_AUTORIDAD

END

create procedure GRABA_BASES@DNI1 char(8),@DNI2 char(8), @NOMBRE1 varchar(50),@NOMBRE2 varchar(50), @APEPAT1 varchar(50), @APEPAT2 varchar(50),@APEMAT1 varchar(50), @APEMAT2 varchar(50), @COD_DENUNCIADO varchar(10), @COD_DENUNCIANTE vachar(10),@COD_DENUNCIA varchar(10), @DET_DENUNCIA varchar(250)

ASBEGIN

insert into DENUNCIADO(COD_DENUNCIADO , DNI , NOMBRE, APEPAT, APEMAT)VALUES(@COD_DENUNCIADO, @DNI1, @NOMBRE1, @APEPAT1, @APEMAT1)

insert into DENUNCIANTE(cod_denunciante , DNI , NOMBRE, APEPAT, APEMAT)VALUES(@COD_DENUNCIANTE, @DNI2, @NOMBRE2, @APEPAT2, @APEMAT2)

insert into DENUNCIA(cod_denuncia , det_denuncia , cod_denunciante, cod_denunciado, est_denuncia)VALUES(@COD_DENUNCIA, @DET_DENUNCIA, @COD_DENUNCIANTE, @COD_DENUNCIADO, 'EN RPOCESO')

END

select * from sala

-- INGRESAR LOS DATOS DE LA INTERFACE DE PROGRAMACION DE AUDIENCIASCREATE PROCEDURE INGRESA_DATOS_AUDIENCIA@COD_AUDIENCIA varchar(10), @COD_AUTORIDAD_JUEZ varchar(30), @COD_AUTORIDAD_SECRETARIO varchar(30), @COD_SALA varchar(10),@COD_DENUNCIA varchar(10),@FECH_AUDIENCIA date, @TURNO_AUDIENCIA varchar(10), @EST_AUD varchar(20)ASBEGINinsert into AUDIENCIA(COD_AUDIENCIA, COD_AUTORIDAD_JUEZ, COD_AUTORIDAD_SECRETARIO, COD_SALA, COD_DENUNCIA,FECH_AUDIENCIA, TURNO_AUDIENCIA, EST_AUD)VALUES(@COD_AUDIENCIA, @COD_AUTORIDAD_JUEZ, @COD_AUTORIDAD_SECRETARIO, @COD_SALA,@COD_DENUNCIA,@FECH_AUDIENCIA, @TURNO_AUDIENCIA, @EST_AUD)END

--GET CODIGO DE AUDIENCIACREATE PROCEDURE NUMERO_AUDIENCIAASBEGINSELECT COUNT(*)+1 AS CONTADOR FROM AUDIENCIAEND

DROP PROCEDURE BUSCA_AUTORIDADES_AUDIENCIACREATE PROCEDURE BUSCA_AUTORIDADES_AUDIENCIA@FECH_AUDIENCIA date, @TURNO_AUDIENCIA varchar(10)ASBEGIN

SELECT A.COD_AUTORIDAD, A.CARGO, A.APEPAT, A.APEMAT, A.NOMBREFROM AUTORIDAD AWHERE CARGO IN ('SECRETARIO','JUEZ') AND cod_autoridad not in(SELECT cod_autoridad_juez FROM Audiencia WHERE fech_audiencia = @FECH_AUDIENCIA and turno_audiencia = @TURNO_AUDIENCIAunionSELECT cod_autoridad_secretario FROM Audiencia WHERE fech_audiencia = @FECH_AUDIENCIA and turno_audiencia = @TURNO_AUDIENCIA)

END

--verificar que la denuncia existadrop procedure busca_denunciacreate procedure busca_denuncia@COD_DENUNCIA as char(10)ASBEGINselect COUNT(*) as Contador from DENUNCIA where cod_denuncia = @COD_DENUNCIAEND

---select * from AUDIENCIA---

--busca saladrop procedure create procedure busca_sala@FECH_AUDIENCIA date, @TURNO_AUDIENCIA varchar(10)ASBEGIN

SELECT A.COD_SALA, A.NOMBRE_SALA, A.UBICACION_SALA, A.CAPACIDADFROM SALA AWHERE ESTADO LIKE('HABIL%') AND COD_SALA not in(SELECT COD_SALA FROM Audiencia WHERE fech_audiencia = @FECH_AUDIENCIA and turno_audiencia = @TURNO_AUDIENCIA)

END

--buscar audienciadrop procedure busca_audienciacreate procedure busca_audiencia 'A000000001'@COD_AUDIENCIA as char(10)ASBEGINselect COUNT(*) as Contador from AUDIENCIA where cod_audiencia = @COD_AUDIENCIA and est_aud = 'PROGRAMADA'END

--adquiere estado de audienciadrop procedure estado_audienciacreate procedure estado_audiencia 'A000000001'@COD_AUDIENCIA as char(10)ASBEGINselect est_aud from AUDIENCIA where cod_audiencia = @COD_AUDIENCIAEND

SELECT * FROM AUDIENCIA--modificar el estado de una audienciadrop procedure modifica_estado_audienciacreate procedure modifica_estado_audiencia 'A000000001','PROGRAMADA'@COD_AUDIENCIA as char(10), @EST_AUD as varchar(20)ASBEGIN update AUDIENCIAset EST_AUD = @EST_AUD where COD_AUDIENCIA = @COD_AUDIENCIAEND

--obtener datos de una audienciadrop procedure datos_audienciacreate procedure datos_audiencia 'A000000001'@COD_AUDIENCIA as char(10)ASBEGINselect * from AUDIENCIAwhere COD_AUDIENCIA = @COD_AUDIENCIAEND

--obtener datos del denunciantedrop procedure DATOS_DENUNCIANTEcreate procedure DATOS_DENUNCIANTE 'DA00000001'@COD_DENUNCIANTE as char(10)ASBEGINselect nombre, apepat, apemat from DENUNCIANTEwhere COD_DENUNCIANTE = @COD_DENUNCIANTE

--obtener datos del denunciadodrop procedure DATOS_DENUNCIADOcreate procedure DATOS_DENUNCIADO 'DD00000001'@COD_DENUNCIADO as char(10)ASBEGINselect nombre, apepat, apemat from DENUNCIADOwhere COD_DENUNCIADO = @COD_DENUNCIADOEND

--obtener datos de denunciadrop procedure DATOS_DENUNCIAcreate procedure DATOS_DENUNCIA '00000001'@COD_DENUNCIA as char(8)ASBEGINselect cod_denuncia, cod_denunciante, cod_denunciado, det_denuncia from DENUNCIAwhere COD_DENUNCIA = @COD_DENUNCIAEND

--DATOS DE LA SALAdrop procedure DATOS_SALAcreate procedure DATOS_SALA 'ROM01'@COD_SALA as varchar(10)ASBEGINselect * from SALAwhere COD_SALA = @COD_SALAEND

--DATOS DE AUTORIDADESdrop procedure DATOS_AUTORIDADcreate procedure DATOS_AUTORIDAD --'ROM01'@COD_AUTORIDAD as varchar(30)ASBEGINselect * from AUTORIDADwhere COD_AUTORIDAD = @COD_AUTORIDADEND

select * from audiencia

--NUMERO DE TESTIGOS QUE HAN PARTICIPADOCREATE PROCEDURE NUMERO_TESTIGOASBEGINSELECT COUNT(*)+1 AS CONTADOR FROM TESTIGOEND

--TESTIGO ENCONTRADODROP PROCEDURE TESTIGO_ENCONTRADOCREATE PROCEDURE TESTIGO_ENCONTRADO '46568133'@DNI_TESTIGO AS CHAR(8)ASBEGINSELECT * FROM TESTIGO WHERE DNI = @DNI_TESTIGOEND

--NUMERO DE TESTIGOS_AUDIENCIA (PARA FORMAR EL KEY)DROP PROCEDURE NUMERO_TESTIGO_AUDIENCIACREATE PROCEDURE NUMERO_TESTIGO_AUDIENCIAASBEGINSELECT COUNT(*)+1 AS CONTADOR FROM TESTIGO_AUDIENCIAEND

--INSERTAR DATOS EN LA TABLA AGREGADA TESTIGO_AUDIENCIADROP PROCEDURE GRABA_TESTIGO_AUDIENCIACREATE PROCEDURE GRABA_TESTIGO_AUDIENCIA@COD_TESTIGO AS VARCHAR(10), @COD_AUDIENCIA AS VARCHAR(10),@DET_TESTIMONIO AS VARCHAR(250)ASBEGINinsert into TESTIGO_AUDIENCIA(COD_TESTIGO,COD_AUDIENCIA,DET_TESTIMONIO)VALUES(@COD_TESTIGO,@COD_AUDIENCIA,@DET_TESTIMONIO)END

--INSERTAR DATOS EN LA TABLA DE TESTIGOSCREATE PROCEDURE GRABA_TESTIGO@COD_TESTIGO AS VARCHAR(10), @DNI AS CHAR(8), @NOMBRE AS VARCHAR(50), @APEPAT AS VARCHAR(50), @APEMAT AS VARCHAR(50)ASBEGINinsert into TESTIGO(COD_TESTIGO , DNI , NOMBRE, APEPAT, APEMAT)VALUES(@COD_TESTIGO, @DNI, @NOMBRE, @APEPAT, @APEMAT)END

--INSERTAR DATOS EN LA TABLA DE SENTENCIACREATE PROCEDURE REGISTRA_SENTENCIA@RESULTADO VARCHAR(50),@COD_DENUNCIADO VARCHAR(10),@MTO_REPARACION FLOAT,@FECH_INI_CONDENA DATE,@FECH_FIN_CONDENA DATEASBEGINinsert into SENTENCIA(RESULTADO , COD_DENUNCIADO , MTO_REPARACION, MTO_CANCELADO, FECH_INI_CONDENA,FECH_FIN_CONDENA)VALUES(@RESULTADO,@COD_DENUNCIADO,@MTO_REPARACION,0,@FECH_INI_CONDENA,@FECH_FIN_CONDENA)END

DROP PROCEDURE DENUNCIADO_CON_SENTENCIACREATE PROCEDURE DENUNCIADO_CON_SENTENCIA @COD_DENUNCIADO VARCHAR(10)ASBEGINSELECT COUNT(*) AS CONTADOR FROM SENTENCIA WHERE COD_DENUNCIADO = @COD_DENUNCIADOEND

DROP PROCEDURE CONDENADO_DNICREATE PROCEDURE CONDENADO_DNI '25713619'@DNI_DENUNCIADO CHAR(8)ASBEGINSELECT * FROM SENTENCIA WHERE COD_DENUNCIADO = (SELECT COD_DENUNCIADO FROM DENUNCIADO WHERE DNI = @DNI_DENUNCIADO)END

DROP PROCEDURE ACTUALIZA_PAGOCREATE PROCEDURE ACTUALIZA_PAGO 1,0@COD_SENTENCIA INT, @MONTO_CANCELADO INTASBEGINupdate SENTENCIAset MTO_CANCELADO = @MONTO_CANCELADO where COD_SENTENCIA = @COD_SENTENCIAEND