Tecnologias e proteções 8 min de leitura

Normalização de dados: três sentidos distintos de um mesmo termo

O termo «normalização de dados» tem três sentidos: bancos de dados relacionais, machine learning e limpeza de dados extraídos por scraping. Analisamos cada um.

EW
Equipe Web-Scraping.biz
Coleta de dados para as demandas do negócio
Publicado: 8 fevereiro 2025

Por que esse termo gera tanta confusão

«Normalização de dados» é um daqueles termos que significam coisas completamente diferentes dependendo de quem os pronuncia. Um engenheiro de banco de dados, um cientista de dados e um especialista em qualidade de dados, quando dizem «é preciso normalizar os dados», estão se referindo a três processos que não se parecem entre si. Antes de colocar a mão na massa, convém esclarecer de qual deles se está falando.

Os três sentidos principais:

  1. Normalização de bancos de dados — projetar a estrutura das tabelas de modo a eliminar a redundância e as anomalias. É a teoria clássica dos bancos de dados relacionais e das «formas normais».
  2. Normalização (padronização, canonização) de dados — levar os valores a um formato único: datas, telefones, endereços, maiúsculas e minúsculas, codificações. É um capítulo da limpeza de dados, ligado diretamente ao enriquecimento e ao pareamento de registros.
  3. Normalização de variáveis em estatística e ML — levar as variáveis numéricas a uma escala ou distribuição comum para que os algoritmos funcionem corretamente.

Vamos analisar os três, um de cada vez.


Sentido 1. A normalização de bancos de dados

Em que consiste

A normalização de bancos de dados é o processo de decompor as tabelas em outras menores e logicamente relacionadas, de modo que cada fato seja armazenado em exatamente um lugar. A teoria foi estabelecida por Edgar Codd dentro do modelo relacional. O objetivo principal: eliminar a redundância e as anomalias que a acompanham.

Que problemas resolve

Se os dados vivem em uma única tabela «plana» com duplicação, surgem três tipos de anomalia:

  • Anomalia de inserção. Não dá para acrescentar um fato sem dispor dos dados que o acompanham. Por exemplo, não dá para cadastrar um funcionário novo enquanto ele não estiver alocado em um projeto, se as duas entidades dividem a mesma tabela.
  • Anomalia de atualização. O mesmo fato está duplicado em várias linhas: ao alterá-lo, é preciso corrigir todas as cópias, e é fácil acabar com dados incoerentes.
  • Anomalia de exclusão. Ao apagar uma linha, podem-se perder sem querer dados que só existiam nela (por exemplo, ao excluir o último projeto de um funcionário, perde-se também o próprio funcionário).

As formas normais

A normalização avança por níveis — as «formas normais». Cada uma é mais rigorosa que a anterior e engloba os requisitos dela.

Primeira forma normal (1FN). Todos os valores são atômicos: em cada célula, um único valor, sem listas nem grupos repetidos. Não se pode guardar «telefones: 111, 222, 333» em um único campo; cada telefone é um registro à parte.

Segunda forma normal (2FN). A tabela está na 1FN e, além disso, não há dependências parciais: cada atributo não chave depende da chave primária inteira, não de uma parte dela. Isso é relevante com chaves compostas. Se a chave é «(pedido, produto)» e o nome do produto depende apenas de «produto», a 2FN é violada: o nome do produto deve sair para uma tabela própria.

Terceira forma normal (3FN). A tabela está na 2FN e não há dependências transitivas: os atributos não chave dependem apenas da chave, não uns dos outros. Se na tabela de funcionários se guardam «departamento» e «responsável pelo departamento», o responsável depende do departamento, e não do funcionário diretamente — é uma dependência transitiva, e o departamento com seus atributos é separado em outra tabela.

Forma normal de Boyce--Codd (FNBC). Uma 3FN reforçada: todo determinante (aquilo de que algo depende) deve ser uma chave candidata. Resolve casos pouco frequentes que a 3FN deixa passar quando existem várias chaves sobrepostas.

Quarta (4FN) e quinta (5FN) formas normais. Eliminam as dependências multivaloradas e as dependências de junção, respectivamente. Na prática, raramente se chega até elas; para a maioria dos sistemas, a meta razoável é a 3FN ou a FNBC.

