Vous êtes sur la page 1sur 58

Bases de données et systèmes

d'information

Pr. : Khaddouj TAIFI

Niveau : MIP (S4)

Année :2022/2023

Pr. : K. TAIFI
26 février 2023 26 février 2023 1 / 58
Plan

1 Chapitre 3 : Modèle relationnel

Pr. : K. TAIFI 26 février 2023 2 / 58


Chapitre 3 : Modèle relationnel

Plan

1 Chapitre 3 : Modèle relationnel


Concepts de base
Dépendance fonctionnelles
Formes normales
Règles d'intégrité

Pr. : K. TAIFI 26 février 2023 3 / 58


Chapitre 3 : Modèle relationnel

Le modèle relationnel

Un modèle logique de données


Repose sur la théorie des ensembles
Représentation formelle et compacte de la perception d'une réalité
Une seule notion pour modéliser les données
Relation

Pr. : K. TAIFI 26 février 2023 4 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Concepts de base

Pr. : K. TAIFI 26 février 2023 5 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Domaine

Dénition
Un domaine est un ensemble de valeurs atomique (il ne contient qu'une
seule valeur) d'un certain type sémantique.
Exemples :
NOM_SPORT = (judo, tennis, foot )
NOM_VILLE = ( Errahidia, Rabat, Casa )
Des domaines sont les ensembles de valeurs possibles dans lesquels sont
puisées les données.
Deux ensembles peuvent avoir les mémes valeurs bien que sémantiquement
distincts.
Exemples :
NUM_ELV= (1, 2,..., 2000)
NUM_ANNEE=(1, 2,..., 2000)

Pr. : K. TAIFI 26 février 2023 6 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Produit cartésien

Dénition
Le produit cartésien D1 Ö D2 Ö ... Ö Dn est l'ensemble des tuples
(n-uplets) ;
Exemples :
D1={1,2}, D2={A,B}
Produit cartésien de D1 et D2 est :
D1ÖD2={(1,A),(1,B),(2,A),(2,B)}

Pr. : K. TAIFI 26 février 2023 7 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Relation

Dénition
Une relation est un sous ensemble nommé du produit cartésien d'une liste
de domaine (plusieurs domaines).
Sous ensemble du produit cartésien de plusieurs domaines :
R ⊂ D1 Ö D2 Ö ... Ö Dn
D1, D2, ... , Dn sont les domaines de R avec n est le degré de R
Exemple :
Les domaines :
NOM_ELV ={TAIFI, SEBNAT}
PRENOM_ELV={fatima, adil}
NOM_SPORT = (judo, tennis, foot )
La relation ELEVE
ELEVE ⊂ NOM_ELV Ö PRENOM_ELV Ö NOM_SPORT
NOM_ELV Ö PRENOM_ELV Ö NOM_SPORT {(TAIFI,fatima, judo),
(SEBNAT,adil, judo),... }
ELEVE ={(TAIFI,fatima, judo), (SEBNAT,adil,foot)}
Pr. : K. TAIFI 26 février 2023 8 / 58
Chapitre 3 : Modèle relationnel Concepts de base

Relation

Dénition 2
Une relation est représentée sous la forme d'un tableau à deux dimensions
dans lequel les n attributs correspondent aux titres des n colonnes et les
lignes les données appelées les tuples (N-uplet ou occurences,
enregistrement,instance de la relation).
Toute relation a un nom unique
Le tableau suivant montre un exemple de relation et précise son schéma.

Pr. : K. TAIFI 26 février 2023 9 / 58


Chapitre 3 : Modèle relationnel Concepts de base

n-uplet

Dénition
n_uplet (tuple) est un enregistrement (ou une ligne) dans une relation (ou
une table).
Formé d'un ensemble de valeurs associées aux attributs
Exemple :
(idriss est un élève né le 1/1/1992 )
(nom,datenaiss)

Pr. : K. TAIFI 26 février 2023 10 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Attribut

