Académique Documents
Professionnel Documents
Culture Documents
Une mauvaise conception des entités et associations représentant le monde réel modélisé
conduit à des relations problématiques.
Une redondance des données conduit à des risques d'incohérences lors des mises à jour, Il
s'agit d'éliminer toute anomalie afin de faciliter la manipulation des relations:
Normalisation des relations
= Eclatement d'une relation donnée en plusieurs relations normalisées.
Objectifs :
• prendre en compte les contraintes d’intégrité : type, clé primaire, clé étrangère,
Qu’est-ce qu’une contrainte d’intégrité ? Comment prend-t-on en compte les contraintes d’intégrité ?
Comment se présente ces contraintes ?
1. Une définition
Les contraintes d’intégrité sont des règles qui édictent les propriétés que doivent respecter les champs
de la base de données (les champs correspondent aux attributs du modèle relationnel) afin de garantir
leur cohérence, leur pertinence et leur validité.
a. La contrainte de domaine
Toute valeur prise par un attribut dans le modèle relationnel (ou champ dans la base de données) doit
appartenir à un domaine défini pour cet attribut.
Cela revient à dire que chaque attribut doit prendre une valeur dans le domaine de valeurs.
Exemple : considérons l’association Jeunes auteurs en herbe, chaque membre doit avoir au moins 12
ans et au plus 25 ans. Si on construit la relation MEMBRE (nummembre, nommembre,
prenommembre, agemembre, adressemembre). Dans l’attribut agemembre, on ne peut saisir un âge
inférieur à 12 ans ou un âge supérieur à 25 ans.
b. La contrainte de relation
Chaque relation dans le modèle relationnel (ou champ dans la base de données) est identifiée par une
clé primaire qui doit être unique et non nulle. Donc, chaque tuple (ou enregistrement dans la base de
données) est également identifié par une clé primaire.
Exemple : « 32, Girard, Marie, 15ans, Orléans » est un tuple de la relation (ou enregistrement d’une
table dans la base de données) MEMBRE.
- premièrement, l’attribut (champ) nummembre permet d’identifier de façon unique chaque membre
car un seul numéro est attribué par membre, contrairement au nom qui peut être porté par plusieurs
personnes (d’une même famille par exemple).
- Deuxièmement, un membre dont l’attribut nummembre est vide (c’est-à-dire nul) signifie qu’il n’a
pas été enregistré, donc il ne fait pas (ou plus) partie de l’association.
Les clés étrangères permettent de relier les tables (ou relations) entre elles. Les valeurs de ces clés
étrangères sont incluses dans le domaine de valeur de la clé primaire dont elles sont issues.
Remarque : pour respecter la contrainte d’intégrité référentielle, la clé étrangère devra être de même
taille et de même type que la clé primaire.
Exemple : Reprenons notre association Jeunes auteurs en herbe, chaque membre est parrainé par un
auteur confirmé et le plus souvent reconnu au moins d’un point de vue régional. Ces auteurs
composent la relation AUTEUR définie par les attributs suivants : numauteur, nomauteur,
nummembre.
Les relations MEMBRE et AUTEUR sont donc reliées par l’attribut nummembre (c’est une
clé étrangère). Par conséquent, les relations s’écrivent : MEMBRE (nummembre, nommembre,
prenommembre, agemembre, adressemembre) ;AUTEUR (numauteur, nomauteur, #nummembre).
L’essentiel
Les contraintes d’intégrité sont des règles que les attributs des relations doivent respecter afin
d’assurer le bon fonctionnement du modèle.
N.B : Tout d’abord, chaque attribut doit prendre une valeur dans le domaine de valeurs. Puis, chaque
relation doit être identifiée par une clé primaire unique et non nulle. Enfin, Les valeurs des clés
étrangères sont incluses dans le domaine de valeurs de la clé primaire dont elles sont issues.