Accéder au contenu principal

Qu'est-ce que la première forme normale (1NF) ?

Découvrez comment la première forme normale (1NF) peut améliorer la conception de votre base de données en imposant l'atomicité dans vos tableaux.
Actualisé 22 janv. 2025  · 8 min de lecture

Si vous débutez dans les bases de données, vous n'avez peut-être jamais été confronté au chaos des données désordonnées et redondantes, ni à la frustration des requêtes très lentes. Mais croyez-moi, après avoir travaillé pendant cinq ans dans diverses start-ups et avoir eu affaire à toutes sortes de structures de bases de données, je peux vous dire que ces questions se posent plus souvent que vous ne le souhaiteriez.

La normalisation des bases de données est l'un des meilleurs moyens de résoudre ces problèmes, et tout commence par la première forme normale (1NF). 1NF est un concept simple mais puissant qui permet de créer des bases de données efficaces, fiables et faciles à maintenir en imposant l'atomicité dans vos tableaux. C'est également l'étape de base pour d'autres formes de normalisation, comme la 2NF et la 3NF.

Dans cet article, je vais vous présenter tout ce que vous devez savoir sur la 1NF : ce que c'est, comment l'appliquer dans la pratique et pourquoi c'est important. Que vous soyez novice en matière de conception de bases de données ou que vous cherchiez simplement à améliorer vos compétences, ce guide vous aidera à mettre à jour vos tableaux et à poser des bases solides pour les étapes de normalisation à venir.

Évolution historique de la normalisation des bases de données

Lorsque les bases de données ont été développées pour la première fois, leurs structures étaient loin d'être ce que nous considérons comme "normalisé" aujourd'hui. Les premiers systèmes de base de données reposaient souvent sur des fichiers plats ou des structures hiérarchiques, ce qui rendait la gestion et l'extraction des données fastidieuses. Ces modèles présentaient des limites importantes, notamment la redondance des données, l'incohérence et le manque de flexibilité. L'évolution de la normalisation des bases de données, à commencer par la première forme normale, a permis de relever ces défis et de révolutionner la manière dont nous stockons et gérons les données.

L'origine de la 1NF 

Le concept de première forme normale a été introduit par Edgar F. Codd, largement considéré comme le père des bases de données relationnelles. Dans les années 1970, Codd a proposé le modèle relationnel comme alternative aux modèles hiérarchiques et de réseau qui dominaient les premiers systèmes de base de données. Sa motivation était claire : créer une approche systématique de l'organisation des données qui réduirait la redondance, éliminerait les anomalies et rendrait la manipulation des données plus efficace.

Au cœur de ce modèle se trouve la 1NF, qui établit la règle fondamentale selon laquelle chaque cellule d'un tableau de base de données doit contenir une seule valeur atomique, et les groupes répétitifs doivent être éliminés. Ce principe a permis de résoudre des problèmes communs aux systèmes antérieurs, tels que des mises à jour incohérentes et des difficultés à interroger des données imbriquées ou groupées. Les travaux de Codd sur la normalisation ont non seulement permis de résoudre des problèmes immédiats, mais ont également ouvert la voie à des structures et des opérations de base de données plus avancées.

Des premières bases de données aux systèmes modernes

L'adoption de la norme 1NF a marqué un tournant dans le développement des bases de données. Il a formalisé le processus d'organisation des données en tableaux avec des relations claires, jetant les bases des systèmes SQL qui dominent aujourd'hui le paysage des bases de données.

Avant la 1NF, les systèmes tels que le système de gestion de l'information (IMS) d'IBM reposaient sur des structures hiérarchiques qui nécessitaient des conceptions arborescentes rigides. Ces systèmes avaient du mal à s'adapter à l'évolution des données ou des besoins de l'entreprise. Avec l'introduction de 1NF et du modèle relationnel, les bases de données sont devenues plus flexibles, permettant des relations dynamiques entre les tableaux et une plus grande évolutivité.

Modèle de base de données hiérarchique

