Ministère de l’Enseignement Supérieur et de recherche scientifique
Université de Sousse
Institut Supérieur de Gestion (ISG)
Séance de Cours
Chapitre3
Le Modèle relationnel
Enseignant : MR Kamel Garrouch
I. Introduction
Le modèle relationnel a été proposé par Codd en 1970.
Il est utilisé par la plus part des produits commerciaux à savoir Oracle, Informix,
DB2, Sybase, Access, SQL-Server,…
Le succès du modèle relationnel est dû à :
Sa simplicité pour l'utilisateur : une base de données est vue comme un
ensemble de tables,
Ses fondements théoriques : algèbre relationnelle et logique des prédicats.
2
II. concepts de base
II.1 Domaine
Un domaine D est un ensemble de valeurs atomiques caractérisé par un nom.
On distingue :
Les domaines prédéfinis : Chaines de caractères, entiers, réels, booléens, date
Les domaines définis : c'est-à-dire en énumérant les valeurs. Par exemple :
Domaine (couleur) = {bleu, rouge, blanc,...}
Domaine (noms)={Ali, Salah,... }
3
II. concepts de base
II.2 Schéma de relation
Un schéma de relation R, dénoté R (Al:Dl, A2:D2, ..., An:Dn) est un ensemble d'attributs.
Chaque attribut Ai est le nom d'un rôle joué par son domaine Di dans le schéma de relation R.
II.3 Relation
Les données d'une BD sont structurées dans des tables (relations).
Une relation r dénotée r(R) du schéma de relation R (Al:Dl, A2:D2, ..., An:Dn) est un
ensemble d'enregistrements (appelé aussi n-uplet).
Chaque enregistrement ei est une liste ordonnée de n valeurs ei = <v1 ,v2,..,vn> où chaque
vi est une valeur du domaine de l'attribut Ai ou une valeur nulle spéciale représentant
l'absence d'information.
4
II. concepts de base
II.3 Relation
Exemple: soit la relation employé suivante
Degré de la relation: c'est le nombre de domaines.
Cardinalité de la relation: c'est le nombre d'enregistrements
Degré (employé) = 5
Cardinalité (employé) = 2
5
II. concepts de base
II.4 Clé candidate et clé primaire
Une clé de relation est un sous-ensemble d'attributs qui permet d'identifier d'une
manière unique tout enregistrement d'une relation.
En général, il existe plusieurs clés pour une même relation R (clés candidates). Parmi
les clés possibles, on choisit une clé qui sera appelée clé primaire
Lors de la définition d'un schéma cette clé est mise en évidence (soulignement).
Un attribut X est une clé candidate d'une relation R si pour chaque n-uplet de R, la
valeur de X identifie de façon unique ce n-uplet
6
II. concepts de base
II.4 Clé candidate et clé primaire
Soit par exemple la relation :
Etudiant (Num_inscription, CIN, nom, prénom,…)
Un étudiant peut être identifié par son numéro d'inscription ou par son numéro de carte
d'identité nationale. Dans ce cas on a deux clés candidates : { Num_inscription, CIN.}
On choisit généralement le numéro d'inscription comme clé primaire d'un étudiant.
Par convention on souligne les attributs de la clé primaire.
Etudiant (Num_inscription, CIN, nom, prénom,…)
7
II. concepts de base
II.4 Clé étrangère
soit la relation R (A,B,... ,S,...) : On dit que S est une clé étrangère de R s'il y a
une relation R2 ayant pour clé primaire S.
Exemple:
PRODUIT (NUM PDT, DES_PDT, #NUM_MAG)
MAGASIN (NUM MAG, ADR_MAG, SURFACE,...)
Si on connaît la clé primaire d'u produit, on dispose des informations concernant ce
produit ainsi que celles du magasin où il est stocké.
8
III. Schéma de base de données et contraintes d’intégrité
Un schéma de base de données relationnel S est un ensemble de schémas de relation.
S = {RI, R2, ..., Rn} et un ensemble de contraintes d'intégrité.
On distingue différents types de contraintes d’intégrité qui permettent de décrire les règles
logiques que doivent respecter les données pour être cohérentes, ou valides.
III.1 Les contraintes élémentaires
Décrivent les propriétés des valeurs autorisées pour chaque constituant. On doit aussi préciser
s’il est obligatoire qu’une valeur soit présente, ou si au contraire on autorise les “valeurs nulles”
Exemple:
FILMS (TITRE, ANNEE, METTEUR EN SCENE)
• TITRE
0 chaîne de caractères de longueur inférieure à 50
clé primaire, donc pas de valeur nulle
•ANNEE
entier compris entre 1850 et l’année courante
•METTEUR EN SCENE
chaîne de caractères (max 50)
9
III. Schéma de base de données et contraintes d’intégrité
III.2 Les contraintes intra-relation
Concernent les attributs d’une même relation.
Exemple :
la date de naissance d’une personne ne peut être postérieure à sa date de décès.
Concernent aussi les n-uplets d’une même relation.
Exemple:
Dans la liste des emprunts d’une bibliothèque, on ne devra pas trouver plus de 3 fois un
même numéro d’abonné car on ne peut pas faire plus de 3 emprunts simultanés.
FILMS (TITRE, ANNEE, METTEUR EN SCENE)
TITRE
clé primaire, donc pas de doublons
ANNEE et METTEUR EN SCENE
un même metteur en scène ne peut pas être associé à des films réalisés à plus de
70 ans d’écart'.
10
III. Schéma de base de données et contraintes d’intégrité
III.3 Les contraintes inter-relation (entre les relations)
Se font d’une relation à l’autre. L’exemple le plus courant est celui des contraintes
d’intégrité référentielles (voir plus loin). Mais on a aussi d’autres cas
Exemple:
FILMS (TITRE, ANNEE, METTEUR EN SCENE)
DISTRIBUTIONS (TITRE, NOM)
ACTEURS (NOM, SEXE, NAISSANCE, MORT)
[Link] clé externe pour [Link]
[Link] clé externe pour [Link]
[Link] < année des films où il est acteur ([Link])
11
III. Schéma de base de données et contraintes d’intégrité
III.4 Les contraintes d’intégrité référentielles
Sont très importantes, car elles jouent un rôle dans les liens que les données ont entre
elles d’une table à l’autre...
Exemple:
Typiquement, on aura ici [Link] qui dépend de [Link], car on ne
peut parler de la distribution d’un film s’il n’existe pas déjà dans la relation FILMS
De même, [Link] dépend de [Link] car on ne peut
pas parler des films dans lesquels joue un acteur si on ne l’a pas encore inscrit
dans la liste des acteurs...
12
IV. Passage du modèle EA au modèle relationnel
Les deux modèles permettent d’obtenir une représentation formelle de la même réalité.
La validité de ces deux méthodes fait que l’on peut passer d’un mode de représentation
à un autre.
Nous allons mettre en évidence des règles de transformation du EA en fonction
du type d’association existant entre les entités vers le modèle relationnel.
IV.1 Transformation des ensembles des entités
Règles concernant les entités
Regle n°1 : Chaque entité devient une relation (table).
Regle n°2 : Chaque propriété d’une entité devient une colonne.
Regle n°3 : L’identifiant de l’entité devient la clé primaire de la relation.
13
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations binaires
Règle n°4: Relation binaire aux cardinalités (X,n) - (X,n), X=0 ou X=1
création d'une table supplémentaire ayant comme Clé Primaire une clé composée
des identifiants des 2 entités.
On dit que la Clé Primaire de la nouvelle table est la concaténation des Clés
Primaires des deux autres tables.
Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la nouvelle table.
14
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations binaires
Règle 5: Relation binaire aux cardinalités (X,1) - (X,n), X=0 ou X=1
La Clé Primaire de la table à la cardinalité (X,n) devient une Clé Étrangère dans
la table à la cardinalité (X,1).
Employe (idEmp, nom, #Nom societe)
Societe (Nom societe)
15
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations n-aires
Règle n°6 : Relation n-aire (indépendante des cardinalités)
Une association n-aire (avec n>2) est transformée en une relation (en une table)
La clé de cette relation est constituée par la concaténation des clés des relations
obtenues à partir des entités associées.
Étudiant (NoCarte, nom)
Niveau (Id-Niveau, Nom_Niveau)
Langue (Id_Langue, Nom_Langue)
Parle (#N°Carte, #Id_Niveau, #Id_Langue) 16
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations réflexives
Règle n°7.1 : Premier cas : cardinalité (X,1) - (X,n), avec X=0 ou X=1.
La Clé Primaire de l'entité se dédouble et devient une Clé Étrangère dans la
relation ou nouvelle table. Exactement comme si l'entité se dédoublait et était
reliée par une relation binaire (X,1) - (X,n)
Employe(Id_Employe, Nom_Employe, #id_Sup_Hierarchique)
id_Sup_Hierarchique est l'identifiant (id_Employe) du supérieur hiérarchique direct de
l'employé considéré) 17
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations réflexives
Règle n°7.1 : Premier cas : cardinalité (X,n) - (X,m), avec X=0 ou X=1.
De même, tout se passe exactement comme si l'entité se dédoublait et était reliée
par une relation binaire (X,n) - (X,m). Il y a donc création d'une nouvelle table.
Personne (Id_Personne, Nom_Personne)
Parenté (#Id_Parent, #Id_Enfant)
18
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règle n°8: Relation binaire aux cardinalités (0,1) - (1,1).
La Clé Primaire de la table à la cardinalité (0,1) devient une Clé Étrangère dans
la table à la cardinalité (1,1).
ANIMATEUR (id_Animateur, Nom_Animateur)
GROUPE (id_Groupe, Nom_Groupe, #id_Animateur)
19
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Cas des spécialisations / généralisations
Règle n°9.1: Table sur-type et disparition des sous-types
Intégration des sous-types dans la relation sur-type (les sous-types disparaissent).
Avec un tel principe les propriétés spécifiques à chacun des sous-types ne
seront pas valorisées pour certaines occurrences de la relation sur-type
20
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Cas des spécialisations / généralisations
Règle n°9.2: Table sur-type et sous-types
Conservation de l’entité sur-type et des entités sous-types.
Dans chacune des relations sous-types, l’identifiant de l’entité sur-type est intégré.
Il est à la fois clé primaire de la relation et clé étrangère par rapport à l’entité sur-type
21
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Cas des attributs complexes
Solution n°1 :
TE (Id, A1, A2) -------perd le nom A
Solution n°2 :
TE’ (Id, A) ----------- dom (A) = dom (A1) x (dom (A2))
Exemple
Solution n°1 :
Personne (NCIN, jour, mois, annee)
(xxxxxx, 10, 11, 2006)
Solution n°2 :
Personne (NCIN, Date de naissance)
(xxxxxx, 10112006)
22
Merci pour votre
Attention