L2 Bases de données chapitre 3 : Le modèle Relationnel
LE MODELE RELATIONNEL
I- INTRODUCTION
Le modèle relationnel est un modèle ensembliste simple basé sur l’organisation des
données sous forme de table. Il présente une base solide pour traiter les problèmes de
cohérence et de redondance. La manipulation des données se fait selon le concept
mathématique de la théorie des ensembles c’est à dire l’algèbre relationnelle.
II- CONCEPTS DE BASE
1- Domaine
Un domaine est un ensemble de valeurs caractérisé par un nom
Exemple :
D_age : entier
D_sport : {football, handball, tennis, natation}
D_lieu : {stade_Menzeh, stade_ radès}
2- Produit cartésien
Le produit cartésien de plusieurs domaines D1, D2, …, Dn (D1 x D2 x … x Dn) est
l’ensemble des vecteurs < V1, V2, …, Vn > tel que Vi Di
Exemples :
D1 = {bleu, blanc, rouge}
D2 = {vrai, faux}
D1 x D2 =
Bleu Vrai
Bleu Faux
Blanc Vrai
Blanc Faux
Rouge Vrai
Rouge Faux
[Link] 1/8 ISET Radès
L2 Bases de données chapitre 3 : Le modèle Relationnel
D_sport x D_lieu =
Football stade_Menzeh
Handball stade_Menzeh
Tennis stade_Menzeh
Natation stade_Menzeh
Football stade_ radès
Handball stade_ radès
Tennis stade_ radès
Natation stade_ radès
3- Relation
Une relation est un sous ensemble du produit cartésien d’une liste de domaines. Elle
est caractérisée par un nom et représentée par une table.
Exemple :
Relation Compétition :
Sport Lieu
Football Stade_menzeh
Handball Stade_menzeh
Tennis Stade_menzeh
Natation Stade_menzeh
Football Stade_radès
Natation Stade_radès
Chaque ligne de cette table représente une occurrence de la relation. Elle est appelée
tuple.
Attribut :
C’est une colonne de la relation caractérisé par un nom et un domaine.
Exemple :
Sport : D_sport
Lieu : D_lieu
Clé :
On distingue quatre types de clé à savoir :
[Link] 2/8 ISET Radès
L2 Bases de données chapitre 3 : Le modèle Relationnel
✓ Clé candidate : c’est un ensemble d’attribut qui permet de définir un et un seul
enregistrement
✓ Clé primaire : est une clé candidate retenue comme clé de la relation
✓ Clé secondaire : toute clé candidate qui n’est pas tenue sur une clé primaire est
une clé secondaire
✓ Clé étrangère : c’est une clé primaire présente dans une autre relation
Schéma de relation :
Un schéma de relation est constitué du nom de la relation suivi de la liste de ses
attributs et de la définition de leurs domaines.
Nom_relation (attribut 1 : domaine 1, attribut 2 : domaine 2, …, attribut n :
domaine n)
Exemple :
Sportif ( nom : chaîne de caractères, prénom : chaîne de caractères, age : entier,
spécialité : D_sport)
OU BIEN
Sportif ( nom, prénom, age, spécialité )
nom : chaîne de caractères
prénom : chaîne de caractères
age : entier
spécialité : D_sport
Remarques :
- la relation ne doit pas contenir 2 lignes (tuples) identiques et l’ordre des tuples
d’une relation n’est pas significatif.
- On appelle degré d’un schéma de relation le nombre de ses attributs.
- On appelle cardinalité d’une relation le nombre de tuples.
- On appelle schéma relationnel l’ensemble des schémas des relations qui
modélisent le monde réel qu’on veut représenter.
- Une base de données relationnelle est définie par son schéma relationnel et est
constituée par l’ensemble des tuples de chacune de ses relations.
- Une relation est visualisée de manière simple à l’aide de table.
[Link] 3/8 ISET Radès
L2 Bases de données chapitre 3 : Le modèle Relationnel
Exemple :
Discipline ( Num_D, Libellé_D, Nature_D )
Lieu compétition ( Num_L, Libellé_L )
Epreuve ( N_E, Date_E, Heure_E, Num_D, Num_L )
Discipline :
Num_D Libellé_D Nature_D
001 Football Collective
002 Tennis Individuelle
003 Handball Collective
004 Natation Individuelle
Lieu compétition :
Num_L Libellé_L
001 Radès
002 Menzeh
003 Sousse
Epreuve :
N_E Date_E Heure_E Num_D Num_L
001 15/11/05 14 002 002
002 15/11/05 15 001 003
003 16/11/05 15 001 003
004 17/11/05 17 003 001
005 17/11/05 17 004 002
006 18/11/05 16 001 001
III- LES CONTRAINTES D’INTEGRITE
Les contraintes d’intégrité complètent la définition du schéma relationnel et
garantissent la cohérence des données dans la base.
1- Contrainte de domaine
A chaque attribut est associé un domaine conformément auquel il doit être manipulé.
[Link] 4/8 ISET Radès
L2 Bases de données chapitre 3 : Le modèle Relationnel
2- Contrainte d’unicité de la clé
Toute relation doit avoir une clé permettant d’identifier ses tuples. Une clé est un
ensemble minimal d’attributs dont la connaissance des valeurs permet d’identifier un
tuple unique.
3- Contrainte de référence ou d’intégrité référentielle :
Une clé étrangère dans une relation R1 doit être soit une valeur nulle, soit une valeur
d’une clé dans une relation R2.
Exemple : Clés étrangères
N_E Date_E Heure_E Num_D Num_L
001 15/11/05 14 002 ...
002 15/11/05 15 001 003
Valeurs de Num_D dans Valeur nulle autorisée
la relation Discipline
IV- LES REGLES DE PASSAGE DU MODELE E /A AU MODELE
RELATIONNEL
Règle 1 :
Chaque entité devient une relation.
Règle 2 :
Liaison 1 à plusieurs
0,1 0,n
E1 E2
1,1 1,n
- E2 est l’entité maître et E1 est l’entité esclave.
- L’identifiant de E2 migre dans E1 comme clé étrangère
- Les clés primaires sont soulignées et celle étrangères précédées par #
Exemple :
Etudiant Classe
NCE 1,1 0,n Num_classe
Nom Appartenir Nom_classe
Prénom
Age
[Link] 5/8 ISET Radès
L2 Bases de données chapitre 3 : Le modèle Relationnel
Etudiant ( NCE, Nom, Prénom, Age, #Num_classe)
Classe (Num_classe, Nom_classe)
Règle 3 :
Liaison plusieurs à plusieurs
0,n 0,n
E1 E2
1,n 1,n
- L’association devient une relation dont la clé est la concaténation des 2
identifiants des 2 relations.
Exemple :
Enseignant Matière
CIN 0,n Enseigner 1,n NOM_MAT
Nom Nbre heures Coef
Prénom
Enseignant (CIN, Nom, Prénom)
Matière (Nom_mat, Coef)
Enseigner (CIN, Nom_mat, Nbre_heures)
Règle 4 :
Liaison un à un
1,1 0,1
E1 E2
- L’identifiant de E2 devient un attribut (clé étrangère) dans E1
Exemple :
Facture Commande
Num_fact 1,1 Facturation 0,1 Num_com
Date_fact Date_com
Montant
Facture (Num_fact, Date_fact, Montant, # Num_com)
Commande (Num_com, Date_com)
[Link] 6/8 ISET Radès
L2 Bases de données chapitre 3 : Le modèle Relationnel
Règle 5 :
Cas de généralisation :
- Les sous-types ont leurs propres identifiants qui vont devenir des clés des
tables
- L’identifiant du sur-type sera une clé étrangère dans les tables du sous type.
Exemple :
Etudiant
CODETUD
Nom
Datnaiss •Étudiant ( CODEtud , nom ,
adresse )
• EtudTunisien ( NCIN ,
Etud-Tunisien Etud-Etranger #CODEtud )
• EtudEtranger( NPASS ,
NCIN NPASS
# CODEtud)
Règle 6 :
Cas de spécialisation:
Les sous-types auront comme clés des tables l’identifiant du sur-type
Exemple :
Personne •Personne( NCIN, nom )
• homme (#NCIN , Date_S_M )
NCIN • femme( #NCIN , Nom_J_F)
Nom
homme femme
Date_S_M NJF
[Link] 7/8 ISET Radès
L2 Bases de données chapitre 3 : Le modèle Relationnel
Exercice :
Traduire le modèle E /A suivant en modèle relationnel :
Joueur Gagner Match
1,1
0,n
Num_J Score Num_M
1,n Nom_J Horaire 1,1 Se joue
Entraîner
Age sur
1,n Participer
0,2
1,n
0,n
Professeur
Terrain
Num_P
Nom_P Num_T
Surface
[Link] 8/8 ISET Radès