Banco de Dados: Normalização

A normalização é um processo pelo qual procura aprimorar a consistência de um banco de dados, a partir de princípios e regras que evitam a repetição de dados, redundâncias desnecessárias ou até mesmo a perda de dados importantes. A normalização é baseada em técnicas de organização e análise de dados, decompondo-os em formas mais simples, conhecidas como formas normais. Os objetivos da normalização, normalmente são:

  • Diminuir o risco de inconsistências na base de dados;
  • Minimizar redundâncias;
  • Garantir a independência dos dados;
  • Facilitar a manutenção dos sistemas;
  • Facilitar a manipulação do Banco de Dados.

Formas normais

As formas normais são os princípios que garantem que um banco atenda a determinada características. Normalmente, para um bom sistema basta que se atenda até a terceira forma normal, e estas que serão descritas.

1ª Forma Normal

Também conhecida como 1FN, preocupa-se com atributos que são multivalorados. Seu princípioé que cada chave primária deve corresponder a um e apenas uma informação de cada atributo.

Ou seja, a entidade não deve conter grupos repetitivos. Um bom exemplo de grupo multivalorado seria um banco de pedidos em que cada tupla tivesse um atributo “listaitens”, contendo uma lista dos pedidos, que podem ser um ou vários. O correto, neste caso, seria criar uma tabela para os itens do pedido e associá-los com uma chave. Cada atributo multivalorado, na verdade, representa uma entidade, ou seja, deve ser uma outra tabela no banco de dados.

2ª Forma Normal

Uma tabela encontra-se em 2FN quando:

  • Estiver na 1FN;
  • Todos os atributos que não fazem parte da chave primária são dependentes dela.

A 2ª Forma Normal tem por objetivo evitar inconsistências nas tabelas por duplicidade de informações.

3ª Forma Normal

A tabela encontra-se na 3FN se atende ao requisito de estar em 2FN e, além disto, não possuir dependência transitiva em relação a outro atributo que não esteja na chave primária.

Dependência transitiva é uma característica quando um atributo ou conjunto de atributos depende de um atributo que não faça parte da chave primária.

Saiba mais

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *