Database Normalization
Normalização de Banco de Dados
A normalização de banco de dados divide fatos relacionados em tabelas bem estruturadas. Isso reduz dados repetidos e erros quando um fato muda.
Outro exemplo
Uma clínica deixa de copiar o telefone de um paciente, o nome de um médico e três colunas de medicamentos em cada linha de visita. Pacientes, clínicos, visitas e `visit_medications` tornam-se tabelas relacionadas. Uma mudança de telefone atualiza um único dado; apenas uma visão de relatório verificada combina os dados para leitura mais rápida.
Partes principais
- 01Fatos e dependências
- 02Teclas e relações
- 03Atualizações sem anomalias
Use-o quando
Use fatos, suas dependências e chaves para construir uma única fonte confiável de verdade. Desnormalize depois apenas quando evidências de desempenho suportarem.
Não o use quando
Não busque formas normais superiores sem corresponder aos relacionamentos reais dos dados. Não desnormalize cedo sem regras claras de propriedade e sincronização.
Nome usado no código
functional dependencies + candidate keys + 1NF/2NF/3NF/BCNF as appropriate Antes de lançar
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Normalização de Banco de Dados (Database Normalization). User context: Uma clínica deixa de copiar o telefone de um paciente, o nome de um médico e três colunas de medicamentos em cada linha de visita. Pacientes, clínicos, visitas e `visit_medications` tornam-se tabelas relacionadas. Uma mudança de telefone atualiza um único dado; apenas uma visão de relatório verificada combina os dados para leitura mais rápida. Technical concept or control: Normalização de Banco de Dados (Database Normalization). Why it fits: Use fatos, suas dependências e chaves para construir uma única fonte confiável de verdade. Desnormalize depois apenas quando evidências de desempenho suportarem. Do not use it when: Não busque formas normais superiores sem corresponder aos relacionamentos reais dos dados. Não desnormalize cedo sem regras claras de propriedade e sincronização. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Nenhum padrão oficial único controla todo o termo. Seu significado pode mudar entre equipes, plataformas ou frameworks. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Conferir este pedido
Review how Normalização de Banco de Dados (Database Normalization) is used now. Definition: A normalização de banco de dados divide fatos relacionados em tabelas bem estruturadas. Isso reduz dados repetidos e erros quando um fato muda. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.