L'atomicité des donnés : Chaque colonne doit contenir uniquement des valeurs atomiques
On ne doit pas avoir de valeurs composées ou plusieurs valeurs par colonnes
| Personne | |||
|---|---|---|---|
| ID | Nom | ||
| 1 | Pierre Lunard | p.lunard@gmail.com, pierre.lunard1@uqac.ca | |
| 2 | Paul Bédard | p.bedard@gmail.com | |
| 3 | Jean-Michel Lapinthe | jm.lapinthe@gmail.com | |
| Personne | |||
|---|---|---|---|
| ID | Nom | Prenom | |
| 1 | Lunard | Pierre | p.lunard@gmail.com, pierre.lunard1@uqac.ca |
| 2 | Bédard | Paul | p.bedard@gmail.com |
| 3 | Lapinthe | Jean-Michel | jm.lapinthe@gmail.com |
| Personne | ||||
|---|---|---|---|---|
| ID | Nom | Prenom | email1 | email2 |
| 1 | Lunard | Pierre | p.lunard@gmail.com | pierre.lunard1@uqac.ca |
| 2 | Bédard | Paul | p.bedard@gmail.com | |
| 3 | Lapinthe | Jean-Michel | jm.lapinthe@gmail.com | |
| Personne | ||
|---|---|---|
| ID | Nom | Prenom |
| 1 | Lunard | Pierre |
| 2 | Bédard | Paul |
| 3 | Lapinthe | Jean-Michel |
| ID | adresse | |
|---|---|---|
| 1 | p.lunard@gmail.com | |
| 1 | pierre.lunard1@uqac.ca | |
| 2 | p.bedard@gmail.com | |
| 3 | jm.lapinthe@gmail.com | |
Tout ce qui est 2NF est aussi 1NF
Les attributs d’une relation sont divisés en deux groupes : le premier groupe est composé de la clé (un ou plusieurs attributs). Le deuxième groupe est composé des autres attributs (éventuellement vide). La deuxième forme normale stipule que tout attribut du deuxième groupe ne peut pas dépendre d’un sous-ensemble (strict) d’attribut(s) du premier groupe. En d’autres termes : « Un attribut non clé ne dépend pas d’une partie de la clé mais de toute la clé. »
etudiantCours(idEtudiant, IdCours, noteObtenue, nomEtudiant, nomCours)
On doit plutôt faire :
etudiantCours(idEtudiant, IdCours, noteObtenue)
étudiant(id, nom, prenom)
cours()id, nomCours)
Toute ce qui est 3NF est aussi 2NF
Aucun attribut non clé doit dépendre d'un autre attribut non clé.
Dans certains cas précis, il peut être intéressant de ne pas respecter la 3ème forme normale
| EtudiantDepartement | |||
|---|---|---|---|
| ID | Nom | ID_Departement | SigleDepartement |
| 1 | Lunard | 2 | INFO |
| 2 | Bédard | 3 | COMMERCE |
| 3 | Lapinthe | 4 | GEOLOGIE |
| Departement | ||
|---|---|---|
| ID | SIGLE | |
| 2 | INFO | |
| 3 | COMMERCE | |
| 4 | GEOLOGIE | |
| Etudiant | ||
|---|---|---|
| ID | NOM | Departement |
| 1 | Lunard | 2 |
| 2 | Bedard | 3 |
| 3 | Lapinthe | 4 |
Les 3 premières formes normales étaient basées sur les dépendances fonctionnelles pour réduire les redondances.
La 4eme et la 5eme formes normales sont basées sur les dépendances multivaluées.
Rappel : Dans une relation R, on dit qu'il y a dépendance fonctionnelle entre un ensemble d'attributs A et un ensemble d'attributs B, ou que l'ensemble A d'attributs détermine l'ensemble B d'attributs
Une dépendance multivaluée est une situation dans laquelle, un ensemble d'attribut peut avoir la même valeur pour plusieurs tuples. La dépendance fonctionnelle est un cas spécifique de la dépendance multivaluée !
Pour être en 4FN, il faut respecter la 3FN. Pour toute relation de dimension n (avec n supérieur à 1), les relations de dimension n − 1 construites sur sa collection doivent avoir un sens. Il ne doit pas être possible de reconstituer les occurrences de la relation de dimension n par jointure de deux relations de dimension n − 1. Cette normalisation conduit parfois à décomposer une relation complexe en deux relations plus simples.
| ISBN |
AUTEUR | THEME |
|---|---|---|
| 1 | TREMBLAY | BDD |
| 1 | GAGNON | BDD |
| 1 | TREMBLAY | RELATIONNEL |
| 1 |
GAGNON | RELATIONNEL |
Donc pour passer cette table en 4NF on fait :
| ISBN |
AUTEUR |
|---|---|
| 1 | TREMBLAY |
| 1 | GAGNON |
| ISBN |
THEME |
|---|---|
| 1 | BDD |
| 1 | RELATIONNEL |
La 5eme forme normale est la dernière forme normale de décomposition de table. Une Base de données est en 5eme forme normale il n'est plus possible de décomposer les tables en plus petites tables sans perte d'information.
Il est très rare qu'une base de donnée en 4eme forme normale ne respecte pas les conditions de la 5eme forme normale. Cependant il peut y avoir des exceptions
Pour toute relation de dimension n (avec n supérieur à 2) en quatrième forme normale, il ne doit pas être possible de retrouver l’ensemble de ses occurrences par jointure sur les occurrences des relations partielles prises deux à deux. Cette normalisation conduit parfois à décomposer une relation complexe en plusieurs relations plus simples.
Le non-respect de la 4FN et 5FN entraîne de la perte de données et les données manquent de précision.
Les 2 dernières formes normales sont rarement enseignées et utilisées en entreprise car elle sont basées sur des formes plutôt rare de modélisation, cependant, d'après une étude d'analyse des bases de données d'entreprise, 20% d'entre elles comportaient au moins une table ne respectant pas 4NF
1-2-3NF permettent de résoudre les problèmes de redondances des données, alors que 4-5NF permettent d'éviter la perte des données ainsi que le manque de précision de certaines données.
voici 3 questions à se poser sur chacun des attributs pour répondre à la plupart des règles de normalisation.
La donnée est elle atomique ?
La propriété a-t-elle toujours une valeur unique ?
Est-ce que cette propriété possède une liste finie de valeurs ?
Les réponses à ces 3 questions doivent être OUI OUI NON
Si ce n'est pas le cas, alors il faut recréer une table pour cette propriété