Índice:
- Definição - O que significa a Segunda Forma Normal (2NF)?
- Techopedia explica 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 ele atenda a dois requisitos básicos:
- Não há redundância de dados (todos os dados são armazenados em apenas um local).
- 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 principais forem funcionalmente dependentes de toda a chave candidata.
Techopedia explica Segunda Forma Normal (2NF)
Depois de atender aos requisitos do 1NF, o 2NF exige que o designer do banco de dados faça o seguinte:
- 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 estuda várias disciplinas simultaneamente, enquanto uma disciplina é estudada por vários alunos. São relacionamentos muitos para muitos. 2NF afirma que esse relacionamento deve ser dividido em mais do que as duas tabelas acima (ALUNO e ASSUNTO). Uma maneira de dividi-los é introduzindo uma terceira tabela, que contém as colunas Student_ID, Subject_ID, Semester e Year. Dessa forma, não há relacionamento direto entre STUDENT e ASSUNTO, porque todos os relacionamentos são criados indiretamente através da terceira tabela.
- 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 para cada conta. A maneira de fazer isso é através 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 existem dependências funcionais parciais na chave primária pode ou não estar no 2NF. Além da chave primária, a tabela pode conter outras chaves candidatas; é necessário estabelecer que nenhum atributo não primário tenha dependências de chave parcial em qualquer uma dessas chaves candidatas.