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

arrow_back Aula 07 - Normalização Avançada

Terceira Forma Normal (3FN)

Uma tabela está na Terceira Forma Normal (3FN) se e somente se ela estiver na 1FN e na 2FN e todos os atributos não chave primária puderem ser obtidos somente através da chave primária.

Ao ler a definição da 3FN, você pode estar se perguntando: qual é a diferença entre a 3FN e a 2FN? Bem, para responder à sua pergunta, vamos utilizar o exemplo mostrado na Figura 1. Nesse exemplo, temos a estrutura da tabela Funcionário, em que a chave primária é o número do funcionário, FuncN. A tabela Funcionário serve para armazenar todos os dados do funcionário (nome, cargo, salário), incluindo a agência onde ele trabalha (NumAg e Endereço). Note que a tabela Funcionário está na 1FN, porque todos os atributos são atômicos, e está na 2FN, porque todos os atributos não chave primária podem ser obtidos através da chave primária.

Exemplo da tabela Funcionário que não está na 3FN.

No entanto, a tabela Funcionário não está na 3FN, porque o atributo Endereço da agência onde o funcionário trabalha pode ser obtido por meio da chave primária FuncN ou por meio do atributo NumAg. Essa relação de dependência pode ser vista na Figura 2. Veja que na definição da 3FN cada atributo só deve ser obtido única e exclusivamente através da chave primária. Como isso não acontece na tabela Funcionário, em que você pode obter o endereço da agência por meio de FuncN ou NumAg, tal tabela não está na 3FN. Assim, se você souber apenas o Número da Agência (atributo NumAg), consegue obter o seu endereço.

Detalhamento do motivo pelo qual a tabela Funcionário não esta na 3FN.

Versão 5.3 - Todos os Direitos reservados