Pular para o conteúdo principal

00_hub.sql — Hub central

1 tabela(s) · 121 linhas de DDL · ver arquivo

Tipos ENUM​

TipoValores
sexomasculino, feminino
estado_civilsolteiro, casado, divorciado, viuvo, uniao_estavel
nacionalidadebrasileira, naturalizado, estrangeiro

Objetos de banco​

Função
set_update_timestamp()
Trigger
trg_pessoa_atualizado_em

Índices declarados​

ÍndiceTabela
idx_pessoa_data_nascimentopessoa
idx_pessoa_sexopessoa
idx_pessoa_classepessoa
idx_pessoa_nome_trgmpessoa
idx_pessoa_nome_socialpessoa

Tabelas​

pessoa​

Hub central: registro base de cada persona fictícia. Todas as tabelas satélites referenciam pessoa.id.

ColunaTipoNulo?FKDefaultConstraints
idUUIDnão—uuid_generate_v4()PK
nome_completoTEXTnão———
nome_socialTEXTsim———
data_nascimentoDATEnão——CHECK (data_nascimento < CURRENT_DATE)
sexosexonão———
nacionalidadenacionalidadenão—'brasileira'—
cidade_nascimentoTEXTsim———
uf_nascimentoCHAR(2)sim——CHECK ( uf_nascimento IS NULL OR uf_nascimento ~ '^[A-Z]{2}$' )
classe_socialTEXTsim—'C1'—
estado_civilestado_civilsim—'solteiro'—
esta_vivoBOOLEANsim—TRUE—
data_obitoDATEsim———
criado_emTIMESTAMPTZsim—now()—
atualizado_emTIMESTAMPTZsim—now()—
Constraints de tabela
CONSTRAINT chk_pessoa_obito CHECK ( data_obito IS NULL OR data_obito >= data_nascimento )
CONSTRAINT chk_pessoa_vivo_obito CHECK ( esta_vivo = TRUE OR data_obito IS NOT NULL )