Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 06 - Normalização Básica

Primeira Forma Normal (1FN)

Uma tabela está na Primeira Forma Normal (1FN) se e somente se todos os atributos contiverem apenas dados atômicos. Ou seja, cada atributo pode ter apenas um valor por registro (tupla).

A Figura 2 mostra um exemplo de uma tabela que não está na 1FN. Esta tabela não está na 1FN porque o atributo Telefones possui mais de um telefone por registro (tupla). Por exemplo, a agência 1524 possui três telefones.

Exemplo de estrutura de tabela que não está na 1FN.

Para adequar uma tabela que não está na 1FN é necessário realizar os seguintes passos:

  1. Criar uma tabela para conter os dados do atributo não atômico;
  2. Criar na nova tabela um atributo para conter o atributo não atômico da tabela original;
  3. Criar na nova tabela um atributo para conter a chave primária da tabela original;
  4. Definir uma chave estrangeira para garantir a relação entre a nova tabela e a tabela original;
  5. Definir a chave primária da nova tabela;
  6. Remover o atributo não atômico da tabela original.

Os passos listados são ilustrados na Figura 3, utilizando-se o exemplo da tabela Agência.

Normalização da Tabela Agência.

O primeiro passo é criar uma nova tabela chamada AgenciaTelefone. Depois criar o atributo não atômico da tabela Agência, no nosso caso, o atributo Telefone. Em seguida, você deve criar na tabela AgenciaTelefone o atributo chave da tabela Agencia, no nosso caso, o atributo NumAg. Para manter a integridade com a tabela original, você deve definir uma chave estrangeira entre o atributo NumAg da tabela AgenciaTelefone e NumAg da tabela Agência. Posteriormente, você deve definir a chave primária da tabela AgenciaTelefone. No nosso caso, como não podemos ter Agências diferentes com o mesmo telefone, definimos como chave primária da tabela AgenciaTelefone o atributo Telefone. Finalmente, você precisa remover o atributo não atômico da tabela Agência.

Para perceber a diferença, veja na Figura 4 a nova estrutura das duas tabelas.

Estrutura das tabelas depois da Normalização.

Note que o processo de normalização de uma tabela para a 1FN é equivalente ao mapeamento de um atributo multivalorado do modelo ER para o modelo relacional, mostrado na Aula 4. Ou seja, se você definir bem seu modelo ER e fizer o mapeamento correto, suas tabelas já estarão na 1FN.

Versão 5.3 - Todos os Direitos reservados