25_juncoes.sql — Tabelas de junção N:N
15 tabela(s) · 129 linhas de DDL · ver arquivo
:::tip Geradores que populam este domínio
gen_11_juridico
:::
Diagrama ER
Tabelas
pessoa_habilidade
Junção persona <-> habilidade (domínio 17).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
habilidade_id | UUID | não | habilidade.id | — | PK |
nivel | TEXT | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, habilidade_id)
pessoa_idioma_nivel
Níveis de leitura/fala por idioma (domínio 01).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
idioma_id | UUID | não | pessoa_idioma.id | — | PK |
nivel_leitura | TEXT | sim | — | — | — |
nivel_fala | TEXT | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, idioma_id)
pessoa_hobby
Junção persona <-> hobby (domínio 19).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
hobby_id | UUID | não | hobby.id | — | PK |
desde_quando | DATE | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, hobby_id)
pessoa_grupo_social
Junção persona <-> grupo social (domínio 09).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
grupo_id | UUID | não | grupo_social.id | — | PK |
papel | TEXT | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, grupo_id)
pessoa_evento
Junção persona <-> evento social (domínio 09).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
evento_id | UUID | não | evento_social.id | — | PK |
papel | TEXT | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, evento_id)
pessoa_doenca_familiar
Risco de condições hereditárias (domínio 02).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
condicao_genetica_id | UUID | não | condicao_genetica.id | — | PK |
grau_risco | NUMERIC(5,2) | sim | — | — | CHECK (grau_risco BETWEEN 0 AND 1) |
Constraints de tabela
PRIMARY KEY (pessoa_id, condicao_genetica_id)
pessoa_pet
Junção persona <-> pet (domínio 14).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
pet_id | UUID | não | pet.id | — | PK |
tipo_vinculo | TEXT | sim | — | — | CHECK (tipo_vinculo IN ('dono','cuidador')) |
Constraints de tabela
PRIMARY KEY (pessoa_id, pet_id)
pessoa_veiculo
Junção persona <-> veículo (domínio 06).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
veiculo_id | UUID | não | veiculo.id | — | PK |
tipo_posse | TEXT | sim | — | — | CHECK (tipo_posse IN ('proprietario','condutor_autorizado')) |
Constraints de tabela
PRIMARY KEY (pessoa_id, veiculo_id)
pessoa_imovel
Junção persona <-> imóvel (domínio 06).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
imovel_id | UUID | não | imovel.id | — | PK |
tipo_posse | TEXT | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, imovel_id)
pessoa_processo
Junção persona <-> processo (domínio 11).
Gerada por: gen_11_juridico.
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
processo_id | UUID | não | processo.id | — | PK |
papel | TEXT | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, processo_id)
pessoa_eleicao
Junção persona <-> eleição (domínio 12).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
eleicao_id | UUID | não | eleicao.id | — | PK |
participou | BOOLEAN | sim | — | TRUE | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, eleicao_id)
pessoa_viagem_companheiro
Junção persona <-> viagem como acompanhante.
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
viagem_id | UUID | não | viagem.id | — | PK |
papel | TEXT | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, viagem_id)
pessoa_empresa_socio
Sócios de empresas (domínio 05).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
empresa_id | UUID | não | empresa.id | — | PK |
percentual_participacao | NUMERIC(5,2) | sim | — | — | CHECK (percentual_participacao BETWEEN 0 AND 100) |
Constraints de tabela
PRIMARY KEY (pessoa_id, empresa_id)
pessoa_religiao_historico
Histórico de crenças (domínio 18).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
crenca_id | UUID | não | crenca.id | — | PK |
data_inicio | DATE | não | — | — | PK |
data_fim | DATE | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, crenca_id, data_inicio)
pessoa_documento_historico
Histórico de emissões de documentos (domínio 01).
| Coluna | Tipo | Nulo? | FK | Default | Constraints |
|---|---|---|---|---|---|
pessoa_id | UUID | não | pessoa.id | — | PK |
documento_id | UUID | não | pessoa_documento.id | — | PK |
data_emissao | DATE | sim | — | — | — |
data_expiracao | DATE | sim | — | — | — |
Constraints de tabela
PRIMARY KEY (pessoa_id, documento_id)