Dénition
Un attribut est une représentation d'une propriété d'une relation.
Chaque composante d'une relation est un attribut
Le nom donné à un attribut est porteur de sens
Plusieurs attributs peuvent avoir le même domaine
Exemple :
La relation TRAJET :
TRAJET ⊂ NOM_VILLE Ö NOM_VILLE
Dans laquelle la première composante représente la ville de départ VD, la
deuxième composante la ville d'arrivée VA d'un trajet.

Pr. : K. TAIFI 26 février 2023 11 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Dénition
Degré d'une relation : C'est le nombre des attributs dans une relation
Cardinalié d'une relation : C'est le nombre de ses occurences
Exemple :
Degré d'une relation Commande= 3
Cardinalié d'une relation=4

Pr. : K. TAIFI 26 février 2023 12 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Clé primaire

Dénition
Une clé primaire d'une relation est un sous-ensemble minimal d'attributs
permettant d'identier de manière unique un tuple parmi tous les tuples de
la relation. Les attributs qui forment la clé primaire sont soulignés.
Une clé détermine un n-uplet de façon unique
Pour trouver la clé d'une relation, il faut examiner attentivement les
hypothèses sur le monde réel
Une relation peut posséder plusieurs clés, on les appelle clés candidates
Dans une relation, la valeur de la clé dans un tuple doit être connue
(elle ne peut pas être une valeur null) appelle clés candidates
Toute relation doit comporter une clé primaire

Pr. : K. TAIFI 26 février 2023 13 / 58


Chapitre 3 : Modèle relationnel Concepts de base

La clé d'une relation

Exemple :
Quelle est la clé dans la relation Produit(Code_prod , nom_prod, prix)
Code_prod  (nom_prod, prix)
Code_prod est une clé

La clé de la relation Produit est :(Code_prod)

Pr. : K. TAIFI 26 février 2023 14 / 58


Chapitre 3 : Modèle relationnel Concepts de base

La clé d'une relation

Quelle est la clé dans la relation Etudiant(Nom, Prenom, Num_inscription,


Spec)
Le groupe d'attributs(Nom, Prénom) d'une relation Etudiant est en général
une maivaise clé, car les homonymes existent.

La clé de la relation Etudiant est :(Num_inscription)

Pr. : K. TAIFI 26 février 2023 15 / 58


Chapitre 3 : Modèle relationnel Concepts de base

La clé d'une relation

Quelle est la clé dans la relation Note(NumEtud, CodeMod, Note)

La clé de la relation Note est :(NumEtud, CodeMod)

Pr. : K. TAIFI 26 février 2023 16 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Clé étrangère

Clé étrangère
Une clé étrangère dans une relation est formée d'un ou plusieurs attributs
qui constituent une clé primaire dans une autre relation. Un attribut clé
étrangère est précédé du symbole dièse

Attention : Seule une clé primaire peut être référencée par une clé étrangère

Pr. : K. TAIFI 26 février 2023 17 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Avantages des clés étangères

Éviter la duplication des données

Les informations sur un auteur sont répétées autant de fois qu'il y a de


livres écrits par cet auteur.
Si une information (e.g. la nationalité) d'un auteur change, il faut faire
autant de mises à jour qu'il y a de livres écrits par cet auteur.
Pr. : K. TAIFI 26 février 2023 18 / 58
Chapitre 3 : Modèle relationnel Concepts de base

Avantages des clés étangères

Assurer l'intégrité des données

On veut ajouter le livre  Apprendre le C++  qui a un IDAuteur = 4.


Il n'existe aucun auteur dont l'ID = 4 ) Ajout impossible

Pr. : K. TAIFI 26 février 2023 19 / 58


Chapitre 3 : Modèle relationnel Concepts de base

Notation compacte du modèle relationnel

Pour chaque relation, son nom suivi de la liste de ses attributs entre
des parenthèses ;
Souligner les clés primaires ;
Placer si possible les attributs faisant partie de la clé primaire en
premier ;
Chaque clé étrangère est précédée du symbole dièse ;
Placer si possible les attributs clé étrangère vers la n ;
Indiquer quel attribut de quelle relation est référencé par

Pr. : K. TAIFI 26 février 2023 20 / 58


Chapitre 3 : Modèle relationnel Dépendance fonctionnelles