A desnormalização: quando a normalização atrapalha

A normalização é otimizada para a integridade e a escrita, mas fragmenta os dados em muitas tabelas, o que torna a leitura mais lenta pela abundância de combinações (JOIN). Por isso, nos sistemas analíticos costuma-se ir na direção contrária: desnormaliza-se, introduzindo redundância de forma consciente em troca de velocidade de leitura.

Exemplos típicos:

  • Data warehouses e OLAP. Os esquemas «estrela» e «floco de neve» duplicam dados de propósito nas tabelas de dimensões.
  • Leituras de alta carga. Agregados pré-calculados, views materializadas.
  • NoSQL. Os bancos de documentos costumam guardar juntos os dados relacionados para lê-los com uma única consulta.

A regra é simples: normalize para os sistemas transacionais (OLTP) e desnormalize de forma consciente para os analíticos (OLAP), sempre sabendo que preço (o risco de incoerências) se paga por essa velocidade.


Sentido 2. A normalização como unificação de formatos (padronização)

Em que consiste

É o sentido que mais aparece nas tarefas de limpeza e enriquecimento de dados. Aqui, normalizar significa levar valores com o mesmo significado a um formato canônico único. O objetivo: que dados essencialmente iguais tenham a mesma aparência; caso contrário, é impossível compará-los, agrupá-los e cruzá-los.

Essa normalização é a etapa obrigatória que antecede o pareamento de registros (record matching), a deduplicação e o enriquecimento. Não há como casar com confiança «Oficinas Lopes Ltda.» com «OFICINAS LOPES LTDA» enquanto os nomes não forem levados a uma forma comum.

O que se costuma normalizar

Datas e horários. Conversão para um padrão único — normalmente ISO 8601 (2026-06-29), um único fuso horário (com frequência UTC), um único formato. «29/06/2026», «June 29, 2026» e «2026/06/29» devem acabar sendo o mesmo valor.

Números de telefone. Conversão para o formato internacional E.164 (+5511987654321): remover espaços, parênteses e hífens e acrescentar o código do país.

Campos de texto. Corte dos espaços sobrando, unificação de maiúsculas e minúsculas, remoção de caracteres invisíveis, colapso de espaços duplos.

Codificações e Unicode. Conversão para UTF-8 e para uma única forma de normalização Unicode (NFC/NFD), para que caracteres visualmente idênticos sejam armazenados com os mesmos bytes. Caso contrário, «é» como um único caractere e «é» como «e + acento combinável» são consideradas strings distintas.

Endereços. Padronização para um formato único: expansão de abreviações («Av.» → «Avenida»), ordem fixa dos componentes, normalização dos CEPs. Com frequência se apoia em serviços especializados de geocodificação.

Unidades de medida e moedas. Conversão para uma unidade-base (tudo para metros, tudo para gramas, tudo para uma mesma moeda pela taxa de câmbio da data).

Valores categóricos. Redução de sinônimos e variantes de grafia a um valor de referência: «EUA», «USA», «United States» → um único código de país. É o chamado mapeamento contra um catálogo (lookup/reference data).

Identificadores. Normalização de números de registro, domínios (minúsculas, remover www), e-mails (domínio em minúsculas).

O processo de padronização

Um pipeline típico:

  1. Perfilamento. Entender que formatos realmente aparecem nos dados e até que ponto eles estão «sujos».
  2. Definição da forma canônica. Decidir para qual formato único cada campo será levado.
  3. Parsing e decomposição. Separar o valor em componentes (por exemplo, o endereço em rua, número e cidade).
  4. Transformação. Aplicar as regras de conversão para a forma canônica.
  5. Mapeamento contra catálogos. Cotejar os valores com tabelas de referência (países, moedas, setores).
  6. Validação. Conferir a correção do resultado (o telefone tem o número certo de dígitos, a data existe).
  7. Registro (logging). Guardar o que foi alterado e como, para garantir a rastreabilidade.

Ferramentas

Uma parte se resolve com expressões regulares e regras; outra, com bibliotecas especializadas: para telefones existem bibliotecas de parsing de números; para endereços, geocodificadores; e para Unicode, as funções de normalização embutidas em cada linguagem. Para grandes volumes, empregam-se plataformas de ETL/ELT e ferramentas de qualidade de dados.


