Quelle est la première forme normale?

Avant de comprendre la première forme normale, il faut savoir ce qu'est la normalisation et pourquoi est-ce fait? La normalisation en termes généraux est la technique d'organisation des données dans la base de données afin de réduire l'anomalie d'insertion, de suppression et de mise à jour et de supprimer la redondance des données. Ce processus divise les tables plus grandes en tables plus petites et les relie les unes aux autres par le biais des relations entre les clés primaire et étrangère. Les données en double et non normalisées consomment non seulement de la mémoire supplémentaire, mais rendent difficile la gestion de la table lors de l'insertion, de la suppression et de la mise à jour des tables à mesure que le nombre de données augmente. Par conséquent, il est très important de normaliser les tables avant de concevoir la base de données d'une application.

La première forme normale écrite en 1NF définit les règles fondamentales de la normalisation des données et est la première forme utilisée lors de la normalisation des données des tables. Il définit certains principes de base de la normalisation des données qui doivent être respectés par chaque table. Certains des principes sont donnés ci-dessous:

  • Chaque colonne doit avoir des valeurs atomiques uniques (valeurs qui ne peuvent pas être divisées davantage).
  • Chaque colonne du tableau n'a pas de valeurs composites et de valeurs répétitives car il est difficile de rechercher les valeurs de la colonne ayant plusieurs valeurs. Ainsi, chaque colonne doit avoir une seule valeur unique.
  • Les valeurs stockées dans une colonne doivent être du même domaine que dans 1NF.
  • Toutes les colonnes présentes dans le tableau doivent avoir des noms uniques.
  • Une table doit avoir une clé primaire unique utilisée pour identifier chaque enregistrement différemment.

Comment fonctionne la première forme normale?

Selon les grands principes de 1NF mentionnés ci-dessus,

  • Il ne doit pas y avoir de valeurs composites pour une colonne qui peut être divisée davantage.S'il y a une colonne dans une table ayant une valeur qui peut être divisée davantage, alors une table distincte doit être créée pour cet attribut avec différentes colonnes dans cette table avec une clé primaire unique. Par exemple, dans une table Employé, pour l'employé_adresse qui peut être divisé davantage, il devrait y avoir une table distincte de Employée_adresse ayant Employé_id comme clé primaire et numéro de maison, Ville et Pincode comme colonnes différentes.

Employé de table (avant 1NF)

Emp_idEmp_nameEmp_ageEmp_address
101Raghu25Colonie Xyz, Agra, 258996
102Rakesh28Appartement 304, xyz road, lucknow, 568975
103Rahul45Maison n ° 123, près de l'hôpital, Varanasi, 245687

Comme l'Emp_address a tellement de données pour l'adresse, pour un seul employé, pour être dans 1NF, le tableau ci-dessus peut être décomposé en deux tableaux ci-dessous:

Tableau 1: Employee_details (après 1NF)

Emp_idEmp_nameEmp_age
101Raghu25
102Rakesh28
103Rahul45

Tableau 2: Employee_address (après 1NF)

Emp_idEmp_housenoEmp_cityEmp_pincode
101Numéro de maison. 564, colonie Xyzagra258996
102Appartement 304, route xyzchance568975
103Maison n ° 123, près de l'hôpitalvaranasi245687
    Il devrait y avoir des valeurs atomiques pour une colonne qui est indivisible en 1NF. Par exemple, dans une table Employé, il peut y avoir plusieurs Emp_projects qu'il / elle a gérés jusqu'à présent. Afin d'avoir un enregistrement de tous les projets de cet employé, il devrait y avoir un enregistrement séparé pour chaque projet d'un employé ayant une valeur unique au lieu de projets séparés par «, »

Tableau: Emp_projects (avant 1NF)

Emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ILabc, jkl
1022ILbcd
1035ComptesABC, CFG, XYZ, HJK

Tableau: Emp_projects (après 1NF)

Emp_idEmp_years_of_ex perienceEmp_deptEmp_projects
1013ILabc
1013ILjkl
1022ILbcd
1035ComptesAbc
1035Comptescfg
1035Comptesxyz
1035Compteshjk

Tableau: Emp_projects ayant plusieurs valeurs de répétition dans l'exemple ci-dessus peuvent être décomposés en deux tableaux pour réduire la répétition:
Il ne doit pas y avoir de valeurs répétitives dans le tableau. Les valeurs répétitives consomment beaucoup de mémoire supplémentaire et rendent également la recherche et la mise à jour lentes et la maintenance de la base de données devient difficile. Par exemple, dans le tableau ci-dessus de Employee_Projects, il y a beaucoup de valeurs répétitives inutiles de Emp_id, Emp_years_of_experience et Emp_dept, donc une nouvelle table doit être créée pour cela afin de réduire la répétition des valeurs.

Tableau 1:

Emp_idEmp_years_of_experienc eEmp_dept
1013IL
1022IL
1035Comptes

Tableau 2:

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

Avantages de la première forme normale

Vous trouverez ci-dessous certains des avantages de la première forme normale (1NF):

  • L'un des principaux avantages de 1NF est qu'il supprime les valeurs répétitives inutiles en créant une table distincte et ne crée donc aucun problème lors de l'insertion, de la suppression et de la mise à jour des valeurs dans la base de données.
  • Travailler avec les tables ayant les colonnes avec plusieurs valeurs séparées par ', ' est très difficile lors de la recherche d'une valeur spécifique dans la base de données en divisant toutes les valeurs d'une colonne et en les convertissant à nouveau dans un format spécifique, ce qui gaspille beaucoup de temps et de mémoire en elle. 1NF facilite la tâche en créant différentes lignes pour différentes valeurs.
  • 1NF constitue la base et est le principe le plus important qui est suivi lors de la création d'une base de données et est donc la forme normale la plus importante pour que les tables continuent à être normalisées avec 2NF et 3NF.
  • 1NF est important car il crée une dépendance fonctionnelle entre les deux tables à l'aide de la clé primaire et de la clé étrangère qui joue un rôle crucial lors de l'utilisation des tables d'une base de données.
  • 1NF permet aux utilisateurs d'utiliser efficacement les requêtes de base de données car il supprime l'ambiguïté en supprimant les valeurs nulles et multiples d'une colonne, ce qui crée des problèmes majeurs à l'avenir lors de la mise à jour et de l'extraction de la base de données.

Conclusion

Tout en travaillant avec les bases de données et en créant des tables pour n'importe quelle application au début, il est très important de normaliser toutes les tables car cela aide à éliminer les anomalies d'insertion, de suppression et de mise à jour. La normalisation supprime également les coûts et le temps futurs. Moins de valeurs nulles et moins de données redondantes rendent la base de données plus compacte. Grâce à la normalisation, davantage de tableaux sont créés, ce qui facilite la maintenance simple et efficace des données. Grâce à la normalisation, les meilleures performances de recherche et de tri sont assurément assurées par les index et les clés et 1NF y joue un rôle essentiel.

Articles recommandés

Ceci est un guide pour la première forme normale. Nous discutons ici de la définition, du fonctionnement et des avantages de la première forme normale ainsi que de ses exemples. Vous pouvez également consulter les articles suivants pour en savoir plus -

  • Qu'est-ce que MySQL?
  • Qu'est-ce que le schéma MySQL?
  • Opérateurs MySQL
  • Serveur MySQL