Sunteți pe pagina 1din 10

Cdigo SQL para la creacin 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 ********--
--- TABLA PERSONA EN GENERAL, PUEDE SER DENUNCIANTE, TESTIGO,
DENUNCIADO, AUTORIDAD
drop table autoridad

DROP TABLE PERSONA
CREATE 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 AUTORIDAD
CREATE 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 DENUNCIANTE
CREATE 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 DENUNCIADO
CREATE 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 TESTIGO
CREATE 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 DENUNCIA
CREATE 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 SALA
CREATE 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 AUDIENCIA
CREATE 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 SENTENCIA
CREATE TABLE SENTENCIA(
cod_sentencia INT identity(1,1) NOT NULL PRIMARY KEY,
resultado varchar(50) NOT NULL default 'inocente', --- culpable,
inocente
cod_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 REO
CREATE 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_CIVIL
CREATE TABLE REPARACION_CIVIL(
cod_reparacion int identity(1,1) not null PRIMARY KEY,
cantidad float NOT NULL,
mto_cancelado float DEFAULT 0
)

DROP TABLE JUICIO
CREATE 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 INTERFACES
CREATE PROCEDURE ADM_SEL_UsuarioPorDNI '46538133'
@DNI char(8)
AS
BEGIN

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 SGCP
select * 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)
AS
begin

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)
as
BEGIN

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)
as
begin

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.DEPARTAMENTO
FROM AUTORIDAD A
INNER JOIN PERSONA P
ON 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)

AS
BEGIN

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 AUDIENCIAS
CREATE 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)
AS
BEGIN
insert 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 AUDIENCIA
CREATE PROCEDURE NUMERO_AUDIENCIA
AS
BEGIN
SELECT COUNT(*)+1 AS CONTADOR FROM AUDIENCIA
END

DROP PROCEDURE BUSCA_AUTORIDADES_AUDIENCIA
CREATE PROCEDURE BUSCA_AUTORIDADES_AUDIENCIA
@FECH_AUDIENCIA date, @TURNO_AUDIENCIA varchar(10)
AS
BEGIN

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

END

--verificar que la denuncia exista
drop procedure busca_denuncia
create procedure busca_denuncia
@COD_DENUNCIA as char(10)
AS
BEGIN
select COUNT(*) as Contador from DENUNCIA where cod_denuncia =
@COD_DENUNCIA
END


---
select * from AUDIENCIA
---

--busca sala
drop procedure
create procedure busca_sala
@FECH_AUDIENCIA date, @TURNO_AUDIENCIA varchar(10)
AS
BEGIN

SELECT A.COD_SALA,
A.NOMBRE_SALA,
A.UBICACION_SALA,
A.CAPACIDAD
FROM SALA A
WHERE 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 audiencia
drop procedure busca_audiencia
create procedure busca_audiencia 'A000000001'
@COD_AUDIENCIA as char(10)
AS
BEGIN
select COUNT(*) as Contador from AUDIENCIA where cod_audiencia =
@COD_AUDIENCIA and est_aud = 'PROGRAMADA'
END

--adquiere estado de audiencia
drop procedure estado_audiencia
create procedure estado_audiencia 'A000000001'
@COD_AUDIENCIA as char(10)
AS
BEGIN
select est_aud from AUDIENCIA where cod_audiencia = @COD_AUDIENCIA
END


SELECT * FROM AUDIENCIA
--modificar el estado de una audiencia
drop procedure modifica_estado_audiencia
create procedure modifica_estado_audiencia 'A000000001','PROGRAMADA'
@COD_AUDIENCIA as char(10), @EST_AUD as varchar(20)
AS
BEGIN
update AUDIENCIA
set EST_AUD = @EST_AUD where COD_AUDIENCIA = @COD_AUDIENCIA
END

--obtener datos de una audiencia
drop procedure datos_audiencia
create procedure datos_audiencia 'A000000001'
@COD_AUDIENCIA as char(10)
AS
BEGIN
select * from AUDIENCIA
where COD_AUDIENCIA = @COD_AUDIENCIA
END

--obtener datos del denunciante
drop procedure DATOS_DENUNCIANTE
create procedure DATOS_DENUNCIANTE 'DA00000001'
@COD_DENUNCIANTE as char(10)
AS
BEGIN
select nombre, apepat, apemat from DENUNCIANTE
where COD_DENUNCIANTE = @COD_DENUNCIANTE

