As formas normais são sequenciais, ou seja, se um banco se encontra na terceira forma normal, isso também significa que o mesmo está na segunda e também na primeira. Por isso devemos sempre começar a normalização pela primeira forma normal, para que não hajam problemas mais a frente na nossa normalização. Primeira Forma Normal Podemos dizer que uma tabela se encontra na Primeira Forma Normal se: o Possui chave primária; o Não possui grupos repetitivos; o Todos os seus atributos são atômicos, ou seja, não precisa ser decomposto. Para chegar a primeira forma normal devemos: Determinar o atributo que possui característica de chave primária, tornar todos atributos atômicos, transformar o grupo repetitivo em uma nova tabela, levando a chave primária da tabela na qual estava, para manter a ligação entre a tabela criada e a original. Depois aplicamos também sobre essa nova tabela a primeira forma normal. Aplicação: Tabela (cod_cliente, nome_cliente, tel1, tel2, endereco, cod_produto, nome_produto, preco, quantidade) ✗ ✓ Cliente (cod_cliente, nome_cliente, tel1, tel2, rua, bairro, cidade, estado) Produto (cod_cliente, cod_produto, nome_produto, preco, quantidade) ✓ Segunda Forma Normal Podemos dizer que uma tabela se encontra na Segunda Forma Normal se: o Está na primeira forma normal; o Não possui dependências parciais da chave primária; Para chegar a segunda forma normal verifique se a chave primária dessa tabela é composta ou simples. Se for simples, já se encontra na segunda forma normal. Se for composta, verifique se todos os atributos da relação dependem de todos os atributos que compõem a chave primária. Por exemplo, se a chave primária é composta dos atributos A , B e o campo C em questão depende somente de B. Se sim, já está na segunda forma normal. Se não, pegue o atributo (C) que depende parcialmente da chave primária e crie uma nova tabela. Essa tabela terá como chave primária o campo da chave primária original que determinou o campo C (nesse exemplo é o B) e adicione como atributo simples da relação o C. Veja o exemplo abaixo: (Obs: ➙ significa “determina”, ou seja, define, indica, aponta) Aplicação: Cliente (cod_cliente, nome_cliente, tel1, tel2, rua, bairro, cidade, estado) ✓ (não possui chave primária composta)
cod_produto ➙ nome_produto, preco (dependência parcial) cod_cliente, cod_produto ➙ quantidade (dependência total) Resp: Produto (cod_produto, nome_produto, preco) ✓ Resp: Compra (cod_cliente, cod_produto, quantidade) ✓ Terceira Forma Normal Podemos dizer que uma tabela se encontra na Terceira Forma Normal se: o Está na segunda forma normal; o Se nenhum dos campos foram determinados transitivamente pela chave primária. Para chegar a terceira forma normal verifique os campos que não são chave primária. Se algum desses campos não chave possuir dependência com outro campo não chave, então essa tabela não se encontra na terceira forma normal. Veja o exemplo abaixo: Carro (placa, modelo, km_rodados, cod_fabricante, nome_fabricante) ✗ Placa, modelo ➙ km_rodados Placa, modelo ➙cod_fabricante Placa, modelo ➙ nome_fabricante Cod_frabricante ➙ nome_fabricante Carro (placa, modelo, kmRodados, cod_fabricante) ✓ Fabricante (cod_fabricante, nome_fabricante) ✓ Conclusão Aplicando essas três formas normais podemos dizer que o nosso banco já está normalizado. Alguns bancos, com muita movimentação, necessitam de uma normalização mais específica. Esses bancos usam também a FNBC, a quarta e a quinta forma na normalização. Por isso, para um próximo assunto, iremos dar continuidade a normalização de dados, abrangendo essas formas. Contudo, para a maioria dos casos a terceira normalização já está suficiente.