Leçon 34 : Première Forme Normale (1NF)
La 1FN est l'exigence de base pour qu'une table soit considérée comme faisant partie du modèle relationnel.
Règle 1 : Valeurs Atomiques
Chaque colonne d'une ligne doit contenir une seule valeur atomique. 'Atomique' signifie indivisible.
- Exemple de Violation : Avoir une colonne
PhoneNumbersqui contient une liste de plusieurs numéros de téléphone ('555-1234, 555-5678'). - Correction : Diviser les données complexes en plusieurs colonnes (
HomePhone,WorkPhone) ou, de préférence, les déplacer dans une table séparée et liée (PhoneNumbersliée par une Clé Étrangère).
Règle 2 : Pas de Groupes Répétitifs
Il ne devrait pas y avoir de colonnes répétitives (champs utilisés plusieurs fois pour stocker le même type de données).
- Exemple de Violation : Une table avec les colonnes
Item1,Item2,Item3,Item4pour stocker les produits d'une commande.
| OrderID | Item1 | Item2 | Item3 |
|---|---|---|---|
| 100 | Milk | Eggs | Bread |
| 101 | Chair | NULL | NULL |
- Correction : Créer une table
OrderItemsséparée et la relier à la tableOrdersà l'aide d'une Clé Étrangère (créant une relation 1:N).
| OrderID (FK) | ItemName |
|---|---|
| 100 | Milk |
| 100 | Eggs |
| 100 | Bread |
| 101 | Chair |
Cette structure garantit que nous adhérons à la règle 1FN : chaque cellule ne contient qu'une seule valeur, et il n'y a pas de groupes structurels répétitifs.