Modèle entité-association et normalisation

Informatique de gestion · Bachelor 2

Concevoir un schéma relationnel : modèle E-A, clés, dépendances fonctionnelles et formes normales.

Introduction

La conception d'une base de données relationnelle commence par une modélisation conceptuelle. Le modèle entité-association (E-A) décrit les entités du domaine (Client, Commande, Article), leurs attributs et les associations qui les relient, avec leurs cardinalités (un-à-plusieurs, plusieurs-à-plusieurs). Il est ensuite traduit en tables, en choisissant des clés primaires et des clés étrangères.

La normalisation évite la redondance et les anomalies de mise à jour, d'insertion et de suppression. Elle repose sur les dépendances fonctionnelles entre attributs. La première forme normale (1FN) exige des valeurs atomiques ; la deuxième (2FN) supprime les dépendances partielles vis-à-vis d'une clé composée ; la troisième (3FN) supprime les dépendances transitives d'un attribut non clé vers un autre attribut non clé.

En informatique de gestion, une bonne conception garantit la cohérence des données (un même client, un même prix) dans les applications de facturation, de gestion de stock ou de ressources humaines. Une dénormalisation volontaire peut toutefois se justifier pour des besoins de performance en lecture, notamment en entrepôt de données.

Objectifs d'apprentissage

  • Construire un modèle E-A avec cardinalités à partir d'un énoncé de gestion
  • Traduire un modèle E-A en schéma relationnel avec clés primaires et étrangères
  • Identifier des dépendances fonctionnelles
  • Normaliser une table jusqu'à la troisième forme normale
  • Reconnaître les anomalies de mise à jour dues à la redondance

Concepts clés

Entité, attribut, association
Une entité représente un objet du domaine ; l'association exprime un lien entre entités, avec une cardinalité minimale et maximale de chaque côté.
Clés primaire et étrangère
La clé primaire identifie de façon unique chaque ligne ; la clé étrangère référence la clé primaire d'une autre table et garantit l'intégrité référentielle.
Association plusieurs-à-plusieurs
Elle se traduit par une table d'association dont la clé primaire est composée des clés étrangères des deux entités (par exemple Commande et Article via LigneCommande).
Dépendance fonctionnelle
A → B signifie que la valeur de A détermine celle de B. Elle est à la base des formes normales.
Formes normales 1FN, 2FN, 3FN
1FN : valeurs atomiques. 2FN : pas de dépendance partielle d'une clé composée. 3FN : pas de dépendance transitive entre attributs non clés.

Conclusion

Un modèle E-A rigoureux et un schéma normalisé évitent les incohérences et facilitent la maintenance. La normalisation jusqu'à la 3FN est la référence pour les systèmes transactionnels.

La dénormalisation reste un outil de performance à utiliser sciemment, jamais comme point de départ.

Cartes

Que décrit un modèle entité-association ?
Les entités du domaine, leurs attributs et les associations entre elles avec leurs cardinalités, indépendamment de toute technologie.
Comment traduit-on une association 1-N en relationnel ?
En plaçant la clé primaire du côté « 1 » comme clé étrangère dans la table du côté « N ».
Comment traduit-on une association N-N ?
Par une table d'association contenant les clés étrangères des deux entités, souvent avec des attributs propres (quantité, date).
Qu'est-ce que l'intégrité référentielle ?
La garantie qu'une valeur de clé étrangère correspond toujours à une valeur existante de la clé primaire référencée (ou est nulle).
Que demande la première forme normale (1FN) ?
Que chaque attribut contienne une valeur atomique, sans liste ni groupe répétitif.
Que demande la deuxième forme normale (2FN) ?
Être en 1FN et qu'aucun attribut non clé ne dépende d'une partie seulement de la clé primaire composée.
Que demande la troisième forme normale (3FN) ?
Être en 2FN et qu'aucun attribut non clé ne dépende d'un autre attribut non clé (pas de dépendance transitive).
Donnez un exemple de dépendance transitive.
NoCommande → CodeClient → NomClient : le nom du client dépend du code client, pas directement de la commande.
Quelle anomalie provoque la redondance du nom du client dans chaque commande ?
Une anomalie de mise à jour : changer le nom oblige à modifier toutes les lignes, au risque d'incohérences.
Quand une dénormalisation peut-elle se justifier ?
Pour accélérer des lectures fréquentes ou dans un entrepôt de données, en acceptant la redondance contrôlée.

Glossaire

Entité
Objet ou concept du domaine identifiable et décrit par des attributs.
Cardinalité
Nombre minimal et maximal d'occurrences d'une entité dans une association.
Clé primaire
Attribut ou groupe d'attributs identifiant de façon unique chaque ligne d'une table.
Clé étrangère
Attribut référençant la clé primaire d'une autre table.
Dépendance fonctionnelle
Relation où la valeur d'un attribut détermine celle d'un autre.
Normalisation
Processus de décomposition d'un schéma pour éliminer la redondance et les anomalies.