Buscar

sispg-residencia-bd-script-sql

Prévia do material em texto

-- Database generated with pgModeler (PostgreSQL Database Modeler).
-- pgModeler version: 0.9.1
-- PostgreSQL version: 10.0
-- Project Site: pgmodeler.io
-- Model Author: ---
 
-- object: residencia | type: ROLE --
-- DROP ROLE IF EXISTS residencia;
CREATE ROLE residencia WITH ;
-- ddl-end --
 
 
-- Database creation must be done outside a multicommand file.
-- These commands were put in this file only as a convenience.
-- -- object: posgraduacao | type: DATABASE --
-- -- DROP DATABASE IF EXISTS posgraduacao;
-- CREATE DATABASE posgraduacao;
-- -- ddl-end --
-- 
 
-- object: academico | type: SCHEMA --
-- DROP SCHEMA IF EXISTS academico CASCADE;
CREATE SCHEMA academico;
-- ddl-end --
ALTER SCHEMA academico OWNER TO residencia;
-- ddl-end --
 
-- object: residencia | type: SCHEMA --
-- DROP SCHEMA IF EXISTS residencia CASCADE;
CREATE SCHEMA residencia;
-- ddl-end --
ALTER SCHEMA residencia OWNER TO residencia;
-- ddl-end --
COMMENT ON SCHEMA residencia IS 'Banco de dados SISPG Residencia 
Multiprofissional';
-- ddl-end --
 
SET search_path TO pg_catalog,public,academico,residencia;
-- ddl-end --
 
-- object: residencia.domain_email | type: DOMAIN --
-- DROP DOMAIN IF EXISTS residencia.domain_email CASCADE;
CREATE DOMAIN residencia.domain_email AS varchar(100)
CONSTRAINT check_email CHECK (VALUE::text ~ '^\w+@[a-zA-Z_]+?\.[a-zA-
Z]'::text);
-- ddl-end --
ALTER DOMAIN residencia.domain_email OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.domain_cep | type: DOMAIN --
-- DROP DOMAIN IF EXISTS residencia.domain_cep CASCADE;
CREATE DOMAIN residencia.domain_cep AS char(9)
CONSTRAINT check_cep CHECK (VALUE::text ~ '[0-9]{5}-[0-9]{3}'::text);
-- ddl-end --
ALTER DOMAIN residencia.domain_cep OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.domain_telefone | type: DOMAIN --
-- DROP DOMAIN IF EXISTS residencia.domain_telefone CASCADE;
CREATE DOMAIN residencia.domain_telefone AS varchar(20);
-- ddl-end --
ALTER DOMAIN residencia.domain_telefone OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_tipo_area | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_tipo_area CASCADE;
CREATE SEQUENCE residencia.seq_tipo_area
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_tipo_area OWNER TO postgres;
-- ddl-end --
 