Sentido 3. A normalização de variáveis em estatística e machine learning

Em que consiste

Em ML, «normalização» significa levar as variáveis numéricas a uma escala ou distribuição comparáveis. O problema é que as variáveis vêm em unidades e faixas distintas: a idade (0--100) e a renda (0--10 000 000). Muitos algoritmos, nessas condições, «favorecem» as variáveis com valores grandes por pura escala, não por importância.

Métodos principais

Normalização min-max. Comprime linearmente os valores para a faixa [0, 1] com a fórmula (x − min) / (max − min). Conserva a forma da distribuição, mas é sensível aos valores discrepantes (outliers): um único máximo extremo «esmaga» todos os demais valores.

Padronização (z-score). Leva os dados a média 0 e desvio padrão 1 com a fórmula (x − μ) / σ. Não limita os valores a uma faixa fixa e funciona melhor quando os dados se aproximam de uma distribuição normal. Muitas vezes é justamente isso que se chama de «normalização», embora tecnicamente seja uma padronização.

Escalonamento robusto. Usa a mediana e o intervalo interquartil em vez da média e do desvio — resistente aos outliers.

Normalização do vetor (L2). Leva o vetor de variáveis ao comprimento unitário. Aplica-se, por exemplo, ao trabalhar com vetores de texto e com a similaridade de cosseno.

Transformação logarítmica. Não é um escalonamento em sentido estrito, mas é usada com frequência para «endireitar» distribuições muito assimétricas (renda, tamanho de empresas).

Quando é necessária e quando não

É necessária para os algoritmos sensíveis à escala e às distâncias:

  • métodos baseados em distância (kNN, k-means, SVM);
  • gradiente descendente (redes neurais, modelos lineares) — a normalização acelera a convergência;
  • métodos com regularização;
  • redução de dimensionalidade (PCA).

Não é imprescindível para os modelos de árvore (árvores de decisão, random forest, gradient boosting): eles trabalham com limiares sobre cada variável separadamente, e um escalonamento monótono não os afeta.

Uma regra prática importante

Os parâmetros de normalização (min, max, μ, σ) são calculados apenas sobre o conjunto de treinamento e depois aplicados aos dados de teste e de produção. Se forem calculados sobre todos os dados de uma vez, ocorre um «vazamento» de informação do teste para o treinamento (data leakage), e a avaliação da qualidade do modelo sai inflada.


Como não se confundir: guia rápido

Se a conversa gira em torno de... ...trata-se de
Tabelas, chaves, JOIN, redundância, anomalias Formas normais (Sentido 1)
Formatos de datas, telefones e endereços, duplicatas, pareamento Padronização / canonização (Sentido 2)
Variáveis, escala, treinamento do modelo, μ e σ Escalonamento de variáveis (Sentido 3)

Uma forma prática de saber do que se fala: perguntar qual é o objetivo. Integridade e eliminação de duplicidades no armazenamento — formas normais. Poder comparar e casar registros — padronização. O algoritmo funcionar corretamente — escalonamento de variáveis.


Relação com o enriquecimento de dados

A normalização no segundo sentido (padronização) é o alicerce sem o qual o enriquecimento não funciona. Para encontrar um registro em uma fonte externa por uma chave, essa chave precisa estar unificada dos dois lados: domínios em minúsculas, telefones em E.164, nomes de empresas sem variações na forma jurídica. Por isso, em um pipeline real de tratamento de dados a ordem costuma ser esta: primeiro o perfilamento, depois a normalização/padronização, em seguida o pareamento e a deduplicação, e só então o enriquecimento com dados externos.

Conclusões breves

«Normalização de dados» é um termo guarda-chuva que cobre três tarefas distintas:

  • As formas normais põem ordem na estrutura de um banco de dados relacional ao eliminar a redundância e as anomalias; às vezes são violadas de propósito (desnormalização) em troca de velocidade de leitura.
  • A padronização leva os valores a um formato canônico único: é a base da limpeza, do pareamento e do enriquecimento de dados.
  • O escalonamento de variáveis prepara os dados numéricos para os algoritmos de machine learning sensíveis à escala.

A habilidade prática essencial consiste em deduzir pelo contexto qual normalização é necessária em cada caso — e não aplicar o método de uma área onde é preciso o de outra.