O que é a segunda forma normal?

  • Em um sistema de gerenciamento de banco de dados relacional, a consistência e a dependência dos dados são de extrema importância. Geralmente, os formulários normais são usados ​​para evitar redundância de dados. A redundância nos dados leva a anomalias, como atualização, inserção e exclusão. Na anomalia de atualização, se uma tabela possui dados redundantes, ao atualizar os registros, eles não são atualizados corretamente, o que resulta na inconsistência dos dados.
  • No caso de anomalia de inserção, podemos entender melhor usando um exemplo de coluna que não pode ser atualizada com valores nulos se a tabela não permitir valores nulos. A anomalia de exclusão aparece na imagem, se precisarmos excluir um determinado registro e se esse registro estiver presente em outras linhas da tabela, e a exclusão desse registro específico também excluirá o registro das outras linhas.
  • Para superar a atualização, inserir e excluir anomalias, os dados precisam ser normalizados. A normalização elimina dados redundantes e também garante as dependências de dados. Além disso, a Normalização ajuda a armazenar os dados logicamente e reduz o espaço para armazenar o banco de dados.
  • Várias formas normais que são comumente usadas no sistema de gerenciamento de banco de dados relacional são: primeira forma normal, segunda forma normal, terceira forma normal, forma normal de Boyce-Codd (BCNF), etc. Para obter a segunda forma normal, a primeira forma normal deve ser alcançado primeiro, que é um dos critérios para fazer com que a tabela ou os dados estejam na segunda forma normal. A regra para a Primeira forma normal (1NF) é que um atributo de uma coluna não pode conter vários valores, mas deve conter valores atômicos.

Como funciona o segundo formulário normal?

Antes de aprofundar o conceito de Normalização, vamos nos concentrar em alguns elementos fundamentais envolvidos nas tabelas e relações do banco de dados. Uma chave no RDBMS é usada para identificar registros exclusivamente em uma tabela e uma chave pode ser uma única coluna ou várias colunas. Uma chave primária é uma coluna única usada para identificar os registros exclusivamente. Uma chave primária composta consiste em várias colunas, que também são usadas para identificar registros exclusivos. No segundo formulário normal, precisamos obter uma chave primária de coluna única. Uma chave estrangeira em uma tabela é usada para identificar os registros em outra tabela exclusivamente. Na Segunda Forma Normal, cada atributo não chave na relação deve depender funcionalmente da chave primária.

Abaixo estão algumas etapas para garantir que os dados estejam no Segundo formulário normal:

  1. A primeira forma normal deve ser alcançada.
  2. Removendo subconjuntos de dados aplicáveis ​​a várias linhas em uma tabela e colocando-os em tabelas diferentes.
  3. Usando chaves estrangeiras para garantir relacionamentos entre as tabelas criadas.

Exemplos

Para entender melhor as formas normais, tomemos o exemplo da tabela abaixo e depois as etapas para obter a segunda forma normal.

Vamos dar o exemplo da tabela abaixo 'teacher_details'.

Eu iriaNomeassuntos
1289Ramesh SawantMatemática, Ciências
5678Shruti ShahInglês
1267Nikhil DasHistória, Estudos Sociais
3409Pooja SharmaEconomia

A tabela acima contém as matérias específicas ensinadas por cada professor. Aqui, as colunas 'Assuntos' não contêm valores atômicos e, para Id 1289 e 1267, há mais de um assunto presente na coluna 'Assuntos'. Como podemos ver que a coluna 'Assuntos' não possui valores atômicos, precisamos primeiro tornar a tabela compatível com a Primeira forma normal seguindo o abaixo.

Eu iriaNomeassuntos
1289Ramesh SawantMatemática
1289Ramesh SawantCiência
5678Shruti ShahInglês
1267Nikhil DasHistória
1267Nikhil DasEstudos Sociais
3409Pooja SharmaEconomia

Agora a tabela acima está na Primeira forma normal, pois todos os atributos têm valor atômico.

Aqui, as chaves primárias compostas são 'Id ' e 'Name'. A coluna 'Assuntos' é o atributo não primário. Também aqui a coluna 'Assuntos' depende apenas da coluna ' Nome ', que faz parte da chave primária composta. Portanto, a tabela não atende à condição do Segundo formulário normal.

Para tornar a tabela compatível com o Segundo formulário normal, precisamos dividir a tabela acima nas duas tabelas, como mostrado abaixo.

Tabela teacher_info como mostrado abaixo:

Eu iriaNome
1289Ramesh Sawant
5678Shruti Shah
1267Nikhil Das
3409Pooja Sharma

Tabela subject_details como mostrado abaixo:

Eu iriaassuntos
1289Matemática
1289Ciência
5678Inglês
1267História
1267Estudos Sociais
3409Economia

Removemos a dependência funcional inicial da tabela. Portanto, na tabela subject_details, a coluna 'Subject' depende totalmente da chave primária da tabela, ou seja, 'Id'.

Vantagens da segunda forma normal

Abaixo estão algumas das vantagens de usar a segunda forma normal.

  1. Dados redundantes são reduzidos com mais eficiência.
  2. Os dados são consistentes no banco de dados.
  3. Melhora a flexibilidade na criação de um banco de dados.
  4. Também melhora a organização geral dos dados no banco de dados.
  5. Também melhora a segurança do banco de dados.

Conclusão

  • Para a implementação bem-sucedida de um sistema de gerenciamento de banco de dados, que atenda aos requisitos de dados de um sistema corporativo, o design de um banco de dados é fundamental. A normalização ajuda a alcançar o design e a manutenção de um Sistema de Gerenciamento de Banco de Dados, garantindo a consistência e a dependência dos dados.
  • Embora o Segundo formulário normal remova os subconjuntos de dados aplicáveis ​​a várias linhas em uma tabela e garanta a relação entre as tabelas usando a chave estrangeira, ainda é necessário remover a dependência funcional transitiva do atributo não primário em qualquer super chave dá origem ao uso da Terceira Forma Normal. Portanto, o uso do Segundo Formulário Normal depende dos requisitos estabelecidos pela empresa e deve ser escolhido com cuidado ao projetar o Sistema de Gerenciamento de Banco de Dados.

Artigos recomendados

Este foi um guia para a segunda forma normal. Aqui discutimos o que é a segunda forma normal? Como funciona a segunda forma normal? junto com um exemplo apropriado. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Tipos de junções no SQL Server
  2. O que é injeção de SQL?
  3. Perguntas da entrevista do Oracle PL / SQL
  4. Carreiras em SQL
  5. Os 6 principais tipos de junções no MySQL com exemplos