-- object: residencia.tipo_area | type: TABLE --
-- DROP TABLE IF EXISTS residencia.tipo_area;
CREATE TABLE residencia.tipo_area(
id integer NOT NULL DEFAULT nextval('residencia.seq_tipo_area'::regclass),
nome varchar(50) NOT NULL,
CONSTRAINT tipo_area_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.tipo_area IS 'Tabela de tipos de área.';
-- ddl-end --
COMMENT ON COLUMN residencia.tipo_area.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.tipo_area.nome IS 'Descrição do tipo de área.';
-- ddl-end --
ALTER TABLE residencia.tipo_area OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_area | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_area CASCADE;
CREATE SEQUENCE residencia.seq_area
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_area OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.area | type: TABLE --
-- DROP TABLE IF EXISTS residencia.area;
CREATE TABLE residencia.area(
id integer NOT NULL DEFAULT nextval('residencia.seq_area'::regclass),
id_tipo_area integer,
nome varchar(50) NOT NULL,
CONSTRAINT area_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.area IS 'Tabela de áreas.';
-- ddl-end --
COMMENT ON COLUMN residencia.area.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.area.nome IS 'Descrição da área.';
-- ddl-end --
ALTER TABLE residencia.area OWNER TO residencia;
-- ddl-end --
 
-- object: tipo_area_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.area DROP CONSTRAINT IF EXISTS tipo_area_fk CASCADE;
ALTER TABLE residencia.area ADD CONSTRAINT tipo_area_fk FOREIGN KEY (id_tipo_area)
REFERENCES residencia.tipo_area (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_residente | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_residente CASCADE;
CREATE SEQUENCE residencia.seq_residente
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_residente OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.residente | type: TABLE --
-- DROP TABLE IF EXISTS residencia.residente;
CREATE TABLE residencia.residente(
id integer NOT NULL DEFAULT nextval('residencia.seq_residente'::regclass),
id_pessoa_fisica integer,
tipo_ingresso varchar(30) NOT NULL,
id_programa_unidade integer,
registro_academico varchar(30) NOT NULL,
data_inicio date,
id_endereco_origem integer,
id_endereco_local integer,
data_desvinculo date,
tipo_desvinculo varchar(30),
motivo_desvinculo varchar(30),
observacao_desvinculo varchar(255),
profissao varchar(50),
data_primeiro_emprego date,
conselho_profissional_uf char(2),
id_conselho_profissional integer,
conselho_profissional_numero varchar(50),
data_ultima_atualizacao timestamptz,
id_pessoa_ultima_atualizacao integer,
CONSTRAINT residente_pk PRIMARY KEY (id),
CONSTRAINT un_aluno_registroacademico UNIQUE (registro_academico)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.residente IS 'Tabela com as informações dos 
residentes.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.tipo_ingresso IS 'Tipo de ingresso do 
residente no programa (PROCESSO_SELETIVO, TRANSFERENCIA, CONVENIO).';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.registro_academico IS 'Registro acadêmico 
do residente.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.data_inicio IS 'Data do início no curso.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.data_desvinculo IS 'Data do desvinculo no 
curso.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.tipo_desvinculo IS 'Tipo do desvinculo 
(Concluido, Cancelado, Desligado).';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.motivo_desvinculo IS 'Motivo do 
desvinculo.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.observacao_desvinculo IS 'Observação sobre 
o desvinculo.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.profissao IS 'Profissão do residente.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.data_primeiro_emprego IS 'Data do primeiro 
emprego do residente.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.conselho_profissional_uf IS 'UF do conselho 
profissional.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.conselho_profissional_numero IS 'Numero do 
registro do residente no conselho profissional.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.data_ultima_atualizacao IS 'Data da última 
atualização realizada no cadastro do residente.';
-- ddl-end --
COMMENT ON COLUMN residencia.residente.id_pessoa_ultima_atualizacao IS 
'Identificação da pessoa que realizou a ultima atualização no cadastro do 
residente.';
-- ddl-end --
ALTER TABLE residencia.residente OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_pessoa_residencia | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_pessoa_residencia CASCADE;
CREATE SEQUENCE residencia.seq_pessoa_residencia
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_pessoa_residencia OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.pessoa_fisica | type: TABLE --
-- DROP TABLE IF EXISTS residencia.pessoa_fisica CASCADE;
CREATE TABLE residencia.pessoa_fisica(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_pessoa_residencia'::regclass),
id_pessoa integer,
id_cadgeral integer NOT NULL,
cpf varchar(11),
sexo varchar(50)NOT NULL,
id_cidade_naturalidade integer,
data_nascimento date NOT NULL,
nome_pai varchar(100),
nome_mae varchar(100),
estado_civil varchar(50),
conjuge varchar(100),
numero_certificado_militar varchar(20),
serie_certificado_militar char(1),
categoria_certificado_militar char(1),
data_certificado_militar date,
numero_titulo_eleitor varchar(15),
zona_titulo_eleitor numeric(5),
secao_titulo_eleitor numeric(5),
estado_titulo_eleitor integer,
data_emissao_titulo_eleitor date,
nacionalidade integer,
cor varchar(25),
rg_numero varchar(30),
tipo_rg varchar(20),
id_estado_rg integer,
rg_data_emissao date,
rg_orgao_emisor varchar(30),
data_inicio_servico_militar date,
data_fim_servico_militar date,
passaporte varchar(30),
passaporte_tipo varchar(20),
pis varchar(15),
pis_nome varchar(70),
pis_data date,
carteira_trabalho_numero varchar(7),
carteira_trabalho_serie varchar(5),
data_emissao_carteira_trabalho date,
carteira_saude_numero varchar(30),
carteira_saude_data_emissao date,
carteira_saude_data_validade date,
carteira_saude_orgao varchar(40),
data_conclusao_escolaridade date,
numero_ni varchar(10),
tipo_sanguineo varchar(15),
login_adp varchar(20),
ano_primeiro_emprego integer,
data_admissao_servico_publico date,
doador boolean,
id_situacao_militar integer,
id_estado_carteira_trabalho integer,
id_cidade_titulo_eleitor integer,
id_estado_titulo_eleitor integer,
id_grau_escolaridade integer,
id_raca_cor integer,
data_falecimento date,
identificacao varchar(120),
id_lateralidade_motora integer,
nome_social varchar(100),
recebe_beneficio_aposentadoria boolean,
nome_social_abreviado varchar(30),
id_identidade_genero integer,
CONSTRAINT pessoa_fisica_pk PRIMARY KEY (id),
CONSTRAINT id_cadgeral_unq UNIQUE (id_cadgeral)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.pessoa_fisica IS '(public) Tabela de pessoa física. É 
uma especificação de pessoa.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.id_cadgeral IS 'Identificador no 
cadastro geral (cadgeral).';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.cpf IS 'Número do cpf.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.sexo IS 'Sexo.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_nascimento IS 'Data de 
nascimento.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.nome_pai IS 'Nome do pai.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.nome_mae IS 'Nome da mãe.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.estado_civil IS 'Estado civil. 
(S=Solteiro, C=Casado, U=União Civil Estável, V=Viúvo, P=Separado, D=Divorciado)';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.conjuge IS 'Nome do conjuge.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.numero_certificado_militar IS 'Número 
do certificado militar.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.serie_certificado_militar IS 'Série do 
certificado militar.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.categoria_certificado_militar IS 
'Categoria do certificado militar.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_certificado_militar IS 'Data do 
certificado militar.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.numero_titulo_eleitor IS 'Número do 
título de eleitor.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.zona_titulo_eleitor IS 'Zona do título 
de eleitor.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.secao_titulo_eleitor IS 'Seção do 
título de eleitor.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.estado_titulo_eleitor IS 'Estado do 
título de eleitor.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_emissao_titulo_eleitor IS 'Data de 
emissão do título de eleitor.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.cor IS 'Cor da pele.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.rg_numero IS 'Número do RG.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.tipo_rg IS 'Tipo do RG (NORMAL / 
ESTRANGEIRO / EXERCITO / MARINHA / AERONAUTICA / POLICIA_MILITAR / MODELO_19)';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.rg_data_emissao IS 'Data de emissão do 
RG.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.rg_orgao_emisor IS 'Órgão emissor do 
RG.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_inicio_servico_militar IS 'Data de 
início do serviço militar.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_fim_servico_militar IS 'Data de 
término do serviço militar.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.passaporte IS 'Número do passaporte.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.passaporte_tipo IS 'Tipo do passaporte 
(NORMAL).';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.pis IS 'Número do PIS.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.pis_nome IS 'Nome do PIS.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.pis_data IS 'Data de emissão do PIS.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.carteira_trabalho_numero IS 'Número da 
carteira de trabalho.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.carteira_trabalho_serie IS 'Série da 
carteira de trabalho.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_emissao_carteira_trabalho IS 'Data 
de emissão da carteira de trabalho.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.carteira_saude_numero IS 'Número da 
carteira de saúde.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.carteira_saude_data_emissao IS 'Data de 
emissão da carteira de saúde.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.carteira_saude_data_validade IS 'Data 
de validade da carteira de saúde.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.carteira_saude_orgao IS 'Órgão da 
carteira de saúde.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_conclusao_escolaridade IS 'Data de 
conclusão da escolaridade.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.numero_ni IS 'Número NI.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.tipo_sanguineo IS 'Tipo sanguíneo.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.login_adp IS 'Login ADP.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.ano_primeiro_emprego IS 'Ano do 
primeiro emprego.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_admissao_servico_publico IS 'Data 
de admissão no serviço público.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.doador IS 'Indicador se é doador.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.data_falecimento IS 'Data de 
falecimento.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.identificacao IS 'Identificação da 
Unesp.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.nome_social IS 'Nome social.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.recebe_beneficio_aposentadoria IS 
'Indicador se recebe aposentadoria.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa_fisica.nome_social_abreviado IS 'Nome social 
abreviado.';
-- ddl-end --
ALTER TABLE residencia.pessoa_fisica OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_participante_externo | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_participante_externo CASCADE;
CREATE SEQUENCE residencia.seq_participante_externo
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_participante_externo OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_programa_historico_nome | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_historico_nome CASCADE;
CREATE SEQUENCE residencia.seq_programa_historico_nome
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_historico_nome OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_historico_nome| type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_historico_nome;
CREATE TABLE residencia.programa_historico_nome(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_historico_nome'::regclass),
id_programa integer,
nome varchar(255) NOT NULL,
sigla varchar(10) NOT NULL,
regime_letivo varchar(50),
data_alteracao date NOT NULL,
CONSTRAINT programa_historico_nome_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_historico_nome IS 'Tabela com o histórico dos 
nomes dos programas.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_historico_nome.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_historico_nome.nome IS 'Nome do programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_historico_nome.sigla IS 'Sigla do programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_historico_nome.regime_letivo IS 'Regime 
letivo do programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_historico_nome.data_alteracao IS 'Data do 
ultimo dia de uso do nome no programa.';
-- ddl-end --
ALTER TABLE residencia.programa_historico_nome OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_programa_area | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_area CASCADE;
CREATE SEQUENCE residencia.seq_programa_area
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_area OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_area | type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_area;
CREATE TABLE residencia.programa_area(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_area'::regclass),
id_programa integer,
id_area integer,
id_programa_area integer,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT programa_area_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_area IS 'Tabela com as informações das áreas 
dos programas.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_area.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_area.data_inicio IS 'Data de início da área 
no programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_area.data_fim IS 'Data de término da área do 
programa.';
-- ddl-end --
ALTER TABLE residencia.programa_area OWNER TO residencia;
-- ddl-end --
 
-- object: area_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.programa_area DROP CONSTRAINT IF EXISTS area_fk CASCADE;
ALTER TABLE residencia.programa_area ADD CONSTRAINT area_fk FOREIGN KEY (id_area)
REFERENCES residencia.area (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: programa_area_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.programa_area DROP CONSTRAINT IF EXISTS programa_area_fk 
CASCADE;
ALTER TABLE residencia.programa_area ADD CONSTRAINT programa_area_fk FOREIGN KEY 
(id_programa_area)
REFERENCES residencia.programa_area (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: programa_area_uq | type: CONSTRAINT --
-- ALTER TABLE residencia.programa_area DROP CONSTRAINT IF EXISTS programa_area_uq 
CASCADE;
ALTER TABLE residencia.programa_area ADD CONSTRAINT programa_area_uq UNIQUE 
(id_programa_area);
-- ddl-end --
 
-- object: residencia.seq_programa_documentacao | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_documentacao CASCADE;
CREATE SEQUENCE residencia.seq_programa_documentacao
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_documentacao OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_documentacao | type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_documentacao;
CREATE TABLE residencia.programa_documentacao(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_documentacao'::regclass),
id_programa integer,
tipo varchar(50) NOT NULL,
descricao varchar(255) NOT NULL,
data date NOT NULL,
path_upload varchar(255),
CONSTRAINT programa_documentacao_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_documentacao IS 'Tabela de registro da 
documentação do programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_documentacao.id IS 'Identificador';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_documentacao.tipo IS 'Tipo de documento.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_documentacao.descricao IS 'Descrição do 
documento.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_documentacao.data IS 'Data do documento.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_documentacao.path_upload IS 'Caminho de 
acesso ao documento enviado (upload).';
-- ddl-end --
ALTER TABLE residencia.programa_documentacao OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_programa_participante | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_participante CASCADE;
CREATE SEQUENCE residencia.seq_programa_participante
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_participante OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_participante | type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_participante;
CREATE TABLE residencia.programa_participante(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_participante'::regclass),
id_programa integer,
id_tipo_participante integer,
id_pessoa_fisica integer,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT programa_participante_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_participante IS 'Tabela com os participantes 
do programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_participante.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_participante.data_inicio IS 'Data de inicio 
da participação no programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_participante.data_fim IS 'Data de término da 
participação no programa.';
-- ddl-end --
ALTER TABLE residencia.programa_participante OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_programa_unidade | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_unidade CASCADE;
CREATE SEQUENCE residencia.seq_programa_unidade
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_unidade OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_unidade | type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_unidade;
CREATE TABLE residencia.programa_unidade(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_unidade'::regclass),
id_unidade_universitaria integer,
id_programa integer,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT programa_unidade_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_unidade IS 'Tabela de registro das unidades 
responsáveis pelo programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_unidade.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_unidade.data_inicio IS 'Data de início da 
participação da unidade no programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_unidade.data_fim IS 'Data de término da 
participação da unidade no programa.';
-- ddl-end --
ALTER TABLE residencia.programa_unidade OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.unidade_universitaria | type: TABLE --
-- DROP TABLE IF EXISTS residencia.unidade_universitaria CASCADE;
CREATE TABLE residencia.unidade_universitaria(
id integer NOT NULL,
id_pessoa_juridica integer,
campus varchar(100),
portaria_didatica varchar(100),
id_diretoria integer,
id_dta integer,
id_secao_graduacao integer,servidor_email varchar(100),
email_sistema varchar(100),
email_prefixo varchar(100),
endereco_sistema varchar(100),
id_gac integer,
codigo_protocolo integer,
id_secao_pos_graduacao integer,
tipo_subquadro integer,
id_secao_recursos_humanos integer,
base_ldap varchar(20),
id_dtad integer,
codigo_entidade_audesp integer,
id_cidade integer,
codigo_folha varchar(5),
CONSTRAINT unidade_universitaria_pk PRIMARY KEY (id)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.unidade_universitaria IS '(public) Tabela de unidade 
universitária. É uma especificação de pessoa jurídica.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.campus IS 'Nome do campus da 
unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.portaria_didatica IS 'Portaria 
didática da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.id_diretoria IS 'Identificador 
da diretoria da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.id_dta IS 'Identificador da 
diretoria acadêmica da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.id_secao_graduacao IS 
'Identificador da seção de graduação da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.servidor_email IS 'Servidor de 
e-mail da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.email_sistema IS 'E-mail do 
sistema da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.email_prefixo IS 'Prefixo do e-
mail da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.endereco_sistema IS 'Endereço 
do sistema da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.id_gac IS 'Identificador do GAC 
da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.codigo_protocolo IS 'Código do 
protocolo da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.id_secao_pos_graduacao IS 
'Identificador da seção de pós-graduação da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.tipo_subquadro IS 'Tipo de 
subquadro da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.id_secao_recursos_humanos IS 
'Identificador da seção de recursos humanos da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.base_ldap IS 'Base LDAP.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.id_dtad IS 'Identificador da 
diretoria administrativa da unidade universitária.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.codigo_entidade_audesp IS 
'Código entidade audesp.';
-- ddl-end --
COMMENT ON COLUMN residencia.unidade_universitaria.codigo_folha IS 'Código da 
unidade universitária na folha de pagamento.';
-- ddl-end --
ALTER TABLE residencia.unidade_universitaria OWNER TO residencia;
-- ddl-end --
 
-- object: unidade_universitaria_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.programa_unidade DROP CONSTRAINT IF EXISTS 
unidade_universitaria_fk CASCADE;
ALTER TABLE residencia.programa_unidade ADD CONSTRAINT unidade_universitaria_fk 
FOREIGN KEY (id_unidade_universitaria)
REFERENCES residencia.unidade_universitaria (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_programa_conselho | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_conselho CASCADE;
CREATE SEQUENCE residencia.seq_programa_conselho
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_conselho OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_conselho | type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_conselho;
CREATE TABLE residencia.programa_conselho(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_conselho'::regclass),
id_programa integer,
data_inicio date NOT NULL,
data_fim date,
portaria varchar(255),
CONSTRAINT programa_conselho_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_conselho IS 'Tabela com as informações do 
conselho do programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho.data_inicio IS 'Data de início do 
conselho.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho.data_fim IS 'Data de término do 
conselho.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho.portaria IS 'Portaria de nomeação 
do conselho.';
-- ddl-end --
ALTER TABLE residencia.programa_conselho OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_programa_conselho_membro | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_conselho_membro CASCADE;
CREATE SEQUENCE residencia.seq_programa_conselho_membro
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_conselho_membro OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_conselho_membro | type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_conselho_membro;
CREATE TABLE residencia.programa_conselho_membro(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_conselho_membro'::regclass),
id_programa_conselho integer,
id_pessoa_fisica integer,
tipo varchar(50) NOT NULL,
id_programa_conselho_membro integer,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT programa_conselho_membro_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_conselho_membro IS 'Tabela com os membros do 
conselho.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho_membro.id IS 'Identificador';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho_membro.tipo IS 'Tipo do membro do 
conselho (representante docente, representante discente, etc).';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho_membro.data_inicio IS 'Data de 
início do mandato do membro no conselho.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho_membro.data_fim IS 'Data de término 
do mandato do membro no conselho.';
-- ddl-end --
ALTER TABLE residencia.programa_conselho_membro OWNER TO residencia;
-- ddl-end --
 
-- object: programa_conselho_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.programa_conselho_membro DROP CONSTRAINT IF EXISTS 
programa_conselho_fk CASCADE;
ALTER TABLE residencia.programa_conselho_membro ADD CONSTRAINT 
programa_conselho_fk FOREIGN KEY (id_programa_conselho)
REFERENCES residencia.programa_conselho (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: programa_conselho_membro_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.programa_conselho_membro DROP CONSTRAINT IF EXISTS 
programa_conselho_membro_fk CASCADE;
ALTER TABLE residencia.programa_conselho_membro ADD CONSTRAINT 
programa_conselho_membro_fk FOREIGN KEY (id_programa_conselho_membro)
REFERENCES residencia.programa_conselho_membro (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: programa_conselho_membro_uq | type: CONSTRAINT --
-- ALTER TABLE residencia.programa_conselho_membro DROP CONSTRAINT IF EXISTS 
programa_conselho_membro_uq CASCADE;
ALTER TABLE residencia.programa_conselho_membro ADD CONSTRAINT 
programa_conselho_membro_uq UNIQUE (id_programa_conselho_membro);
-- ddl-end --
 
-- object: residencia.seq_programa_conselho_coordenacao | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_conselho_coordenacao CASCADE;
CREATE SEQUENCE residencia.seq_programa_conselho_coordenacao
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_conselho_coordenacaoOWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_conselho_coordenacao | type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_conselho_coordenacao;
CREATE TABLE residencia.programa_conselho_coordenacao(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_conselho_coordenacao'::regclass),
id_programa_conselho_membro integer,
funcao varchar(50) NOT NULL,
data_inicio date NOT NULL,
data_fim date NOT NULL,
CONSTRAINT programa_conselho_coordenacao_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_conselho_coordenacao IS 'Tabela de registro 
dos coordenadores e vice-coordenadores dos conselhos.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho_coordenacao.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho_coordenacao.funcao IS 'Descrição da 
função na coordenação do conselho (coordenador / vice-coordenador).';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho_coordenacao.data_inicio IS 'Data de 
início da função no conselho.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_conselho_coordenacao.data_fim IS 'Data de 
término da função no conselho.';
-- ddl-end --
ALTER TABLE residencia.programa_conselho_coordenacao OWNER TO residencia;
-- ddl-end --
 
-- object: programa_conselho_membro_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.programa_conselho_coordenacao DROP CONSTRAINT IF EXISTS 
programa_conselho_membro_fk CASCADE;
ALTER TABLE residencia.programa_conselho_coordenacao ADD CONSTRAINT 
programa_conselho_membro_fk FOREIGN KEY (id_programa_conselho_membro)
REFERENCES residencia.programa_conselho_membro (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_programa_regulamento | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_programa_regulamento CASCADE;
CREATE SEQUENCE residencia.seq_programa_regulamento
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_programa_regulamento OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.programa_regulamento | type: TABLE --
-- DROP TABLE IF EXISTS residencia.programa_regulamento;
CREATE TABLE residencia.programa_regulamento(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_programa_regulamento'::regclass),
id_programa integer,
descricao_documento varchar(255) NOT NULL,
data_inicio date NOT NULL,
data_fim date,
path_upload varchar(255),
carga_horaria_total integer NOT NULL,
porcentagem_ch_teorica integer NOT NULL,
porcentagem_ch_pratica integer NOT NULL,
prazo_dias_conclusao_residencia integer NOT NULL,
CONSTRAINT programa_regulamento_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.programa_regulamento IS 'Tabela com as informações do 
regulamento dos programas.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.descricao_documento IS 
'Descrição do documento de aprovação do regulamento.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.data_inicio IS 'Data de início 
da validade do regulamento.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.data_fim IS 'Data de término da 
validade do regulamento.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.path_upload IS 'Caminho para o 
documento (upload).';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.carga_horaria_total IS 'Carga 
horária total do programa.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.porcentagem_ch_teorica IS 
'Porcentagem de carga horária teórica.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.porcentagem_ch_pratica IS 
'Porcentagem de carga horária prática.';
-- ddl-end --
COMMENT ON COLUMN residencia.programa_regulamento.prazo_dias_conclusao_residencia 
IS 'Prazo de conclusão da residência em dias.';
-- ddl-end --
ALTER TABLE residencia.programa_regulamento OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_conta_bancaria | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_conta_bancaria CASCADE;
CREATE SEQUENCE residencia.seq_conta_bancaria
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_conta_bancaria OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.conta_bancaria | type: TABLE --
-- DROP TABLE IF EXISTS residencia.conta_bancaria;
CREATE TABLE residencia.conta_bancaria(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_conta_bancaria'::regclass),
id_programa integer,
titular_conta varchar(100) NOT NULL,
id_banco integer,
agencia varchar(10) NOT NULL,
conta varchar(20) NOT NULL,
CONSTRAINT conta_bancaria_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.conta_bancaria IS 'Tabela com as contas bancárias dos 
programas.';
-- ddl-end --
COMMENT ON COLUMN residencia.conta_bancaria.id IS 'Identificação';
-- ddl-end --
COMMENT ON COLUMN residencia.conta_bancaria.titular_conta IS 'Descrição do titular 
da conta bancária.';
-- ddl-end --
COMMENT ON COLUMN residencia.conta_bancaria.agencia IS 'Número da agência 
bancária.';
-- ddl-end --
COMMENT ON COLUMN residencia.conta_bancaria.conta IS 'Número da conta bancária 
(incluindo dígito verificador)';
-- ddl-end --
ALTER TABLE residencia.conta_bancaria OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.banco | type: TABLE --
-- DROP TABLE IF EXISTS residencia.banco;
CREATE TABLE residencia.banco(
id integer NOT NULL,
nome varchar(50) NOT NULL,
codigo varchar(5) NOT NULL,
CONSTRAINT banco_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.banco IS '(public) Tabela com os códigos e nomes de 
bancos.';
-- ddl-end --
COMMENT ON COLUMN residencia.banco.id IS 'Identificação (código FEBRABAN).';
-- ddl-end --
COMMENT ON COLUMN residencia.banco.nome IS 'Nome do banco.';
-- ddl-end --
COMMENT ON COLUMN residencia.banco.codigo IS 'Codigo do banco.';
-- ddl-end --
ALTER TABLE residencia.banco OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_processo_seletivo_documento | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_processo_seletivo_documento CASCADE;
CREATE SEQUENCE residencia.seq_processo_seletivo_documento
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_processo_seletivo_documento OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.processo_seletivo_documento | type: TABLE --
-- DROP TABLE IF EXISTS residencia.processo_seletivo_documento;
CREATE TABLE residencia.processo_seletivo_documento(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_processo_seletivo_documento'::regclass),
nome varchar(100) NOT NULL,
id_unidade_universitaria integer,
CONSTRAINT processo_seletivo_documento_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.processo_seletivo_documento IS 'Tabela com os 
documentos que podem ser solicitados nos processos seletivos de cada unidade.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_documento.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_documento.nome IS 'Nome do 
documento.';
-- ddl-end --
ALTER TABLE residencia.processo_seletivo_documento OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_processo_seletivo | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_processo_seletivo CASCADE;
CREATE SEQUENCE residencia.seq_processo_seletivo
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_processo_seletivo OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.processo_seletivo | type: TABLE --
-- DROP TABLE IF EXISTS residencia.processo_seletivo;
CREATETABLE residencia.processo_seletivo(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_processo_seletivo'::regclass),
nome varchar(100) NOT NULL,
data_inicio_inscricao timestamptz NOT NULL,
data_fim_inscricao timestamptz NOT NULL,
curriculo_lattes_obrigatorio boolean NOT NULL DEFAULT false,
valor_taxa_inscricao numeric(10,2) NOT NULL DEFAULT 0,
habilitar_upload_documentos boolean NOT NULL DEFAULT false,
path_edital varchar(255),
CONSTRAINT processo_seletivo_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.processo_seletivo IS 'Tabela com o registro dos 
processos seletivos.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo.nome IS 'Nome do processo 
seletivo.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo.data_inicio_inscricao IS 'Data e 
horário do início da inscrição no processo seletivo.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo.data_fim_inscricao IS 'Data e 
horário do término da inscrição no processo seletivo.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo.curriculo_lattes_obrigatorio IS 
'Indicador se o currículo lates é obrigatório para o processo seletivo.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo.valor_taxa_inscricao IS 'Valor da 
taxa de inscrição.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo.habilitar_upload_documentos IS 
'Indicador se haverá upload de documentos.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo.path_edital IS 'Caminho para o 
edital do processo seletivo.';
-- ddl-end --
ALTER TABLE residencia.processo_seletivo OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.pais | type: TABLE --
-- DROP TABLE IF EXISTS residencia.pais CASCADE;
CREATE TABLE residencia.pais(
id integer NOT NULL,
nome varchar(255) NOT NULL,
sigla char(5),
feminino varchar(50),
masculino varchar(50),
codigo char(3),
artigo char(3),
codigo_folha varchar(2),
codigo_esocial varchar(3),
CONSTRAINT pais_pk PRIMARY KEY (id)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.pais IS '(public) Tabela de paises. Populada 
automaticament';
-- ddl-end --
COMMENT ON COLUMN residencia.pais.nome IS 'Nome do país.';
-- ddl-end --
COMMENT ON COLUMN residencia.pais.sigla IS 'Sigla do país.';
-- ddl-end --
COMMENT ON COLUMN residencia.pais.feminino IS 'Denominação para sexo feminino.';
-- ddl-end --
COMMENT ON COLUMN residencia.pais.masculino IS 'Denominação para sexo masculino.';
-- ddl-end --
COMMENT ON COLUMN residencia.pais.codigo IS 'Código do país.';
-- ddl-end --
COMMENT ON COLUMN residencia.pais.artigo IS 'Artigo.';
-- ddl-end --
COMMENT ON COLUMN residencia.pais.codigo_folha IS 'Código da folha de pagamento.';
-- ddl-end --
COMMENT ON COLUMN residencia.pais.codigo_esocial IS 'Código do e-social.';
-- ddl-end --
ALTER TABLE residencia.pais OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.cidade | type: TABLE --
-- DROP TABLE IF EXISTS residencia.cidade CASCADE;
CREATE TABLE residencia.cidade(
id integer NOT NULL,
nome varchar(100) NOT NULL,
id_estado integer NOT NULL,
id_pais integer,
codigo_inep integer,
cep_inicial integer,
cep_final integer,
codigo_dpme integer,
codigo_audesp varchar(100),
CONSTRAINT cidade_pk PRIMARY KEY (id)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.cidade IS '(public) Tabela de cidades. Populada 
automaticamente as cidades do Brasil';
-- ddl-end --
COMMENT ON COLUMN residencia.cidade.nome IS 'Nome da cidade.';
-- ddl-end --
COMMENT ON COLUMN residencia.cidade.codigo_inep IS 'Código inep.';
-- ddl-end --
COMMENT ON COLUMN residencia.cidade.cep_inicial IS 'CEP inicial.';
-- ddl-end --
COMMENT ON COLUMN residencia.cidade.cep_final IS 'CEP final.';
-- ddl-end --
COMMENT ON COLUMN residencia.cidade.codigo_dpme IS 'Código dpme.';
-- ddl-end --
COMMENT ON COLUMN residencia.cidade.codigo_audesp IS 'Código audesp.';
-- ddl-end --
ALTER TABLE residencia.cidade OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.estado | type: TABLE --
-- DROP TABLE IF EXISTS residencia.estado CASCADE;
CREATE TABLE residencia.estado(
id integer NOT NULL,
nome varchar(255),
id_pais integer NOT NULL,
sigla char(5) NOT NULL,
codigo_inep integer,
artigo char(3),
ativo boolean,
CONSTRAINT estado_pk PRIMARY KEY (id)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.estado IS '(public) Tabela de estados do brasil. 
Populada automaticament';
-- ddl-end --
COMMENT ON COLUMN residencia.estado.nome IS 'Nome do estado.';
-- ddl-end --
COMMENT ON COLUMN residencia.estado.sigla IS 'Sigla do estado.';
-- ddl-end --
COMMENT ON COLUMN residencia.estado.codigo_inep IS 'Codigo do inep.';
-- ddl-end --
COMMENT ON COLUMN residencia.estado.artigo IS 'Artigo.';
-- ddl-end --
COMMENT ON COLUMN residencia.estado.ativo IS 'Indicador se o estado está ativo.';
-- ddl-end --
ALTER TABLE residencia.estado OWNER TO residencia;
-- ddl-end --
 
-- object: pais_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.estado DROP CONSTRAINT IF EXISTS pais_fk CASCADE;
ALTER TABLE residencia.estado ADD CONSTRAINT pais_fk FOREIGN KEY (id_pais)
REFERENCES residencia.pais (id) MATCH FULL
ON DELETE RESTRICT ON UPDATE CASCADE;
-- ddl-end --
 
-- object: estado_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.cidade DROP CONSTRAINT IF EXISTS estado_fk CASCADE;
ALTER TABLE residencia.cidade ADD CONSTRAINT estado_fk FOREIGN KEY (id_estado)
REFERENCES residencia.estado (id) MATCH FULL
ON DELETE RESTRICT ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.raca_cor | type: TABLE --
-- DROP TABLE IF EXISTS residencia.raca_cor CASCADE;
CREATE TABLE residencia.raca_cor(
id integer NOT NULL,
descricao varchar(30) NOT NULL,
ativo boolean NOT NULL,
codigo_esocial integer,
CONSTRAINT raca_cor_pk PRIMARY KEY (id)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.raca_cor IS '(public) Tabela com as raças e cores 
possíveis.';
-- ddl-end --
COMMENT ON COLUMN residencia.raca_cor.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.raca_cor.descricao IS 'Descrição da raça/cor. (PRETA, 
PARDA, BRANCA, INDÍGENA, AMARELA, NÃO INFORMADA)';
-- ddl-end --
COMMENT ON COLUMN residencia.raca_cor.ativo IS 'Indicador se raça/cor está ativa 
ou não.';
-- ddl-end --
COMMENT ON COLUMN residencia.raca_cor.codigo_esocial IS 'Código no e-social.';
-- ddl-end --
ALTER TABLE residencia.raca_cor OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_deficiencia | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_deficiencia CASCADE;
CREATE SEQUENCE residencia.seq_deficiencia
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_deficiencia OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.deficiencia | type: TABLE --
-- DROP TABLE IF EXISTS residencia.deficiencia;
CREATE TABLE residencia.deficiencia(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_deficiencia'::regclass),
descricao varchar(255) NOT NULL,
tipo varchar(20),
CONSTRAINT codigo_necessidade_especial_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.deficiencia IS 'Tabela com as deficiências possíveis.';
-- ddl-end --
COMMENT ON COLUMN residencia.deficiencia.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.deficiencia.descricao IS 'Descrição da deficiência.';
-- ddl-end --
COMMENT ON COLUMN residencia.deficiencia.tipo IS 'Tipo de deficiência (auditiva, 
visual ou física).';
-- ddl-end --
ALTER TABLE residencia.deficiencia OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_contato | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_contato CASCADE;
CREATE SEQUENCE residencia.seq_contato
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_contato OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.formacao_academica | type: TABLE --
-- DROP TABLE IF EXISTSresidencia.formacao_academica CASCADE;
CREATE TABLE residencia.formacao_academica(
id integer NOT NULL,
id_instituicao integer NOT NULL,
id_pessoa_fisica integer,
nome_curso varchar(200) NOT NULL,
id_cidade integer,
titulacao varchar(200),
data_inicio date,
data_conclusao date,
nivel_formacao varchar(50),
CONSTRAINT codigo_formacao_pk PRIMARY KEY (id)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.formacao_academica IS 'Tabela de formação acadêmica.';
-- ddl-end --
COMMENT ON COLUMN residencia.formacao_academica.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.formacao_academica.nome_curso IS 'Nome do curso.';
-- ddl-end --
COMMENT ON COLUMN residencia.formacao_academica.titulacao IS 'Titulação obtida.';
-- ddl-end --
COMMENT ON COLUMN residencia.formacao_academica.data_inicio IS 'Data de inicio do 
curso.';
-- ddl-end --
COMMENT ON COLUMN residencia.formacao_academica.data_conclusao IS 'Data de 
conclusão do curso.';
-- ddl-end --
COMMENT ON COLUMN residencia.formacao_academica.nivel_formacao IS 'Nivel da 
formação (ensino fundamental, ensino médio, ensino superior, pós-graduação, 
mestrado, doutorado, pós-doutorado, graduacao, especializacao, livre_docencia, 
outros).';
-- ddl-end --
ALTER TABLE residencia.formacao_academica OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_instituicao | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_instituicao CASCADE;
CREATE SEQUENCE residencia.seq_instituicao
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_instituicao OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.instituicao | type: TABLE --
-- DROP TABLE IF EXISTS residencia.instituicao;
CREATE TABLE residencia.instituicao(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_instituicao'::regclass),
id_pessoa_juridica integer,
nome varchar(255) NOT NULL,
sigla varchar(30),
tipo varchar(50),
CONSTRAINT instituicao_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.instituicao IS 'Tabela com as informações das 
instituições.';
-- ddl-end --
COMMENT ON COLUMN residencia.instituicao.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.instituicao.nome IS 'Nome da instituição.';
-- ddl-end --
COMMENT ON COLUMN residencia.instituicao.sigla IS 'Sigla da instituição.';
-- ddl-end --
COMMENT ON COLUMN residencia.instituicao.tipo IS 'Tipo da instituição (faculdade/
empresa/hospital/etc).';
-- ddl-end --
ALTER TABLE residencia.instituicao OWNER TO residencia;
-- ddl-end --
 
-- object: instituicao_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.formacao_academica DROP CONSTRAINT IF EXISTS 
instituicao_fk CASCADE;
ALTER TABLE residencia.formacao_academica ADD CONSTRAINT instituicao_fk FOREIGN 
KEY (id_instituicao)
REFERENCES residencia.instituicao (id) MATCH FULL
ON DELETE RESTRICT ON UPDATE CASCADE;
-- ddl-end --
 
-- object: cidade_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.formacao_academica DROP CONSTRAINT IF EXISTS cidade_fk 
CASCADE;
ALTER TABLE residencia.formacao_academica ADD CONSTRAINT cidade_fk FOREIGN KEY 
(id_cidade)
REFERENCES residencia.cidade (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_processo_seletivo_atuacao_profissional | type: SEQUENCE 
--
-- DROP SEQUENCE IF EXISTS residencia.seq_processo_seletivo_atuacao_profissional 
CASCADE;
CREATE SEQUENCE residencia.seq_processo_seletivo_atuacao_profissional
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_processo_seletivo_atuacao_profissional OWNER TO 
residencia;
-- ddl-end --
 
-- object: residencia.processo_seletivo_atuacao_profissional | type: TABLE --
-- DROP TABLE IF EXISTS residencia.processo_seletivo_atuacao_profissional;
CREATE TABLE residencia.processo_seletivo_atuacao_profissional(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_processo_seletivo_atuacao_profissional'::regclass),
id_processo_seletivo_candidato integer,
nome_empresa varchar(255) NOT NULL,
descricao text,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT atuacao_profissional_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.processo_seletivo_atuacao_profissional IS 'Tabela com 
as atuações profissionais dos candidatos inscritos nos processos seletivos.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_atuacao_profissional.id IS 
'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_atuacao_profissional.nome_empresa IS 
'Nome da empresa em que o candidato atuou ou atua.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_atuacao_profissional.descricao IS 
'descricao da atuação profissional do candidato.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_atuacao_profissional.data_inicio IS 
'Data de início da atuação profissional do candidato.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_atuacao_profissional.data_fim IS 
'Data de término da atuação profissional do candidato.';
-- ddl-end --
ALTER TABLE residencia.processo_seletivo_atuacao_profissional OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_processo_seletivo_status | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_processo_seletivo_status CASCADE;
CREATE SEQUENCE residencia.seq_processo_seletivo_status
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_processo_seletivo_status OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.processo_seletivo_status | type: TABLE --
-- DROP TABLE IF EXISTS residencia.processo_seletivo_status;
CREATE TABLE residencia.processo_seletivo_status(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_processo_seletivo_status'::regclass),
descricao varchar(50) NOT NULL,
CONSTRAINT codigo_processo_seletivo_status_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.processo_seletivo_status IS 'Tabela de registro dos 
status possíveis dos candidatos nos processos seletivos.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_status.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_status.descricao IS 'Descrição do 
status da inscrição do candidato no processo seletivo.';
-- ddl-end --
ALTER TABLE residencia.processo_seletivo_status OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_processo_seletivo_inscricao_status | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_processo_seletivo_inscricao_status 
CASCADE;
CREATE SEQUENCE residencia.seq_processo_seletivo_inscricao_status
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_processo_seletivo_inscricao_status OWNER TO 
residencia;
-- ddl-end --
 
-- object: residencia.processo_seletivo_inscricao_status | type: TABLE --
-- DROP TABLE IF EXISTS residencia.processo_seletivo_inscricao_status;
CREATE TABLE residencia.processo_seletivo_inscricao_status(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_processo_seletivo_inscricao_status'::regclass),
id_processo_seletivo_area_candidato integer,
id_processo_seletivo_status integer,
data_mudanca_status date NOT NULL,
observacao_status varchar(255),
CONSTRAINT processo_seletivo_status_inscricao_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.processo_seletivo_inscricao_status IS 'Tabela com os 
status das inscrições dos candidatos nos processos seletivos.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_inscricao_status.id IS 
'Identificador.';
-- ddl-end --
COMMENT ON COLUMN 
residencia.processo_seletivo_inscricao_status.data_mudanca_status IS 'Data da 
mudança de status da inscrição do candidato.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_inscricao_status.observacao_statusIS 'Observacao sobre o status da inscrição do candidato.';
-- ddl-end --
ALTER TABLE residencia.processo_seletivo_inscricao_status OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_processo_seletivo_candidato_avaliacao | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_processo_seletivo_candidato_avaliacao 
CASCADE;
CREATE SEQUENCE residencia.seq_processo_seletivo_candidato_avaliacao
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_processo_seletivo_candidato_avaliacao OWNER TO 
residencia;
-- ddl-end --
 
-- object: residencia.processo_seletivo_candidato_avaliacao | type: TABLE --
-- DROP TABLE IF EXISTS residencia.processo_seletivo_candidato_avaliacao;
CREATE TABLE residencia.processo_seletivo_candidato_avaliacao(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_processo_seletivo_candidato_avaliacao'::regclass),
id_processo_seletivo_area_candidato integer,
id_processo_seletivo_avaliacao integer NOT NULL,
ordem_classificacao integer,
nota numeric(5,2),
observacao varchar(255),
CONSTRAINT processo_seletivo_candidato_avaliacao_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.processo_seletivo_candidato_avaliacao IS 'Tabela com o 
registro das notas das avaliações dos candidatos inscritos nos processos 
seletivos.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_candidato_avaliacao.id IS 
'Identificador.';
-- ddl-end --
COMMENT ON COLUMN 
residencia.processo_seletivo_candidato_avaliacao.ordem_classificacao IS 'Ordem de 
classificação do candidato no processo seletivo.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_candidato_avaliacao.nota IS 'Nota 
do candidato no processo seletivo.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_candidato_avaliacao.observacao IS 
'Observação sobre a avaliação do candidato no processo seletivo.';
-- ddl-end --
ALTER TABLE residencia.processo_seletivo_candidato_avaliacao OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_processo_seletivo_avaliacao | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_processo_seletivo_avaliacao CASCADE;
CREATE SEQUENCE residencia.seq_processo_seletivo_avaliacao
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_processo_seletivo_avaliacao OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.processo_seletivo_avaliacao | type: TABLE --
-- DROP TABLE IF EXISTS residencia.processo_seletivo_avaliacao;
CREATE TABLE residencia.processo_seletivo_avaliacao(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_processo_seletivo_avaliacao'::regclass),
id_processo_seletivo_area integer,
nome_avaliacao varchar(100) NOT NULL,
nota_corte numeric(5,2) NOT NULL DEFAULT 0,
observacao varchar(255),
CONSTRAINT processo_seletivo_avaliacao_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.processo_seletivo_avaliacao IS 'Tabela com as 
avaliações dos processos seletivos.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_avaliacao.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_avaliacao.nome_avaliacao IS 'Nome 
da avaliação no processo seletivo.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_avaliacao.nota_corte IS 'Nota de 
corte da avaliação no processo seletivo.';
-- ddl-end --
COMMENT ON COLUMN residencia.processo_seletivo_avaliacao.observacao IS 'Observação 
sobre a avaliação no processo seletivo.';
-- ddl-end --
ALTER TABLE residencia.processo_seletivo_avaliacao OWNER TO residencia;
-- ddl-end --
 
-- object: processo_seletivo_avaliacao_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.processo_seletivo_candidato_avaliacao DROP CONSTRAINT IF 
EXISTS processo_seletivo_avaliacao_fk CASCADE;
ALTER TABLE residencia.processo_seletivo_candidato_avaliacao ADD CONSTRAINT 
processo_seletivo_avaliacao_fk FOREIGN KEY (id_processo_seletivo_avaliacao)
REFERENCES residencia.processo_seletivo_avaliacao (id) MATCH FULL
ON DELETE RESTRICT ON UPDATE CASCADE;
-- ddl-end --
 
-- object: processo_seletivo_candidato_avaliacao_uq | type: CONSTRAINT --
-- ALTER TABLE residencia.processo_seletivo_candidato_avaliacao DROP CONSTRAINT IF 
EXISTS processo_seletivo_candidato_avaliacao_uq CASCADE;
ALTER TABLE residencia.processo_seletivo_candidato_avaliacao ADD CONSTRAINT 
processo_seletivo_candidato_avaliacao_uq UNIQUE (id_processo_seletivo_avaliacao);
-- ddl-end --
 
-- object: residencia.seq_pessoa | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_pessoa CASCADE;
CREATE SEQUENCE residencia.seq_pessoa
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_pessoa OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.pessoa | type: TABLE --
-- DROP TABLE IF EXISTS residencia.pessoa CASCADE;
CREATE TABLE residencia.pessoa(
id integer NOT NULL DEFAULT nextval('residencia.seq_pessoa'::regclass),
nome varchar(100),
abreviacao varchar(30) NOT NULL,
email varchar(100),
id_foto integer,
mca integer,
CONSTRAINT pessoa_pk PRIMARY KEY (id),
CONSTRAINT un_pessoa_email UNIQUE (email)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.pessoa IS 'Tabela genérica de pessoa (public).';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa.id IS 'Identificador';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa.nome IS 'Nome da pessoa.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa.abreviacao IS 'Abreviacao do nome da pessoa.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa.email IS 'Email de contato da pessoa.';
-- ddl-end --
COMMENT ON COLUMN residencia.pessoa.mca IS 'Código mca.';
-- ddl-end --
ALTER TABLE residencia.pessoa OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_ocorrencia | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_ocorrencia CASCADE;
CREATE SEQUENCE residencia.seq_ocorrencia
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_ocorrencia OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.ocorrencia | type: TABLE --
-- DROP TABLE IF EXISTS residencia.ocorrencia;
CREATE TABLE residencia.ocorrencia(
id integer NOT NULL DEFAULT nextval('residencia.seq_ocorrencia'::regclass),
id_residente integer,
id_tipo_ocorrencia integer,
data_inicio date NOT NULL,
data_fim date,
num_dias_prorrogacao integer,
data_solicitacao date,
data_aprovacao date,
justificativa varchar(255),
CONSTRAINT ocorrencia_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.ocorrencia IS 'Tabela com as ocorrências dos 
residentes.';
-- ddl-end --
COMMENT ON COLUMN residencia.ocorrencia.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.ocorrencia.data_inicio IS 'Data de início da 
ocorrência.';
-- ddl-end --
COMMENT ON COLUMN residencia.ocorrencia.data_fim IS 'Data de término da 
ocorrência.';
-- ddl-end --
COMMENT ON COLUMN residencia.ocorrencia.num_dias_prorrogacao IS 'Número de dias de 
prorrogação de prazo (se houver).';
-- ddl-end --
COMMENT ON COLUMN residencia.ocorrencia.data_solicitacao IS 'Data da solicitação 
da ocorrência.';
-- ddl-end --
COMMENT ON COLUMN residencia.ocorrencia.data_aprovacao IS 'Data da aprovação da 
solicitação da ocorrência.';
-- ddl-end --
COMMENT ON COLUMN residencia.ocorrencia.justificativa IS 'Justificativa/motivo do 
registro da ocorrência.';
-- ddl-end --
ALTER TABLE residencia.ocorrencia OWNER TO residencia;
-- ddl-end --
 
-- object: residente_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.ocorrencia DROP CONSTRAINT IF EXISTS residente_fk 
CASCADE;
ALTER TABLE residencia.ocorrencia ADD CONSTRAINT residente_fk FOREIGN KEY 
(id_residente)
REFERENCES residencia.residente (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_arquivo | type:SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_arquivo CASCADE;
CREATE SEQUENCE residencia.seq_arquivo
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_arquivo OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.arquivo | type: TABLE --
-- DROP TABLE IF EXISTS residencia.arquivo CASCADE;
CREATE TABLE residencia.arquivo(
id integer NOT NULL DEFAULT nextval('residencia.seq_arquivo'::regclass),
id_unidade_universitaria integer,
nome varchar(255),
caminho varchar(255),
mime_type varchar(100),
tamanho integer,
md5sum character(32),
data_expiracao timestamp,
apagado boolean,
CONSTRAINT arquivo_pk PRIMARY KEY (id)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.arquivo IS '(public) Tabela com os arquivos 
armazenados no sistema.';
-- ddl-end --
COMMENT ON COLUMN residencia.arquivo.id IS 'Indentificação de uso interno do 
sistema';
-- ddl-end --
COMMENT ON COLUMN residencia.arquivo.nome IS 'Nome do arquivo original';
-- ddl-end --
COMMENT ON COLUMN residencia.arquivo.caminho IS 'Caminho relativo (diretório + 
nome do arquivo) onde o arquivo está armazenado no servidor';
-- ddl-end --
COMMENT ON COLUMN residencia.arquivo.mime_type IS 'MIME do conteúdo do arquivo 
conforme indicado pelo navegador de quem o enviou';
-- ddl-end --
COMMENT ON COLUMN residencia.arquivo.tamanho IS 'Tamanho do arquivo em bytes';
-- ddl-end --
COMMENT ON COLUMN residencia.arquivo.md5sum IS 'Hash MD5 do arquivo';
-- ddl-end --
COMMENT ON COLUMN residencia.arquivo.data_expiracao IS 'Data de expiração do 
arquivo';
-- ddl-end --
COMMENT ON COLUMN residencia.arquivo.apagado IS 'Indica se o arquivo físico já foi 
apagado ou não';
-- ddl-end --
ALTER TABLE residencia.arquivo OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_orientacao | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_orientacao CASCADE;
CREATE SEQUENCE residencia.seq_orientacao
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_orientacao OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.orientacao | type: TABLE --
-- DROP TABLE IF EXISTS residencia.orientacao;
CREATE TABLE residencia.orientacao(
id integer NOT NULL DEFAULT nextval('residencia.seq_orientacao'::regclass),
id_residente integer,
id_programa_participante integer,
id_tipo_participante integer,
situacao varchar(30) NOT NULL,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT orientacao_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.orientacao IS 'Tabela com os dados de orientação dos 
residentes.';
-- ddl-end --
COMMENT ON COLUMN residencia.orientacao.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.orientacao.situacao IS 'Situação da orientação (em 
andamento/concluído/cancelado/transferido).';
-- ddl-end --
COMMENT ON COLUMN residencia.orientacao.data_inicio IS 'Data de início da 
orientação.';
-- ddl-end --
COMMENT ON COLUMN residencia.orientacao.data_fim IS 'Data de término da 
orientação.';
-- ddl-end --
ALTER TABLE residencia.orientacao OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_tipo_participante | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_tipo_participante CASCADE;
CREATE SEQUENCE residencia.seq_tipo_participante
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_tipo_participante OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.tipo_participante | type: TABLE --
-- DROP TABLE IF EXISTS residencia.tipo_participante CASCADE;
CREATE TABLE residencia.tipo_participante(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_tipo_participante'::regclass),
nome varchar(50) NOT NULL,
CONSTRAINT tipo_participante_pk PRIMARY KEY (id)
 
);
-- ddl-end --
COMMENT ON TABLE residencia.tipo_participante IS 'Tabela de tipos de participantes 
(docente, tutor, orientador, coorientador, preceptor).';
-- ddl-end --
COMMENT ON COLUMN residencia.tipo_participante.nome IS 'Nome do tipo de 
participantes (docente, tutor, orientador, co-orientador, preceptor).';
-- ddl-end --
ALTER TABLE residencia.tipo_participante OWNER TO residencia;
-- ddl-end --
 
-- object: tipo_participante_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.orientacao DROP CONSTRAINT IF EXISTS 
tipo_participante_fk CASCADE;
ALTER TABLE residencia.orientacao ADD CONSTRAINT tipo_participante_fk FOREIGN KEY 
(id_tipo_participante)
REFERENCES residencia.tipo_participante (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residente_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.orientacao DROP CONSTRAINT IF EXISTS residente_fk 
CASCADE;
ALTER TABLE residencia.orientacao ADD CONSTRAINT residente_fk FOREIGN KEY 
(id_residente)
REFERENCES residencia.residente (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: programa_participante_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.orientacao DROP CONSTRAINT IF EXISTS 
programa_participante_fk CASCADE;
ALTER TABLE residencia.orientacao ADD CONSTRAINT programa_participante_fk FOREIGN 
KEY (id_programa_participante)
REFERENCES residencia.programa_participante (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_tipo_ocorrencia | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_tipo_ocorrencia CASCADE;
CREATE SEQUENCE residencia.seq_tipo_ocorrencia
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_tipo_ocorrencia OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.tipo_ocorrencia | type: TABLE --
-- DROP TABLE IF EXISTS residencia.tipo_ocorrencia;
CREATE TABLE residencia.tipo_ocorrencia(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_tipo_ocorrencia'::regclass),
tipo varchar(30) NOT NULL,
prorrogacao_prazo boolean NOT NULL,
CONSTRAINT tipo_ocorrencia_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.tipo_ocorrencia IS 'Tabela de tipos de ocorrências dos 
residentes.';
-- ddl-end --
COMMENT ON COLUMN residencia.tipo_ocorrencia.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.tipo_ocorrencia.tipo IS 'Tipo da ocorrência (férias, 
licença assuntos particulares, licença maternidade, licença adoção, licença saúde, 
afastamento, etc).';
-- ddl-end --
COMMENT ON COLUMN residencia.tipo_ocorrencia.prorrogacao_prazo IS 'Indicador se 
permite ou não prorrogação de prazo.';
-- ddl-end --
ALTER TABLE residencia.tipo_ocorrencia OWNER TO residencia;
-- ddl-end --
 
-- object: tipo_ocorrencia_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.ocorrencia DROP CONSTRAINT IF EXISTS tipo_ocorrencia_fk 
CASCADE;
ALTER TABLE residencia.ocorrencia ADD CONSTRAINT tipo_ocorrencia_fk FOREIGN KEY 
(id_tipo_ocorrencia)
REFERENCES residencia.tipo_ocorrencia (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_classificacao_atividade | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_classificacao_atividade CASCADE;
CREATE SEQUENCE residencia.seq_classificacao_atividade
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_classificacao_atividade OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.classificacao_atividade | type: TABLE --
-- DROP TABLE IF EXISTS residencia.classificacao_atividade;
CREATE TABLE residencia.classificacao_atividade(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_classificacao_atividade'::regclass),
id_unidade_universitaria integer,
nome varchar(30) NOT NULL,
status_ativa boolean NOT NULL,
CONSTRAINT tipo_atividade_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.classificacao_atividade IS 'Tabela de classificação 
das atividadesda unidade (disciplina/palestra/seminário/mutirão/campanha/
monografia).';
-- ddl-end --
COMMENT ON COLUMN residencia.classificacao_atividade.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.classificacao_atividade.nome IS 'Nome do tipo da 
atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.classificacao_atividade.status_ativa IS 'Indicador se 
a atividade está ativa.';
-- ddl-end --
ALTER TABLE residencia.classificacao_atividade OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.seq_atividade | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_atividade CASCADE;
CREATE SEQUENCE residencia.seq_atividade
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_atividade OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.atividade | type: TABLE --
-- DROP TABLE IF EXISTS residencia.atividade;
CREATE TABLE residencia.atividade(
id integer NOT NULL DEFAULT nextval('residencia.seq_atividade'::regclass),
id_classificacao_atividade integer,
id_programa integer,
tipo varchar(30) NOT NULL,
nome varchar(50) NOT NULL,
sigla varchar(10) NOT NULL,
descricao text,
parecer varchar(50),
carga_horaria integer NOT NULL,
data_inicio date NOT NULL,
data_fim date,
consta_historico boolean NOT NULL,
calculo_media_final varchar(100),
CONSTRAINT atividade_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.atividade IS 'Tabela com as atividades dos programas.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.tipo IS 'Tipo da atividade (teórico/prática/
teórico-prática).';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.nome IS 'Nome da atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.sigla IS 'Sigla da atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.descricao IS 'Descricao da atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.parecer IS 'Parecer da atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.carga_horaria IS 'Carga horária da 
atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.data_inicio IS 'Data de início da atividade 
no programa (aprovação).';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.data_fim IS 'Data de término da atividade 
no programa (desativação).';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.consta_historico IS 'Indicador se a 
atividade deverá constar no histórico.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade.calculo_media_final IS 'Fórmula de cálculo 
da média final da atividade.';
-- ddl-end --
ALTER TABLE residencia.atividade OWNER TO residencia;
-- ddl-end --
 
-- object: classificacao_atividade_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.atividade DROP CONSTRAINT IF EXISTS 
classificacao_atividade_fk CASCADE;
ALTER TABLE residencia.atividade ADD CONSTRAINT classificacao_atividade_fk FOREIGN 
KEY (id_classificacao_atividade)
REFERENCES residencia.classificacao_atividade (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_atividade_responsavel | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_atividade_responsavel CASCADE;
CREATE SEQUENCE residencia.seq_atividade_responsavel
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_atividade_responsavel OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.atividade_responsavel | type: TABLE --
-- DROP TABLE IF EXISTS residencia.atividade_responsavel;
CREATE TABLE residencia.atividade_responsavel(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_atividade_responsavel'::regclass),
id_atividade integer,
id_pessoa_fisica integer,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT atividade_responsavel_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.atividade_responsavel IS 'Tabela de responsáveis pelas 
atividades.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_responsavel.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_responsavel.data_inicio IS 'Data de início 
da participação do responsável na atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_responsavel.data_fim IS 'Data de término da 
participação do responsável na atividade.';
-- ddl-end --
ALTER TABLE residencia.atividade_responsavel OWNER TO residencia;
-- ddl-end --
 
-- object: atividade_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.atividade_responsavel DROP CONSTRAINT IF EXISTS 
atividade_fk CASCADE;
ALTER TABLE residencia.atividade_responsavel ADD CONSTRAINT atividade_fk FOREIGN 
KEY (id_atividade)
REFERENCES residencia.atividade (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_atividade_ementa | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_atividade_ementa CASCADE;
CREATE SEQUENCE residencia.seq_atividade_ementa
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_atividade_ementa OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.atividade_ementa | type: TABLE --
-- DROP TABLE IF EXISTS residencia.atividade_ementa;
CREATE TABLE residencia.atividade_ementa(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_atividade_ementa'::regclass),
id_atividade integer,
ementa text NOT NULL,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT atividade_ementa_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.atividade_ementa IS 'Tabela de ementas das 
atividades.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_ementa.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_ementa.ementa IS 'Descrição da ementa da 
atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_ementa.data_inicio IS 'Data de início da 
ementa.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_ementa.data_fim IS 'Data de término da 
ementa.';
-- ddl-end --
ALTER TABLE residencia.atividade_ementa OWNER TO residencia;
-- ddl-end --
 
-- object: atividade_fk | type: CONSTRAINT --
-- ALTER TABLE residencia.atividade_ementa DROP CONSTRAINT IF EXISTS atividade_fk 
CASCADE;
ALTER TABLE residencia.atividade_ementa ADD CONSTRAINT atividade_fk FOREIGN KEY 
(id_atividade)
REFERENCES residencia.atividade (id) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
-- ddl-end --
 
-- object: residencia.seq_atividade_plano_ensino | type: SEQUENCE --
-- DROP SEQUENCE IF EXISTS residencia.seq_atividade_plano_ensino CASCADE;
CREATE SEQUENCE residencia.seq_atividade_plano_ensino
INCREMENT BY 1
MINVALUE 0
MAXVALUE 2147483647
START WITH 1
CACHE 1
NO CYCLE
OWNED BY NONE;
-- ddl-end --
ALTER SEQUENCE residencia.seq_atividade_plano_ensino OWNER TO residencia;
-- ddl-end --
 
-- object: residencia.atividade_plano_ensino | type: TABLE --
-- DROP TABLE IF EXISTS residencia.atividade_plano_ensino;
CREATE TABLE residencia.atividade_plano_ensino(
id integer NOT NULL DEFAULT 
nextval('residencia.seq_atividade_plano_ensino'::regclass),
id_atividade integer,
parecer varchar(50),
objetivo text,
conteudo_programatico text,
bibliografia text,
criterio_avaliacao text,
data_inicio date NOT NULL,
data_fim date,
CONSTRAINT atividade_plano_ensino_pk PRIMARY KEY (id)
 
)
TABLESPACE pg_default;
-- ddl-end --
COMMENT ON TABLE residencia.atividade_plano_ensino IS 'Tabela de planos de ensino 
das atividades.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_plano_ensino.id IS 'Identificador.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_plano_ensino.parecer IS 'Parecer da 
atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_plano_ensino.objetivo IS 'Objetivo da 
atividade.';
-- ddl-end --
COMMENT ON COLUMN residencia.atividade_plano_ensino.conteudo_programatico IS 
'Conteúdo programático da

Mais conteúdos dessa disciplina