Qual é a primeira forma normal?

Antes de entender a Primeira Forma Normal, é preciso ter o conhecimento do que é Normalização e por que é feito? A normalização em termos gerais é a técnica de organização dos dados no banco de dados, a fim de reduzir a anomalia de inserção, exclusão e atualização e remover a redundância de dados. Esse processo divide as tabelas maiores em tabelas menores e as vincula entre si por meio de relacionamentos das chaves primárias e estrangeiras. Dados duplicados e não normalizados não apenas consomem memória extra, como também dificultam o gerenciamento da tabela durante a inserção, exclusão e atualização de tabelas à medida que o número de dados aumenta. Portanto, é muito importante normalizar as tabelas antes de projetar o banco de dados de qualquer aplicativo.

O primeiro formulário normal escrito como 1NF define as regras fundamentais da normalização de dados e é o primeiro formulário usado durante a normalização dos dados das tabelas. Ele define certos princípios básicos de normalização de dados que precisam ser cumpridos por todas as tabelas. Alguns dos princípios são apresentados abaixo:

  • Cada coluna deve ter valores atômicos únicos (valores que não podem ser divididos ainda mais).
  • Cada coluna da tabela não possui valores compostos e valores repetidos, pois dificulta a pesquisa dos valores da coluna com vários valores. Portanto, cada coluna deve ter um único valor único.
  • Os valores armazenados em uma coluna devem ter o mesmo domínio em 1NF.
  • Todas as colunas presentes na tabela devem ter nomes exclusivos.
  • Uma tabela deve ter uma chave primária exclusiva usada para identificar cada registro de maneira diferente.

Como funciona o primeiro formulário normal?

De acordo com os principais princípios do 1NF mencionados acima,

  • Não deve haver valores compostos para uma coluna que possa ser dividida ainda mais. Se houver uma coluna em uma tabela com um valor que possa ser dividido ainda mais, uma tabela separada deverá ser criada para esse atributo com colunas diferentes nessa tabela com uma chave primária exclusiva. Por exemplo, em uma tabela Employee, para o employee_address que pode ser dividido ainda mais, deve haver uma tabela separada de Employee_address com Employee_id como chave primária e House No, City e Pincode como colunas diferentes.

Empregado da tabela (antes do 1NF)

Emp_idEmp_nameEmp_ageEmp_address
101Raghu25Xyz colônia, agra, 258996
102Rakesh28.R $ 30.000Preço: r $ 40.000
103Rahul45Casa no .123, perto de hospital, varanasi, 245687

Como o Emp_address possui muitos dados para o endereço, para um único Funcionário, estar em 1NF, a tabela acima pode ser decomposta em duas tabelas abaixo:

Tabela1: Detalhes do funcionário (após 1NF)

Emp_idEmp_nameEmp_age
101Raghu25
102Rakesh28.
103Rahul45

Tabela2: Endereço do funcionário (após 1NF)

Emp_idEmp_housenoEmp_cityEmp_pincode
101Casa no. 564, colônia Xyzagra258996
102Estrada plana 304, xyzlucknow568975
103Casa no .123, perto do hospitalvaranasi245687
    Deve haver valores atômicos para uma coluna que é indivisível em 1NF. Por exemplo, em uma tabela Employee, pode haver vários projetos Emp_ que ele / ela manipulou até agora. Para ter um registro de todos os projetos desse funcionário, deve haver um registro separado para cada projeto de um funcionário com valor único, em vez de os projetos serem separados por ', '

Tabela: Emp_projects (Antes de 1NF)

Emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ISTOabc, jkl
1022ISTObcd
1035ContasAbc, cfg, xyz, hjk

Tabela: Emp_projects (após 1NF)

Emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ISTOabc
1013ISTOjkl
1022ISTObcd
1035ContasAbc
1035Contascfg
1035Contasxyz
1035Contashjk

Tabela: Emp_projects com vários valores repetidos no exemplo acima pode ser dividido em duas tabelas para reduzir a repetição:
Não deve haver valores repetidos presentes na tabela, pois consome muita memória extra e também torna a pesquisa e atualização lentas e a manutenção do banco de dados se torna difícil. Por exemplo, na tabela acima de Employee_Projects, há muitos valores repetidos desnecessários de Emp_id, Emp_years_of_experience e Emp_dept, portanto, uma nova tabela precisa ser criada para isso, a fim de reduzir a repetição de valores.

Tabela 1:

Emp_idAnos_de_experiênciaEmp_dept
1013ISTO
1022ISTO
1035Contas

Mesa 2:

Emp_idEmp_projects
101abc
101jkl
102bcd
103Abc
103cfg
103xyz
103hjk

Vantagens da primeira forma normal

Abaixo estão algumas das vantagens da Primeira Forma Normal (1NF):

  • Uma das principais vantagens do 1NF é que ele remove os valores repetidos desnecessários criando uma tabela separada e, portanto, não cria nenhum problema ao inserir, excluir e atualizar os valores no banco de dados.
  • Trabalhar com tabelas com colunas com vários valores separados por ', ' é muito difícil ao procurar um valor específico no banco de dados dividindo todos os valores de uma coluna e convertendo-os novamente em um formato específico, desperdiçando muito tempo e memória iniciar. O 1NF facilita a criação de linhas diferentes para valores diferentes.
  • O 1NF forma a base e é o princípio principal seguido durante a criação de um banco de dados e, portanto, é o Formulário Normal mais importante para que as tabelas continuem a ser normalizadas com 2NF e 3NF.
  • 1NF é importante, pois cria uma dependência funcional entre as duas tabelas usando a Chave Primária e a Chave Estrangeira, que desempenham um papel crucial ao trabalhar com tabelas de um banco de dados.
  • O 1NF permite que os usuários usem efetivamente as consultas ao banco de dados, pois remove a ambiguidade removendo os valores nulos e múltiplos de uma coluna que cria grandes problemas no futuro enquanto atualiza e extrai o banco de dados.

Conclusão

Ao trabalhar com os bancos de dados e criar tabelas para qualquer aplicativo no início, é muito importante normalizar todas as tabelas, pois isso ajuda a eliminar a inserção, exclusão e atualização de anomalias. A normalização também remove custos e tempo futuros. Menos valores nulos e menos dados redundantes tornam o banco de dados mais compacto. Através da Normalização, são criadas mais tabelas, o que ajuda na manutenção fácil e eficiente dos dados. Através da Normalização, obviamente, o melhor desempenho da pesquisa e classificação é garantido por índices e chaves e o 1NF desempenha um papel vital nele.

Artigos recomendados

Este é um guia para o Primeiro formulário normal. Aqui discutimos a definição, trabalho e vantagens da primeira forma normal, juntamente com seus exemplos. Você também pode consultar os seguintes artigos para saber mais -

  • O que é o MySQL?
  • O que é o esquema do MySQL?
  • Operadores MySQL
  • Servidor MySQL