segundo forma normal, vamosentender primeiro o conceito de dependencia funcional.Em uma tabela relacional, diz-se que uma coluna C2depende funcionalmente de uma coluna C1 (ou que a coluna C1determina a coluna C2) quando, em todas linhas da tabela, para cadavalor de C1 que aparece na tabela, aparece o mesmo valor de C2.Para exemplificar, temos a Tabela 1,que no qual, exibe o mesmo salario para cada codigo, ou seja, o Codigo E1sempre exibe o salario 10. A notacao de dependencia funcional e representa por C1a C2, noexemplo, Codigo aSalario, que podemos dizer que o atributo Codigo determina o atributo salarioou que o atributo salario depende funcionalmente do atributo Codigo.Tabela1 - Exemplo de Dependencia FuncionalUma tabela encontra-se na 2FN quando, alem de estar na 1FN,nao contem dependencias (funcionais) parciais. Um dependencia (funcional) parcial ocorre quando uma colunadepende apenas de uma parte de uma chave primaria composta. Entendemos comochave primaria compostas, as chaves primarias que sao formadas por mais umatributo. As tabelas que ja estao na 1FN e possuem apenas uma colunacomo chave primaria, nao contem dependencias parciais, o que resulta naafirmacao de que ela ja esta na 2FN. No exemplo apresentado abaixo, a tabelaPROJ ja esta na 2FN por nao contem chave primaria composta, mas a tabelaPROJEMP esta apenas na 1FN, pois possui dependencia parcial. Identificamos asdependencias parciais nos atributos nome, categoria e salario, que saodeterminados apenas pela chave primaria codEmp, o que estabelece umadependencia parcial. Os atributos datainicial e tempoal sao determinados pelochave primaria composta por codProj e codEmp. 1FNPROJ(codProj,Tipo, Descr) PROJEMP(codProj,codEmp, nome, categoria, salario, datainicial, tempoal)Para a passagem para a 2FN, copiamos a tabela PROJ, pois elaja esta na 2FN e na tabela PROJEMP devemos eliminar as dependencias parciais,fazemos isso dividindo a tabela PROJEMP em duas tabelas, como:2FN PROJ(codProj, Tipo, Descr) EMP (codEmp,nome, categoria, salario)PROJEMP(codProj,codEmp, datainicial, tempoal)O exemplo citado e possivel observar que a tabela PROJEMPmantem sua chave primaria composta. Passagem a 3 Forma Normal Uma tabela esta na 3FN quando, alem de estar na 2FN, naocontem dependencias transitivas. Uma dependencia (funcional) transitiva ocorrequando uma coluna, alem de depender da chave primaria, depende de outra colunaou conjunto de colunas da tabela. Para exemplificar, vamos considerar a tabela EMP, exposta noexemplo acima. Neste exemplo, vamos supor que o salario (coluna salario) dofuncionario seja determinado pela categoria funcional (coluna categoria). Nestecaso, a representacao de salario, que e determinada pela categoria, estarepresentado redundantemente na tabela, pois para todos os funcionariospertencentes a mesma categoria sera repetido o valor do salario. Entao, podemosidentificar neste exemplo uma dependencia transitiva, no qual, o atributosalario e determinado pelo atributo chave primaria codEmp e pelo atributo naochave categoria. Para eliminar essa dependencia transitiva realizamos apassagem a 3FN que consiste na divisao da tabela EMP de forma a eliminar adependencia transitiva. 3FNPROJ(codProj,Tipo, Descr) CAT (categoria,salario)EMP (codEmp,nome, categoria)PROJEMP(codProj,codEmp, datainicial, tempoal)Forma Normal de Boyce/Codd Para a maioria dos esquemas, a decomposicao ate a 3FN esuficiente para obter o esquema de banco de dados normalizado ou, no caso daengenharia reversa, correspondente ao documento. Entretanto, na literatura saocitados ainda a Forma Normal de Coyce/Codd, a 4FN e a 5FN.A forma normal de Boyce/Codd (FNBC) refere-se a umrefinamento