Executando verificação de segurança...
1

Dúvida: qual a diferença entre a 2FN e 3FN?

Estou estudando as formas normalizadoras de bancos de dados, porém não consigo entender a diferença entre o que pede a segunda forma normal e a terceira forma normal, parece que ambas pedem para extrair um campo que depende de uma chave primária para outra tabela.

Alguém consegue explicar a diferença entre os requisitos dessas 2 formas?

Carregando publicação patrocinada...
3

Posso dizer que, na prática, é basicamente a mesma coisa mesmo.

A 2FN diz que, ao criar uma tabela para relação many-to-many de outras 2 tabelas, você deve por nela apenas dados que são ligados às chaves primárias de ambas tabelas. Ou seja, se for uma tabela com as notas de alunos (por exemplo), a coluna das notas precisa se relacionar com o ID do Aluno e o ID da Matéria para fazer a identificação correta. Se nesta tabela tiver uma coluna com o 'nome' do aluno, ela deverá ser removida, pois o nome se relaciona apenas com ID do Aluno, e não com o da Matéria, logo, é um dado que deveria existir apenas na tabela Aluno.

A 3FN dá basicamente a mesma ordem, mas para uma tabela única. Imagine, que estamos criando uma tabela de Funcionários, e uma das colunas terá o ID do Cargo. Se houver uma outra coluna com o 'nome' do Cargo, ela deverá ser removida, pois ela não tem relação nenhuma com o Funcionário, logo, este dado deverá existir apenas na tabela de Cargo.

Ou seja, na prática a gente acaba fazendo um procedimento semelhante, só se diferencia a situação aplicada.

1
1
1