Segunda forma normal (2nf)

Definição - o que significa a segunda forma normal (2NF)?

A segunda forma normal (2NF) é a segunda etapa na normalização de um banco de dados. 2NF baseia-se na primeira forma normal (1NF).

Normalização é o processo de organização de dados em um banco de dados para que atendam a dois requisitos básicos:

  • Não há redundância de dados (todos os dados são armazenados em apenas um lugar).
  • As dependências de dados são lógicas (todos os itens de dados relacionados são armazenados juntos).

Uma tabela 1NF está na forma 2NF se, e somente se, todos os seus atributos não primos forem funcionalmente dependentes de todas as chaves candidatas.

Definirtec explica a segunda forma normal (2NF)

Depois de atender aos requisitos de 1NF, 2NF requer que o designer do banco de dados faça o seguinte:

  1. Divida todos os dados que resultam em relacionamentos muitos para muitos e armazene os dados como tabelas separadas. Por exemplo, em um banco de dados usado pelo aplicativo de uma escola, duas das tabelas são STUDENT e SUBJECT. Na vida real, um aluno faz várias disciplinas simultaneamente, enquanto uma disciplina é estudada por vários alunos. Esses são relacionamentos muitos para muitos. 2NF afirma que esta relação deve ser dividida em mais do que as duas tabelas acima (ESTUDANTE e ASSUNTO). Uma forma de dividi-los é introduzindo uma terceira tabela, que contém as colunas Student_ID, Subject_ID, Semester e Year. Desta forma, não há relacionamento direto entre STUDENT e SUBJECT porque todos os relacionamentos são criados indiretamente por meio da terceira tabela.
  2. Crie relacionamentos entre tabelas usando chaves estrangeiras. Por exemplo, o banco de dados de um banco contém duas tabelas: CUSTOMER_MASTER (para armazenar detalhes do cliente) e ACCOUNT_MASTER (para armazenar detalhes sobre contas bancárias, incluindo qual cliente possui qual conta). Deve haver uma maneira de vincular as duas tabelas para saber quem é o cliente de cada conta. A maneira de fazer isso é por meio de uma chave estrangeira, que é uma coluna na tabela ACCOUNT_MASTER apontando para uma coluna correspondente na tabela CUSTOMER_MASTER.

Uma tabela para a qual não há dependências funcionais parciais na chave primária pode ou não estar em 2NF. Além da chave primária, a tabela pode conter outras chaves candidatas; é necessário estabelecer que nenhum atributo não principal tem dependências de chave parcial em qualquer uma dessas chaves candidatas.