Dépendance fonctionnelles

Pr. : K. TAIFI 26 février 2023 21 / 58


Chapitre 3 : Modèle relationnel Dépendance fonctionnelles

Dépendance fonctionnelles

Dénition
Soit R(A1, A2, ...., An) un schéma de relation
Soit X et Y des sous ensembles de (A1,A2,...An) On dit que Y dépend
fonctionnellement de X (X->Y) si à chaque valeur de X correspond une
valeur unique de Y
On écrit : X  Y
On dit que : X détermine Y
Exemple :
personne (CIN, nom, prénom)
CIN  (nom, prénom)
Dépendance fonctionnelle (DF) peut porter sur la concaténation de
plusieurs attributs
NOTE (no_contrôle, no_élève, note)
(no_contrôle, no_élève)  note
La réciproque est fausse
Une clé détermine un n-uplet de façon unique
Pr. : K. TAIFI 26 février 2023 22 / 58
Chapitre 3 : Modèle relationnel Dépendance fonctionnelles

D.F. élémentaire

Dénition 2
D.F. X -> A mais A est un attribut unique non inclus dans X et il n'existe
pas de X' inclus dans X tel que X' -> A
Exemple D.F. élémentaire :
(no_contrôle, no_élève)  note

Pr. : K. TAIFI 26 février 2023 23 / 58


Chapitre 3 : Modèle relationnel Dépendance fonctionnelles

D.F. directe

Dénition
on dit qu'il y'a D.F directe, si :
AB et s'il n'existe pas de propriété C telle que :
AC et CB (on élémine toute la transitivité)
Exemple
no_commande no_client (directe)
no_clientnom_client (directe)
no_commande nom_client (indirecte)

Pr. : K. TAIFI 26 février 2023 24 / 58


Chapitre 3 : Modèle relationnel Dépendance fonctionnelles

Exercice d'application1

Rappel énoncé : On a les données suivantes sur des élèves avec le DFs :
Matricule  Nom, Age
Matricule  Club
Club  Salle
1. Que signie chaque DFs ?
2. Trouver la clé de la relation

Pr. : K. TAIFI 26 février 2023 25 / 58


Chapitre 3 : Modèle relationnel Dépendance fonctionnelles

Réponse de Exercice d'application1

1) Une dépendance fonctionnelle DF établit d'abord une relation entre


