Script do banco para PostGresSQL
Script
do banco para PostGresSQL
Script
CREATE TABLE IF NOT EXISTS Servidor (
idServidor SERIAL PRIMARY KEY,
Nome TEXT NOT NULL,
email TEXT NOT NULL,
tipo TEXT NOT NULL,
refresh_token TEXT NOT NULL,
acess_token TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS Formulario (
idFormulario SERIAL PRIMARY KEY,
nome TEXT NOT NULL UNIQUE,
descricao TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS preso (
cpf TEXT PRIMARY KEY,
Nome TEXT NOT NULL,
data_nascimento TEXT NOT NULL,
telefone TEXT NOT NULL,
endereco TEXT NOT NULL,
genero TEXT NOT NULL,
sexo TEXT NOT NULL,
estado_civil TEXT NOT NULL,
cor_pele TEXT NOT NULL,
escolaridade TEXT NOT NULL,
sabe_ler BOOLEAN NOT NULL,
pessoa_deficiencia TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS Processo (
idProcesso SERIAL PRIMARY KEY,
numero TEXT,
preso_cpf TEXT NOT NULL,
CONSTRAINT fk_Processo_preso FOREIGN KEY (preso_cpf)
REFERENCES preso (cpf)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE IF NOT EXISTS Condicao_Social (
idCondicao_Social SERIAL PRIMARY KEY,
vulnerabilidade TEXT NOT NULL,
trabalho_carteira TEXT NOT NULL,
renda_mensal TEXT NOT NULL,
quantidade_filhos TEXT NOT NULL,
filhos_menores TEXT NOT NULL,
filhos_deficiencia TEXT NOT NULL,
unico_provedor TEXT NOT NULL,
preso_cpf TEXT NOT NULL,
CONSTRAINT fk_Condicao_Social_preso FOREIGN KEY (preso_cpf)
REFERENCES preso (cpf)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE IF NOT EXISTS preso__Formulario (
id TEXT NOT NULL,
Formulario_idFormulario INT NOT NULL,
preso_cpf TEXT NOT NULL,
data_preenchimento TEXT NOT NULL,
Servidor_idServidor INT NOT NULL,
desc_status TEXT NOT NULL,
PRIMARY KEY (id, Formulario_idFormulario, preso_cpf),
CONSTRAINT fk_preso_has_Formulario FOREIGN KEY (Formulario_idFormulario)
REFERENCES Formulario (idFormulario)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_preso_Formulario FOREIGN KEY (preso_cpf)
REFERENCES preso (cpf)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_preso_Servidor FOREIGN KEY (Servidor_idServidor)
REFERENCES Servidor (idServidor)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE IF NOT EXISTS Flagrante (
idFlagrante SERIAL PRIMARY KEY,
preso__Formulario_id TEXT NOT NULL,
preso__Formulario_Formulario_idFormulario INT NOT NULL,
preso__Formulario_preso_cpf TEXT NOT NULL,
data_entrevista TEXT NOT NULL,
local_prisao TEXT NOT NULL,
fianca TEXT NOT NULL,
valor_fianca TEXT NOT NULL,
primario_reincidente TEXT NOT NULL,
agressao_policial TEXT NOT NULL,
deseja_apuracao TEXT NOT NULL,
recebeu_alimentacao BOOLEAN NOT NULL,
descricao_agressao TEXT NOT NULL,
consideracoes TEXT NOT NULL,
sala_audiencia TEXT NOT NULL,
resultado_audiencia TEXT NOT NULL,
encaminhamento_psicossocial TEXT NOT NULL,
pagou_fianca BOOLEAN NOT NULL,
valor_pago TEXT NOT NULL,
CONSTRAINT fk_Flagrante_preso FOREIGN KEY (preso__Formulario_id, preso__Formulario_Formulario_idFormulario, preso__Formulario_preso_cpf)
REFERENCES preso__Formulario (id, Formulario_idFormulario, preso_cpf)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE IF NOT EXISTS Pensao_Alimenticia (
idPensao_Alimenticia SERIAL PRIMARY KEY,
preso__Formulario_id TEXT NOT NULL,
preso__Formulario_Formulario_idFormulario INT NOT NULL,
preso__Formulario_preso_cpf TEXT NOT NULL,
data_entrevista TEXT NOT NULL,
local_processo TEXT NOT NULL,
data_preso TEXT NOT NULL,
tempo_decisao TEXT NOT NULL,
tempo_prisao TEXT NOT NULL,
valor_divida TEXT NOT NULL,
classificado TEXT NOT NULL,
primeira_impressao TEXT NOT NULL,
vezes_preso TEXT NOT NULL,
possibilidade_acordo TEXT NOT NULL,
representacao_processual TEXT NOT NULL,
cela TEXT NOT NULL,
conduta_policial TEXT NOT NULL,
problema_alimentacao TEXT NOT NULL,
problema_higiene TEXT NOT NULL,
problema_atendimento_medico TEXT NOT NULL,
CONSTRAINT fk_Pensao_Alimenticia_preso FOREIGN KEY (preso__Formulario_id, preso__Formulario_Formulario_idFormulario, preso__Formulario_preso_cpf)
REFERENCES preso__Formulario (id, Formulario_idFormulario, preso_cpf)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE IF NOT EXISTS Presidio (
idPresidio SERIAL PRIMARY KEY,
unidade_prisional TEXT NOT NULL,
meses_preso TEXT NOT NULL,
primario_reincidente INT NOT NULL,
quantidade_presos INT NOT NULL,
estuda BOOLEAN NOT NULL,
acesso_livros BOOLEAN NOT NULL,
trabalha TEXT NOT NULL,
contato_mundo_externo TEXT NOT NULL,
assistencia_religiosa TEXT NOT NULL,
violencia_policial TEXT NOT NULL,
tipo_violencia TEXT NOT NULL,
banho_sol_semana TEXT NOT NULL,
banho_sol_fim_semana TEXT NOT NULL,
recebe_visita TEXT NOT NULL,
especificacao_visita TEXT NOT NULL,
problema_visita TEXT NOT NULL,
problema_higiene TEXT NOT NULL,
problema_alimentacao TEXT NOT NULL,
problema_agua TEXT NOT NULL,
problema_medico TEXT NOT NULL,
preso__Formulario_id TEXT NOT NULL,
preso__Formulario_Formulario_idFormulario INT NOT NULL,
preso__Formulario_preso_cpf TEXT NOT NULL,
CONSTRAINT fk_Presidio_preso FOREIGN KEY (preso__Formulario_id, preso__Formulario_Formulario_idFormulario, preso__Formulario_preso_cpf)
REFERENCES preso__Formulario (id, Formulario_idFormulario, preso_cpf)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE IF NOT EXISTS endereco (
cep INT PRIMARY KEY,
Estado TEXT,
cidade TEXT,
bairro TEXT,
numero TEXT,
preso_cpf TEXT NOT NULL,
CONSTRAINT fk_endereco_preso FOREIGN KEY (preso_cpf)
REFERENCES preso (cpf)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);