Aula 012026
Neste artigo, apresentamos a evolução de uma estrutura de dados de “Pessoa”, partindo de um modelo denso (não normalizado) para um modelo otimizado em conformidade com a legislação brasileira vigente (IBGE, CNJ e LGPD).
1. Comparativo de Normalização
Tabela 1 – Pessoa (NÃO normalizada)
Todos os campos descritivos estão embutidos na própria tabela, gerando redundância e dificuldade de manutenção.
Todos os campos descritivos estão embutidos na própria tabela.
| id | nome_completo | etnia_descricao | sexo_descricao | identidade_genero_descricao | estado_civil_descricao | status_descricao | grau_instrucao_descricao |
|---|---|---|---|---|---|---|---|
| 1 | Ana Paula da Silva | Parda | Feminino | Cisgênero | Casado(a) | Ativo | Ensino Superior completo |
| 2 | João Carlos Pereira | Branca | Masculino | Cisgênero | União estável | Ativo | Ensino Médio completo |
| 3 | Maria José dos Santos | Preta | Feminino | Travesti | Solteiro(a) | Inativo | Ensino Fundamental completo |
| 4 | Rafael Almeida | Amarela | Masculino | Não-binário | Divorciado(a) | Suspenso | Pós-graduação (lato sensu) |
| 5 | Kátia Mendes Ribeiro | Indígena | Feminino | Transgênero | Viúvo(a) | Falecido | Mestrado |
Tabela 2 – Pessoa (Normalizada – 1ª Forma Normal)
Armazena apenas IDs que referenciam as tabelas de domínio previamente definidas.
| id | nome_completo | etnia_id | sexo_id | identidade_genero_id | estado_civil_id | status_id | grau_instrucao_id |
|---|---|---|---|---|---|---|---|
| 1 | Ana Paula da Silva | 3 | 2 | 1 | 2 | 1 | 7 |
| 2 | João Carlos Pereira | 1 | 1 | 1 | 6 | 1 | 5 |
| 3 | Maria José dos Santos | 2 | 2 | 3 | 1 | 2 | 3 |
| 4 | Rafael Almeida | 4 | 1 | 4 | 3 | 3 | 8 |
| 5 | Kátia Mendes Ribeiro | 5 | 2 | 2 | 4 | 5 | 9 |
Relação das chaves estrangeiras (para consulta SQL/JOIN)
| Tabela destino | Coluna na pessoa normalizada |
|---|---|
| etnia (id) | etnia_id |
| sexo (id) | sexo_id |
| identidade_genero | identidade_genero_id |
| estado_civil | estado_civil_id |
| status | status_id |
| grau_instrucao | grau_instrucao_id |
2. Implementação SQL
Abaixo, um exemplo de consulta utilizando LEFT JOIN para reconstruir a visualização legível dos dados:
SELECT
p.nome_completo,
e.etnia,
s.sexo,
ig.identidade_genero,
ec.estado_civil,
st.status,
gi.grau_instrucao
FROM pessoa_normalizada p
LEFT JOIN etnia e ON p.etnia_id = e.id
LEFT JOIN sexo s ON p.sexo_id = s.id
LEFT JOIN identidade_genero ig ON p.identidade_genero_id = ig.id
LEFT JOIN estado_civil ec ON p.estado_civil_id = ec.id
LEFT JOIN status st ON p.status_id = st.id
LEFT JOIN grau_instrucao gi ON p.grau_instrucao_id = gi.id;
3. Dicionário de Tabelas de Domínio
Estas tabelas foram consolidadas com base em critérios técnicos e jurídicos (IBGE, MEC, e Provimentos do CNJ).
Etnia (critérios IBGE)
| id | etnia |
|---|---|
| 1 | Branca |
| 2 | Preta |
| 3 | Parda |
| 4 | Amarela |
| 5 | Indígena |
Sexo (biológico – ANS / Registro Civil)
| id | sexo |
|---|---|
| 1 | Masculino |
| 2 | Feminino |
| 3 | Intersexo (quando registrado ao nascimento) |
Legislação: Provimento CNJ nº 122/2021 permite averbação de intersexo, mas registro civil tradicional usa M/F.
Identidade de Gênero (conforme Lei nº 13.185/2015 e Provimento CNJ nº 73/2018)
| id | identidade_genero |
|---|---|
| 1 | Cisgênero |
| 2 | Transgênero |
| 3 | Travesti |
| 4 | Não-binário |
| 5 | Agênero |
| 6 | Gênero fluido |
| 7 | Outra |
| 8 | Prefere não informar |
Observação: O CNJ permite alteração do prenome e sexo no registro civil sem necessidade de cirurgia ou laudo médico desde 2018.
Estado Civil (Lei nº 6.515/1977 e Lei nº 13.146/2015 – Estatuto da Pessoa com Deficiência)
| id | estado_civil |
|---|---|
| 1 | Solteiro(a) |
| 2 | Casado(a) |
| 3 | Divorciado(a) |
| 4 | Viúvo(a) |
| 5 | Separado(a) judicialmente (pré-Emenda EC 66/2010 – ainda usado para efeitos patrimoniais antigos) |
| 6 | União estável |
União estável é reconhecida como entidade familiar pela CF/88 e Lei 9.278/96.
Status (situação da pessoa no sistema – LGPD)
| id | status |
|---|---|
| 1 | Ativo |
| 2 | Inativo |
| 3 | Suspenso |
| 4 | Bloqueado |
| 5 | Falecido |
Grau de Instrução (INEP / MEC – Censo Escolar e Educação Superior)
| id | grau_instrucao |
|---|---|
| 1 | Sem instrução formal |
| 2 | Ensino Fundamental incompleto |
| 3 | Ensino Fundamental completo |
| 4 | Ensino Médio incompleto |
| 5 | Ensino Médio completo |
| 6 | Ensino Superior incompleto |
| 7 | Ensino Superior completo |
| 8 | Pós-graduação (lato sensu – especialização) |
| 9 | Mestrado |
| 10 | Doutorado |
| 11 | Pós-doutorado |
4. Conformidade Normativa
A estrutura acima garante a interoperabilidade e o respeito às normas brasileiras:
- IBGE para classificação étnico-racial.
- CNJ para identidade de gênero e alteração registral.
- Lei 6.515/77 e CF/88 para estado civil.
- LGPD (Lei 13.709/2018) para status e controle de dados pessoais.