Normalização em Base de Dados Relacionais

Normalização de dados é uma técnica utilizada para eliminar redundâncias em projetos de banco de dados relacionais, bem como evitar anomalias causadas por inserções, atualizações e remoções de registros.

No contexto de projeto de banco de dados relacionais,segundo Machado (2004), o objetivo da normalização é, evitar problemas que possam provocar falhas no projeto de banco de dados, assim como minimizar redundâncias e evitar irregularidades quando realizado uma inserção, alteração ou exclusão em tabelas já populadas. Segundo (HEUSER, 2019) , o conceito de normalização, é uma técnica que objetiva eliminar redundâncias de dados de arquivos. Este processo baseia-se no conceito de forma normal. As formas normais são um conjunto de regras criadas para realizar a normalização de dados. As principais, são: Primeira Forma Normal (1FN), Segunda Forma Normal (2FN) e Terceira Forma Normal (3FN). Cada uma delas possui como pré-requisito satisfazer as regras da forma anterior.

Primeira Forma Norma

Uma tabela encontra-se na 1FN quando não contém tabelas aninhadas. Portanto, a passagem à 1FN consta da eliminação de tabelas aninhadas eventualmente existentes. 

Exemplo de tabela com dados aninhados

Para transformar uma tabela não-normalizada em um esquema 1FN há duas alternativas. Sendo a primeira com a utilização da construção de uma única tabela com redundância de dados e a segunda solução é a construção de uma tabela para cada tabela aninhada. 

Dependência funcional

Para uma melhor compreensão da 2FN e 3FN é necessário compreender o conceito de dependência funcional. Em uma tabela relacional, se para cada valor de uma coluna C1 existe somente um valor válido para uma coluna C2, diz-se que a coluna C2 depende funcionalmente da coluna C1. Para representar está dependência funcional, usa-se uma expressão na forma de C1 -> C2, ou seja, C1 é determinante de C2.

Segunda Forma Normal

Uma tabela encontra-se na segunda forma normal quando, além de estar na primeira forma normal, já tenha sido eliminado todas as possíveis dependências parciais. Uma tabela não encontra-se na segunda forma normal quando contém dependências funcionais parciais, ou seja, contém colunas não chave que dependem apenas de uma parte da chave primária. 

Terceira Forma Normal

Uma tabela encontra-se na 3FN quando, além de estar na 2FN, toda coluna não chave depende diretamente da chave primária, isto é, quando não há dependências funcionais ou transitivas ou indiretas. A passagem à 3FN consta em dividir tabelas de forma a eliminar as dependência transitivas. 
Segundo (HEUSER, 2019) , uma dependência transitiva ocorre quando a coluna depende, além da chave primária, de outra coluna ou conjunto de colunas da tabela.

Resultado final da normalização.

Referências

HEUSER, C. A. Projeto de banco de dados. Porto Alegre RS: Artmed Editora SA, 2009. 281 p.

MACHADO, F. N. R. Banco de dados – Projeto e Implementação. São Paulo SP: Editora Érica, 2004. 401 p.

Autores

Roger Eduardo de Couto e Adriano Luís de Almeida