Cursos / Informática para Internet / Banco de dados / Aula
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.
Para adequar uma tabela que não está na 1FN é necessário realizar os seguintes passos:
Os passos listados são ilustrados na Figura 3, utilizando-se o exemplo 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.
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