donnée, en plus d'être fonctionnelle.
Matricule  Nom, Age, signie qu'il y a d'abord la relation "le
matricule le nom et l'âge d'un certain élève" entre Matricule, Nom et
Age. Ensuite, le nom et l'âge sont unique pour un élève identié par
un matricule.
Matricule  Club, signie un élève est "inscrit" ou "participe" à un
club donné. En plus, ce club est unique (un élève ne participe pas à
plus d'un club).
Club  Salle, signie qu'un club "a un local qui est une salle". Cette
salle est unique, (aucun club ne dispose de plus d'un local).
2) La clé de la relation est :
Si on considère la relation ELEVE (Matricule, Nom , Age, Club, Salle)
on peut dire que l'attribut Matricule est clé, car il détermine tous les autres
attributs, y compris Salle (la DF Matricule  Salle est transitive).
ELEVE (Matricule, Nom , Age, Club, Salle)
Pr. : K. TAIFI 26 février 2023 26 / 58
Chapitre 3 : Modèle relationnel Dépendance fonctionnelles

Exercice d'application2

Dans une agence commerciale, nous avons la table initiale ci-dessous :

NumCom dateCom NumCli AdrCli NumProd Prix Quantité

NC001 08/04/2020 NC09 Rue c,1,CASA NP1000 200 8

NC002 01/06/2020 NC25 Rue a,8,MARAKECH NP5000 500 2

NC003 08/07/2020 NC10 Rue a,8,rabat NP3000 100 8

NC003 08/07/2020 NC10 Rue a,8,rabat NP1000 200 1

NCOO4 09/08/2020 NC09 Rue c,1,CASA NP2000 100 3

1. Déterminer les dépendances fonctionnelles possibles ?


2. Quelle est la clé de cette relation ?

Pr. : K. TAIFI 26 février 2023 27 / 58


Chapitre 3 : Modèle relationnel Dépendance fonctionnelles

Réponse de Exercice d'application2

1. Les dépendances fonctionnelles :


NumCom  DateCom
NumCom  NumCli
NumCli  AdrCli
NumCom  AdrCli (aussi on peut dire que NumCom détermine
AdrCli par transitivité)
NumProd  Prix
NumCom, NumProd  Qte
2. La clé de la relation est :
On peut alors dire que (NumCom, NumProd) déterminent tous les autres
attributs. C'est donc une clé.
COMMANDE (NumCom, NumProd, DateCom, NumCli, AdrCli, Prix,
Qte)

Pr. : K. TAIFI 26 février 2023 28 / 58


Chapitre 3 : Modèle relationnel Formes normales

Formes normales

Pr. : K. TAIFI 26 février 2023 29 / 58


Chapitre 3 : Modèle relationnel Formes normales

Normalisation

Le processus de modélisation proposé passant par le modèle EA et ensuite


par le MR pourrait produire certaines anomalies indésirables.
L'objectif de cette manipulation consiste à modier le modèle
relationnel initialement créé par le concepteur an :
d'éliminer toutes les redondances ;
de découper adéquatement les structures dépendantes.
Ainsi, la robustesse de la nouvelle solution permettra :
une meilleure compréhension des interrelations entre chacune des
données ;
de minimiser la tâche de modication de la structure lorsqu'on désirera
la mettre à jour avec de nouveaux éléments ;
d`éviter la redondance (intégrité ainsi que contre-performance liée) ;
d'éviter les anomalies transactionnelles : insertion, suppression et de
mise à jour ;
de faciliter l'écriture des requêtes non prévues au moment de la
conception

Pr. : K. TAIFI 26 février 2023 30 / 58


Chapitre 3 : Modèle relationnel Formes normales

Formes normales

Formellement, il existe neuf formes normales :


Formes normales
la 1er forme normale :  1NF  ;
la 2e forme normale :  2NF  ;
la 3e forme normale :  3NF  ;
la forme normale de clé élémentaire :  EKNF  ;
la forme normale de Boyce Codd :  BCNF  ;
la 4e forme normale :  4NF  ;
la 5e forme normale :  5NF  ;
la forme normale domaine clef :  DKNF  ;
la 6e forme normale :  6NF .
Très souvent, le processus de normalisation respecte uniquement les trois
premières formes normales.
Dans le cadre du cours, on mettra l'emphase sur les 3 premières ;
Pr. : K. TAIFI 26 février 2023 31 / 58
Chapitre 3 : Modèle relationnel Formes normales

Formes normales :1FN

Formes normales :1FN


Une relation respecte la 1ère forme normale si et seulement si :
tous les attributs sont atomiques (indivisible).
Impacts :
les attributs composites sont interdits ;

Pr. : K. TAIFI 26 février 2023 32 / 58


Chapitre 3 : Modèle relationnel Formes normales

Formes normales :1FN

Id Nom Salaire
3 Bernard,Alain 9000
5 Labbé,Charles 6000
8 Barrete,Patricia 12000
9 Cadieux,Violette 8000

Id Nom Prénom Salaire

3 Bernard Alain 9000


5 Labbé Charles 6000
8 Barrete Patricia 12000

9 Cadieux Violette 8000

Pr. : K. TAIFI 26 février 2023 33 / 58


Chapitre 3 : Modèle relationnel Formes normales

Formes normales :2FN

Formes normales :2FN


Une relation respecte la 2ème forme normale si et seulement si :
elle respecte la 1ère forme normale ;
tous les attributs non clés sont complètement dépendants de la clé
primaire (ne dépent pas d'une partie d'une clé).
Impacts :
permet d'éliminer plusieurs redondances ;

Pr. : K. TAIFI 26 février 2023 34 / 58


Chapitre 3 : Modèle relationnel Formes normales

Formes normales :2FN

Pr. : K. TAIFI 26 février 2023 35 / 58


Chapitre 3 : Modèle relationnel Formes normales

Formes normales :3FN

Formes normales :3FN


Une relation respecte la 3ème forme normale si et seulement si :
elle respecte la 2ème forme normale ;
tous les attributs non clés sont dépendants non transitivement de la clé
primaire (ne dépend pas d'un ou plusieurs attributs ne participant pas à
la clé).

Pr. : K. TAIFI 26 février 2023 36 / 58


Chapitre 3 : Modèle relationnel Formes normales

Formes normales :3FN

Pr. : K. TAIFI 26 février 2023 37 / 58


Chapitre 3 : Modèle relationnel Formes normales

Exercice d'application 3

COMMANDE (NumCom, NumProd, DateCom, NumCli, AdrCli, Prix, Qte)


1. Déterminer les dépendances fonctionnelles
2. Quelle est la clé de cette relation ?
3. Quelle est la forme normale de cette relation ? Mettre la relation en 3 FN.

Pr. : K. TAIFI 26 février 2023 38 / 58


Chapitre 3 : Modèle relationnel Formes normales

1. Déterminer les dépendances fonctionnelles

COMMANDE (NumCom, NumProd, DateCom, NumCli, AdrCli, Prix, Qte)


Liste des dépendances fonctionnelles :
NumCom  DateCom (Une commande est faite à une date donnée)
NumCom NumCli (Une commande est faite par un seul client)
NumCli  AdrCli (Un client a une seul adresse)
NumCom AdrCli (par transitivité : Une commande est faite par un seul
client avec une adresse donnée)
NumProd  Prix (Il y un seul prix pour un produit)
NumCom, NumProd  Qte (Dans une commande, un produit est
commandé avec une quantité donnée)

Pr. : K. TAIFI 26 février 2023 39 / 58


Chapitre 3 : Modèle relationnel Formes normales

2.Quelle est la clé de cette relation ?

Une clé
Une clé est un attribut(champ ou colonne) ou un ensemble d'attributs qui
déterminent les autres attributs de la relation(la table)
NumCom est la clé ? est ce que NumCom détermine tous les autres
attributs de la relation :
d'aprés les dépendances fonctionnelles
NumCom  DateCom (oui)
NumCom NumCli (oui)
NumCom AdrCli (oui)
NumCom NumProd (non)
NumCom Prix (non)
NumCom  Qte (non)
alors NumCom ne détermine pas tous les attributs de la relation alors
NumCom pas la clé de la relation
Pr. : K. TAIFI 26 février 2023 40 / 58
Chapitre 3 : Modèle relationnel Formes normales

2.Quelle est la clé de cette relation ?

NumCli est la clé ? est ce que NumCli détermine tous les autres attributs
de la relation :
d'aprés les dépendances fonctionnelles
NumCli  DateCom (non)
NumCli NumCom(non)
NumCli AdrCli (oui)
NumCli NumProd (non)
NumCli Prix (non)
NumCli  Qte (non)
alors NumCli ne détermine pas tous les attributs de la relation alors NumCli
pas la clé de la relation

Pr. : K. TAIFI 26 février 2023 41 / 58


Chapitre 3 : Modèle relationnel Formes normales

2.Quelle est la clé de cette relation ?

NumProd est la clé ? est ce que NumProd détermine tous les autres
attributs de la relation :
d'aprés les dépendances fonctionnelles
NumProd  DateCom (non)
NumProd NumCom(non)
NumProd AdrCli (non)
NumProd NumCli (non)
NumProd Prix (oui)
NumProd  Qte (non)
alors NumProd ne détermine pas tous les attributs de la relation alors
NumProd pas la clé de la relation

Pr. : K. TAIFI 26 février 2023 42 / 58


Chapitre 3 : Modèle relationnel Formes normales

2.Quelle est la clé de cette relation ?

NumCom et NumProd est la clé ? est ce que la clé (NumCom et NumProd)


détermine tous les autres attributs de la relation :
d'aprés les dépendances fonctionnelles
NumCom, NumProd  DateCom (oui)
puisque le numCom détermine la DateCom donc si on ajoute un attribut
dans la partie à droite tjrs la dépendance reste correct
NumCom, NumProd AdrCli (oui)
NumCom, NumProd NumCli (oui)
NumCom, NumProd Prix (oui)
oui puisque le numProd détermine le prix donc si on ajoute un attribut
dans la partie à gauche tjrs la dépendance reste correct
NumCom, NumProd  Qte (oui)
alors NumCom, NumProd détermine tous les attributs de la relation alors
(NumCom, NumProd) est la clé de la relation
COMMANDE (NumCom, NumProd, DateCom, NumCli, AdrCli, Prix,
Qte)
Pr. : K. TAIFI 26 février 2023 43 / 58
Chapitre 3 : Modèle relationnel Formes normales

3.Quelle est la forme normale de cette relation ?

Cette table est t-elle en premiére forme normale ?


Une relation est en premiére forme normale si tout les attributs contient
une valeur atomique.
COMMANDE (NumCom, NumProd, DateCom, NumCli, AdrCli, Prix,
Qte)
La relation COMMANDE est en premiére forme normale

Pr. : K. TAIFI 26 février 2023 44 / 58


Chapitre 3 : Modèle relationnel Formes normales

3.Quelle est la forme normale de cette relation ?

Cette table est t-elle en deuxième forme normale ?


Une relation est en deuxième forme normale si tout les attributs
n'appartenant pas à une clé ne dépent pas d'une partie d'une clé.
COMMANDE (NumCom, NumProd, DateCom, NumCli, AdrCli, Prix,
Qte)
NumCom  DateCom
NumCom NumCli
NumCom AdrCli
NumProd  Prix
Alors on dit que dans la relation COMMANDE il ya des attributs
n'appartenant pas à une clé dépent à d'une partie d'une clé et pas à la
totalité de la clé. Alors la relation COMMANDE est pas en deuxième forme
normale

Pr. : K. TAIFI 26 février 2023 45 / 58


Chapitre 3 : Modèle relationnel Formes normales

Passage en 2FN

2FN : Régle de décomposition 2FN


1. Regrouper dans une table les champs dépendant de la totalité de la clé.
2. Regrouper dans une autre table, les champs dépendant d'une la partie de
la clé et faire de cette partie la clé de cette nouvelle table.
COMMANDE (NumCom, NumProd, Qte)
COMMANDE_1 (NumCom, DateCom, NumCli, AdrCli)
COMMANDE_2 (NumProd, Prix)

Pr. : K. TAIFI 26 février 2023 46 / 58


Chapitre 3 : Modèle relationnel Formes normales

Troisième forme normale : 3FN

Cette table est t-elle en troisième forme normale ?


Tout attributs n'appartenant pas à une clé ne dépent pas d'un autre
attribut non clé
COMMANDE (NumCom, NumProd, Qte) est en 3FN
COMMANDE_2 (NumProd, Prix) est en 3FN
COMMANDE_1 (NumCom, DateCom, NumCli, AdrCli) n'est pas en 3FN
car il y'a une autre attribut non clé (AdrCli) dépent d'un autre attribut non
clé (NumCli)

Pr. : K. TAIFI 26 février 2023 47 / 58


Chapitre 3 : Modèle relationnel Formes normales

Régle de décomposition en 3FN

1. Conserver dans la table les champs dépendant directement de la clé.


COMMANDE (NumCom, NumProd, Qte) est en 3FN
COMMANDE_2 (NumProd, Prix) est en 3FN
2. Regrouper dans une autre table, les champs dépendant transitivement de
la clé .Le champ de transition reste dupliqué dans la table initiale et devient
la clé primaire dans nouvelle table.
COMMANDE_1 (NumCom, DateCom, NumCli, AdrCli) n'est pas en 3FN
car il y'a une autre attribut non clé (AdrCli) dépent d'un autre attribut non
clé (NumCli)
Alors passage COMMANDE_1 en 3FN
COMMANDE_1_1 (NumCom, DateCom, NumCli) en 3FN
COMMANDE_1_2 (NumCli, AdrCli) en 3FN

Pr. : K. TAIFI 26 février 2023 48 / 58


Chapitre 3 : Modèle relationnel Formes normales

La liste des table en 3FN est :

Commande_Produit (NumCom, NumProd, Qte)


Produit (NumProd, Prix)
Commande (NumCom, DateCom, NumCli)
Client (NumCli, AdrCli)

Pr. : K. TAIFI 26 février 2023 49 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Règles d'intégrité

Pr. : K. TAIFI 26 février 2023 50 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Règles d'intégrité

Les régles d'intégrité sont les assertions qui doivent être vériées par les
données contenues dans une base
Le modèle relationnel impose les contraintes structurelles suivantes :
Intégrité de domaine
Intégrité de clé
Intégrité référencielle
La gestion automatique des contraintes d'intégrité est l'un des outils les
plus importants d'une base de données.

Pr. : K. TAIFI 26 février 2023 51 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Règles d'intégrité

Intégrité de domaine
Les valeurs d'une colonne de relation doivent appartenir au domaine
correspondant :
Contrôle des valeurs des attributs
Contrôle entre valeurs des attributs

Pr. : K. TAIFI 26 février 2023 52 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Règles d'intégrité

Intégrité de clé
Les valeurs de clés primaires doivent être :
Unique : dans toute extension possible d'une relation, il ne peut exister
2 n-uplets ayant même valeur pour les attributs clés.
Non null : valeur conventionnelle pour représenter une information
inconnue.

Pr. : K. TAIFI 26 février 2023 53 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Exemple de intégrité de clé

Soit la relation R(A,B,C) avec l'extension suivante :

Quelle est la clé primaire de la relation R ?.


Réponse :
A ne peut pas être clé de R car la valeur a1 de A se répètent dans la
relation R. De même pour B (b1) et C (c2). (A, B) est une clé composée
de R car les valeurs de (A,B) ne se répètent pas dans R.

Pr. : K. TAIFI 26 février 2023 54 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Règles d'intégrité

Intégrité référencielle
Les valeurs de clés étrangères sont 'NULL' ou sont des valeurs de la clé
primaire auxquelles elles font référence.
Les contraintes de référence ont un impact important pour les opérations
de mises à jour, elle permettent d'éviter les anomalies de mises à jours,
exemple :
Commade(noCommande, DateCommade,noClient)
Client(noClient,nombreCommande)

Pr. : K. TAIFI 26 février 2023 55 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Règles d'intégrité

Insertion tuple noclient=X dans Commande


vérication si X existe dans Client
Suppression tuple noclient=X dans Client
soit interdire si X existe dans Commande
soit supprimer en cascade tuple X dans Commande
soit modier en cascade X=NULL dans Commande
Modication tuple no-client X en XX dans Client
soit interdire si X existe dans Commande
soit modier en cascade X en XX dans Commande

Pr. : K. TAIFI 26 février 2023 56 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Paramétrage des Relations dans Access

IdPro de Vente est une clé étrangère qui fait référence à la clé primaire
de Produit
Appliquer l'intégrité référentielle signie que l'on ne pourra pas avoir,
à aucun moment, une ligne de Vente avec un code produit IdPro
inexistant dans la table Produit.
Une valeur de clé étrangère peut être Null

Pr. : K. TAIFI 26 février 2023 57 / 58


Chapitre 3 : Modèle relationnel Règles d'intégrité

Exemple de intégrité référencielle

Soit les deux relations suivantes R1 (A, B, C) et R2 (D, E, A). Soit les
extensions suivantes des deux relations :

Expliquer si la contrainte d'intégrité référentielle entre A de R1 et A de R2


est respectée dans les deux extensions.
Réponse
Dans l'extension 1 la contrainte d'intégrité référentielle est respectée car
toute les valeur de l'attribut A de R2 existe dans A de R1. Dans l'extension
2 la contrainte d'intégrité référentielle n'est pas respectée car la valeur 5 de
l'attribut A de R2 n'existe pas parmi les valeurs de A de R1.
Pr. : K. TAIFI 26 février 2023 58 / 58

Vous aimerez peut-être aussi