Vous êtes sur la page 1sur 4

Normalisation

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.

L’approche par décomposition

A partir d'une relation composée de tous les attributs (relation universelle), on


décompose cette relation en sous-relations sans anomalies.
Le processus de décomposition est un processus de raffinement successif qui doit
aboutir à isoler des entités et des associations du monde réel à partir d'une bonne
compréhension des propriétés sémantiques des données, de sorte à obtenir une décomposition
sans perte.
Méthodes de décomposition
 Les Dépendances Fonctionnelles
 Les Formes Normales
On considère la relation COMMANDE dont le schéma est donné par :
- COMMANDE (N°Commande, date, N°Client, nom, N°Article, désignation, quantité)

 Première forme normale (1NF)


La mise en première forme normale permet d’éliminer les groupes répétitifs dans une
table. La démarche à suivre est la suivante :
 Sortir le groupe répétitif de la relation initiale.
 Transformer le groupe répétitif en relation, rajouter dans la clé de la nouvelle
relation la clé primaire de la relation initiale.
 Deuxième forme normale (2FN)

 Exige que la relation soit en 1FN


 Ne concerne que les relations à clé primaire composée
 Impose que les attributs non clé primaire dépendent de la totalité de la clé
primaire. Tout attribut qui ne dépendrait que d’une partie de la clé sera exclu de
la table. Le processus est le suivant :
- Regrouper dans une relation les attributs dépendant de la totalité de la clé, et
conserver cette clé pour cette relation.
- Regrouper dans une autre relation les attributs dépendant d’une partie de la
clé et faire de cette partie de la clé, la clé primaire de la nouvelle relation.

 Troisième forme normale (3FN)

 Exige que la relation soit en 2FN


 Permet d’éliminer des dépendances transitives au sein d’une relation. La
démarche est la suivante :
- Conserver dans la relation initiale les attributs dépendant directement de la clé
- Regrouper dans une relation les attributs dépendant transitivement. L’attribut
de transition reste dupliqué dans la relation initiale et devient la clé primaire de
la nouvelle association.
 Résultat final

LES CONTRAINTES D’INTEGRITE

Objectifs :

• définir les contraintes d’intégrité,

• prendre en compte les contraintes d’intégrité : type, clé primaire, clé étrangère,

• présenter les contraintes d’intégrité : domaine, relation, référence.

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

2. Les différentes contraintes d’intégrité

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.

Vérifions les deux propriétés de la clé primaire :

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

c. La contrainte de référence ou contrainte d’intégrité référentielle

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).

Les valeurs de l’attribut « nummembre » de la relation MEMBRE sont obligatoirement


incluses dans les valeurs de « #nummembre » dans la relation AUTEUR.

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.

Trois contraintes doivent être respectées : la contrainte de domaine, la contrainte de relation et la


contrainte de référence, encore appelée la contrainte d’intégrité référentielle.

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.

Vous aimerez peut-être aussi