--obtener datos del denunciado
drop procedure DATOS_DENUNCIADO
create procedure DATOS_DENUNCIADO 'DD00000001'
@COD_DENUNCIADO as char(10)
AS
BEGIN
select nombre, apepat, apemat from DENUNCIADO
where COD_DENUNCIADO = @COD_DENUNCIADO
END

--obtener datos de denuncia
drop procedure DATOS_DENUNCIA
create procedure DATOS_DENUNCIA '00000001'
@COD_DENUNCIA as char(8)
AS
BEGIN
select cod_denuncia, cod_denunciante, cod_denunciado, det_denuncia
from DENUNCIA
where COD_DENUNCIA = @COD_DENUNCIA
END

--DATOS DE LA SALA
drop procedure DATOS_SALA
create procedure DATOS_SALA 'ROM01'
@COD_SALA as varchar(10)
AS
BEGIN
select * from SALA
where COD_SALA = @COD_SALA
END

--DATOS DE AUTORIDADES
drop procedure DATOS_AUTORIDAD
create procedure DATOS_AUTORIDAD --'ROM01'
@COD_AUTORIDAD as varchar(30)
AS
BEGIN
select * from AUTORIDAD
where COD_AUTORIDAD = @COD_AUTORIDAD
END

select * from audiencia

--NUMERO DE TESTIGOS QUE HAN PARTICIPADO
CREATE PROCEDURE NUMERO_TESTIGO
AS
BEGIN
SELECT COUNT(*)+1 AS CONTADOR FROM TESTIGO
END

--TESTIGO ENCONTRADO
DROP PROCEDURE TESTIGO_ENCONTRADO
CREATE PROCEDURE TESTIGO_ENCONTRADO '46568133'
@DNI_TESTIGO AS CHAR(8)
AS
BEGIN
SELECT * FROM TESTIGO WHERE DNI = @DNI_TESTIGO
END

--NUMERO DE TESTIGOS_AUDIENCIA (PARA FORMAR EL KEY)
DROP PROCEDURE NUMERO_TESTIGO_AUDIENCIA
CREATE PROCEDURE NUMERO_TESTIGO_AUDIENCIA
AS
BEGIN
SELECT COUNT(*)+1 AS CONTADOR FROM TESTIGO_AUDIENCIA
END

--INSERTAR DATOS EN LA TABLA AGREGADA TESTIGO_AUDIENCIA
DROP PROCEDURE GRABA_TESTIGO_AUDIENCIA
CREATE PROCEDURE GRABA_TESTIGO_AUDIENCIA
@COD_TESTIGO AS VARCHAR(10), @COD_AUDIENCIA AS
VARCHAR(10),@DET_TESTIMONIO AS VARCHAR(250)
AS
BEGIN
insert into
TESTIGO_AUDIENCIA(COD_TESTIGO,COD_AUDIENCIA,DET_TESTIMONIO)
VALUES(@COD_TESTIGO,@COD_AUDIENCIA,@DET_TESTIMONIO)
END

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

--INSERTAR DATOS EN LA TABLA DE SENTENCIA
CREATE PROCEDURE REGISTRA_SENTENCIA
@RESULTADO VARCHAR(50),@COD_DENUNCIADO VARCHAR(10),@MTO_REPARACION
FLOAT,@FECH_INI_CONDENA DATE,@FECH_FIN_CONDENA DATE
AS
BEGIN
insert 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_SENTENCIA
CREATE PROCEDURE DENUNCIADO_CON_SENTENCIA
@COD_DENUNCIADO VARCHAR(10)
AS
BEGIN
SELECT COUNT(*) AS CONTADOR FROM SENTENCIA WHERE COD_DENUNCIADO =
@COD_DENUNCIADO
END

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

DROP PROCEDURE ACTUALIZA_PAGO
CREATE PROCEDURE ACTUALIZA_PAGO 1,0
@COD_SENTENCIA INT, @MONTO_CANCELADO INT
AS
BEGIN
update SENTENCIA
set MTO_CANCELADO = @MONTO_CANCELADO where COD_SENTENCIA =
@COD_SENTENCIA
END

S-ar putea să vă placă și