Source : Airbyte

Les systèmes modernes de gestion de bases de données relationnelles (SGBDR) tels que MySQL, PostgreSQL et Microsoft SQL Server doivent leurs principes de conception aux concepts fondamentaux de la 1NF. Ces systèmes permettent aux développeurs de travailler avec des données bien structurées, ce qui facilite grandement l'exécution de requêtes, de mises à jour et d'intégrations complexes.

Adoption par l'industrie

Les avantages pratiques de la 1NF - et de la normalisation des bases de données en général - se sont rapidement imposés dans tous les secteurs d'activité. Dans le secteur bancaire, par exemple, 1NF a aidé à gérer les dossiers des clients et l'historique des transactions en veillant à ce que les données soient stockées dans un format cohérent et interrogeable. Les détaillants utilisaient 1NF pour suivre les stocks, les ventes et les commandes des clients. Les systèmes de gestion des stocks sont un autre domaine dans lequel 1NF s'est avéré inestimable. En structurant les données sous forme atomique et non répétitive, les fabricants pouvaient tenir des registres précis des composants, des niveaux de stock et des mouvements de la chaîne d'approvisionnement.

Conditions d'obtention de la première forme normale

Pour atteindre le 1NF, il faut remplir 4 conditions essentielles :

  • Unicité des lignes: Chaque ligne doit être unique, avec un identifiant distinct. Pour ce faire, on utilise généralement une clé primaire qui garantit qu'il n'y a pas de lignes en double.
  • Aucune hypothèse de commande: L'ordre dans lequel les lignes sont stockées ou récupérées ne doit pas avoir d'importance pour la conception de la base de données.
  • Atomicité: Chaque colonne doit contenir des valeurs atomiques (indivisibles). Cela signifie qu'il ne peut y avoir d'ensembles, de tableaux ou de listes de valeurs dans une seule colonne.
  • Pas de colonnes dupliquées: Il ne doit pas y avoir de colonnes répétées (c'est-à-dire qu'il ne doit pas y avoir deux colonnes contenant le même type d'information).

Les deux premières conditions sont généralement respectées par conception dans la plupart des bases de données modernes. Dans cet article, nous nous concentrerons donc sur les deux dernières : l'atomicité et l'unicité des colonnes.

Étapes de décomposition des tableaux pour obtenir la fonction 1NF

Il existe des étapes simples à suivre pour décomposer un tableau qui viole la 1NF.

Étape 1 : Identifier les valeurs non atomiques et les groupes répétitifs

La première étape consiste à repérer les colonnes qui stockent plusieurs valeurs dans une seule cellule ou qui, pour éviter cela, sont répétées. Ces violations se présentent souvent comme suit :

  • Listes ou tableaux (par exemple, plusieurs numéros de téléphone dans une colonne, séparés par une virgule).
  • Tableaux ou structures imbriqués dans une seule cellule.
  • Plusieurs colonnes représentant le même type de données (par exemple, trois colonnes intitulées Numéro de téléphone1, NuméroTéléphone2, NuméroTéléphone3)

Étape 2 : Séparer les valeurs dans de nouvelles lignes

Ensuite, nous devons restructurer le tableau de manière à ce que chaque cellule ne contienne qu'une seule valeur et que chaque colonne représente un seul type de données. Cela implique souvent

  • Dupliquer les lignes si nécessaire pour s'assurer que toutes les combinaisons de données sont préservées.
  • Création de nouvelles lignes, voire de nouveaux tableaux, pour organiser correctement les données.

Étape 3 : Assurer la cohérence

Après la restructuration, vérifiez que votre tableau répond aux exigences 1NF suivantes. Si vous n'êtes pas sûr, posez-vous la question suivante : "Puis-je trier, filtrer ou interroger les données facilement sans traitement supplémentaire ? "Chaque colonne représente-t-elle un type d'attribut et chaque ligne un enregistrement unique ? Si vous avez répondu oui aux deux questions, le tableau est en 1NF.

Exemples pratiques de la première forme normale

Maintenant que nous comprenons les étapes de la transformation d'un tableau et de l'obtention de la première forme normale, examinons deux exemples pratiques de première forme normale.

Exemple 1 : Tableau des commandes clients

Imaginez un Commandes de clients qui ressemble à ceci :

CustomerID Nom Produit1 Produit2 OrderDate
1 Alice Pommes Bananas 2025-01-10
2 Bob Oranges Raisins 2025-01-11

Qu'est-ce qui ne va pas ?

Ce tableau est en contradiction avec la méthode 1NF parce qu'il contient plusieurs colonnes, Produit1 et Produit2 qui font référence au même type de données (produits)l.

Comment y remédier ?Pour obtenir une FNI, divisez les données en lignes distinctes de sorte que chaque cellule ne contienne qu'une seule valeur :

CustomerID Nom Produit OrderDate
1 Alice Pommes 2025-01-10
1 Alice Bananas 2025-01-10
2 Bob Oranges 2025-01-11
2 Bob Raisins 2025-01-11

Pourquoi est-ce important ?

Dans ce premier exemple de forme normale, nous avons éliminé l'ambiguïté et simplifié l'interrogation et l'analyse des données. Il est désormais très facile de trouver tous les clients qui ont commandé des bananes !

Exemple 2 : Tableau des notes des élèves

Prenons un Notes des étudiants qui ressemble à ceci :

StudentID Nom Grades
101 Sarah A, B, C
102 Michael B, A, A

Qu'est-ce qui ne va pas ?

Les Notes viole la 1NF car elle stocke plusieurs notes dans une seule cellule, au lieu d'utiliser des valeurs atomiques.

Comment y remédier ?Pour respecter la méthode 1NF, nous devons créer des lignes distinctes pour chaque grade :

StudentID Nom Grade
101 Sarah A
101 Sarah B
101 Sarah C
102 Michael B
102 Michael A
102 Michael A

Pourquoi est-ce important ?

La décomposition des notes en valeurs atomiques améliore l'organisation des données et facilite le calcul des moyennes, l'identification des élèves les plus performants ou l'analyse de la répartition des notes.

Si vous souhaitez mettre la main à la pâte et créer vos propres bases de données, jetez un coup d'œil à notre cours PostgresQL. Si vous êtes un peu plus avancé, vous pouvez essayer cette Introduction à la modélisation des données dans Snowflake, qui couvre des idées telles que la modélisation entité-relation et la modélisation dimensionnelle.

Avantages et inconvénients de la première forme normale

Examinons les avantages et les inconvénients :

Avantages de 1NF

L'adoption de la norme 1NF offre certains avantages clés qui rendent le travail avec les bases de données beaucoup plus facile et plus efficace. 

En imposant des valeurs atomiques, il élimine le risque de données désordonnées et concaténées telles que "Pommes, Bananes" dans une ligne et "Pommes;Bananes" dans une autre. Cette uniformité rend les données plus propres et plus simples à lire, à interroger et à mettre à jour.

La 1NF rend également la manipulation des données beaucoup plus simple. Grâce aux valeurs atomiques, vous pouvez facilement rechercher, filtrer et mettre à jour les données sans rencontrer de problèmes. Par exemple, une requête portant sur les "pommes" est beaucoup plus rapide et précise lorsque chaque produit se trouve dans sa propre ligne, au lieu d'être regroupé dans une seule colonne. Il réduit également le risque d'incohérences lors des mises à jour, puisque les modifications sont contenues dans des lignes spécifiques.

Limites de la méthode 1NF

1NF n'est pas une solution parfaite. La conversion de colonnes répétitives en lignes distinctes ou la décomposition de cellules à valeurs multiples en lignes individuelles peut entraîner une augmentation de la longueur du tableau. Un plus grand nombre de lignes peut signifier un plus grand nombre de données à trier, ce qui peut avoir un impact sur les performances de la requête.

Il est important de noter que la 1NF n'est pas une fin en soi car elle ne s'attaque pas à toutes les formes de redondance. Les questions telles que les dépendances partielles ou transitives sont traitées dans des formes normales supérieures, telles que la deuxième forme normale et la troisième forme normale. Ainsi, bien que la 1NF soit une base solide, elle n'est que la première étape de la normalisation de la base de données et ne permet pas à elle seule d'optimiser complètement la structure d'une base de données.

Dépasser la première forme normale : Vers la deuxième forme normale (2NF)

Les premiers formulaires de normalisation des bases de données

Les premiers formulaires de normalisation des bases de données. Source : Auteur

Une fois que vous avez établi que votre base de données est en première forme normale, la prochaine étape logique consiste à passer à la deuxième forme normale. La 2NF s'appuie sur les fondations établies par la 1NF en abordant un problème clé : les dépendances partielles.

En 2NF, l'objectif est d'éliminer les dépendances partielles, qui se produisent lorsqu'un attribut non premier (un attribut qui ne fait pas partie de la clé primaire) ne dépend que d'une partie d'une clé primaire composite. Ceci est particulièrement important dans les tableaux dont les clés sont composées, c'est-à-dire composées de plusieurs colonnes. Cela peut sembler un peu abstrait, mais j'ai rédigé ce guide sur la deuxième forme normale, qui décompose le concept et présente des exemples pratiques. Vous le maîtriserez en un rien de temps !

Conclusion

La première forme normale est la première étape de la normalisation d'une base de données. Elle garantit que chaque colonne contient des valeurs atomiques et élimine les colonnes répétitives.

Comme elle prépare le terrain pour des formes de normalisation plus avancées telles que la 2NF et la 3NF, vous devrez très probablement adopter la 1NF si vous envisagez de construire des bases de données efficaces, évolutives et faciles à maintenir, capables de traiter des requêtes complexes et des ensembles de données volumineux avec facilité !

Si vous êtes prêt à aller plus loin, découvrez notre cours sur la conception des bases de données pour approfondir votre compréhension des techniques de normalisation et de leurs applications pratiques. Vous pouvez également valider vos compétences en SQL et en gestion de bases de données et démontrer votre expertise à des employeurs potentiels grâce à notre certification SQL Associate!


Marie Fayard's photo
Author
Marie Fayard

Ingénieur logiciel senior, rédacteur technique et conseiller avec une formation en physique. Nous nous engageons à aider les jeunes entreprises à atteindre leur potentiel et à rendre des concepts complexes accessibles à tous.

FAQ 1NF

Puis-je sauter la 1NF et passer directement aux formes normales supérieures comme la 2NF ou la 3NF ?

Non, 1NF est une étape fondamentale dans la normalisation des bases de données. Il est nécessaire d'atteindre la 1NF avant de passer à des formes normales supérieures telles que la 2NF ou la 3NF, car elles s'appuient sur la structure établie par la 1NF.

La 1NF est-elle la même pour tous les types de bases de données ?

Alors que les bases de données relationnelles exigent 1NF, les bases de données NoSQL (comme MongoDB) peuvent ne pas suivre cette règle. Dans les systèmes NoSQL, les données sont souvent stockées d'une manière qui ne respecte pas strictement les principes de normalisation.

Quels outils puis-je utiliser pour vérifier si mon tableau est en 1NF ?

Bien qu'il n'existe pas d'outil spécifique permettant de vérifier automatiquement la 1NF, vous pouvez utiliser des outils de conception de base de données tels que MySQL Workbench ou dbdiagram.io pour visualiser votre schéma. Vous pouvez également vérifier manuellement l'atomicité de vos données et vous assurer qu'il n'y a pas de groupes ou de tableaux répétitifs.

Sujets

Apprenez avec DataCamp

Certification disponible

cours

Conception de la base de données

4 hr
83.4K
Apprenez à concevoir des bases de données en SQL pour traiter, stocker et organiser les données de manière plus efficace.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow