Diferença Entre 1NF e 2NF e 3NF
1NF vs 2NF vs 3NF
A normalização é um processo que é realizado para minimizar as redundâncias que estão presentes nos dados em bancos de dados relacionais. Este processo dividirá principalmente grandes tabelas em tabelas menores com menos redundâncias. Essas tabelas menores serão relacionadas entre si através de relacionamentos bem definidos. Em um banco de dados bem normalizado, qualquer alteração ou modificação nos dados exigirá a modificação de apenas uma única tabela. A primeira forma normal (1NF), a segunda forma normal (2NF) e a terceira forma normal (3NF) foram introduzidas por Edgar F. Codd, que também é o inventor do modelo relacional e o conceito de normalização.
O que é 1NF?
1NF é a primeira forma normal, que fornece o conjunto mínimo de requisitos para a normalização de um banco de dados relacional. Uma tabela que cumpre com 1NF assegura que realmente representa uma relação (isto é, não contém nenhum registro que esteja repetindo), mas não existe uma definição universalmente aceita para 1NF. Uma propriedade importante é que uma tabela que cumpra com 1NF não pode conter nenhum atributo que seja valor relacional (isto é, todos os atributos devem ter valores atômicos).
O que é 2NF?
2NF é a segunda forma normal usada em bancos de dados relacionais. Para que uma tabela cumpra com 2NF, deve ser cumprido o 1NF e qualquer atributo que não faz parte de qualquer chave candidata (i. E. Atributos não essenciais) deve depender completamente de qualquer das chaves candidatas na tabela.
O que é 3NF?
3NF é a terceira forma normal usada na normalização do banco de dados relacional. De acordo com a definição do Codd, uma tabela é dita em 3NF, se e somente se essa tabela estiver na segunda forma normal (2NF) e cada atributo na tabela que não pertence a uma chave candidata, deve depender diretamente em cada chave candidata dessa tabela. Em 1982, Carlo Zaniolo produziu uma definição diferentemente expressa para 3NF. Tabelas que cumprem com o 3NF geralmente não contêm anomalias que ocorrem ao inserir, excluir ou atualizar registros na tabela.
Qual a diferença entre 1NF e 2NF e 3NF?
1NF, 2NF e 3NF são formas normais que são usadas em bancos de dados relacionais para minimizar redundâncias nas tabelas. 3NF é considerado como uma forma normal mais forte do que o 2NF, e é considerado como uma forma normal mais forte do que 1NF. Portanto, em geral, obter uma tabela que cumpra com o formulário 3NF exigirá a decomposição de uma tabela que esteja no 2NF. Da mesma forma, obter uma tabela que cumpra com o 2NF exigirá a decomposição de uma tabela que esteja no 1NF. No entanto, se uma tabela que cumpre com 1NF contém chaves candidatas que são compostas apenas por um único atributo (ou seja, chaves candidatas não compostas), tal tabela seria automaticamente compatível com 2NF.A decomposição de tabelas resultará em operações de junção adicionais (ou produtos cartesianos) ao executar consultas. Isso aumentará o tempo de computação. Por outro lado, as tabelas que cumprem com formas normais mais fortes teriam menos redundâncias do que as tabelas que apenas cumprem formas normais mais fracas.