Bases de données relationnelles Hiver 2021

Geoffrey Glangine, MSc

8TRD151

Normalisation de la modélisation

Intéret de la normalisation :

  • Niveau de qualité
  • Vérifier la robustesse de la conception
  • Éviter les redondances de données
  • Éviter les problèmes de coérence
  • 6 niveaux de forme normale

Premère forme normale 1NF

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

Un exemple

Personne
ID Nom email
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

Un exemple

Personne
ID Nom Prenom email
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

Un exemple

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

Un exemple

Personne
ID Nom Prenom
1 Lunard Pierre
2 Bédard Paul
3 Lapinthe Jean-Michel

Un exemple

email
ID adresse
1 p.lunard@gmail.com
1 pierre.lunard1@uqac.ca
2 p.bedard@gmail.com
3 jm.lapinthe@gmail.com

Seconde forme normale

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é. »

Un exemple

etudiantCours(idEtudiant, IdCours, noteObtenue, nomEtudiant, nomCours)

On doit plutôt faire :

etudiantCours(idEtudiant, IdCours, noteObtenue)

étudiant(id, nom, prenom)

cours()id, nomCours)

troisième forme normale 3NF

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

Un exemple

EtudiantDepartement
ID Nom ID_Departement SigleDepartement
1 Lunard 2 INFO
2 Bédard 3 COMMERCE
3 Lapinthe 4 GEOLOGIE

Un exemple

Departement
ID SIGLE
2 INFO
3 COMMERCE
4 GEOLOGIE

Etudiant
ID NOM Departement
1 Lunard 2
2 Bedard 3
3 Lapinthe 4

Formes normales 4 et 5 NF

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.

Les dépendances Fonctionnelles

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

Les dépendances multivaluées

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 !

4FN

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

Les dépendances multivaluées

Donc pour passer cette table en 4NF on fait :

ISBN
AUTEUR
1 TREMBLAY
1 GAGNON
ISBN
THEME
1 BDD
1 RELATIONNEL

La normalisation 5NF

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.

Résumé des formes normales et de la normalisation

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.

Résumé des formes normales et de la normalisation

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é