19/03/2024
MODÈLE RELATIONNEL
Le modèle de données relationnel désigne une manière de structurer les informations sous la forme de matrices que
l’on appelle tables ou relations.
Ce modèle, très simple, est de loin le plus répandu dans les Systèmes de Gestion de Bases de Données (SGBD), qui
sont ainsi dénommés SGBD relationnels.
Une base de données relationnelle est donc constituée d’un ensemble de données structurées sous forme de
relations (Tables)
DR. EL MARGAE SAMIRA 27
MODELE RELATIONNEL
Dans le cas des systèmes relationnels, les fichiers de la base contiennent:
- Soit la représentation binaire des tables relationnelles; chaque table est constituée d’un
ensemble d”enregistrements, un par ligne;
- Soit des index, structures de données permettant d’accélerer les opérations sur les
données, et notamment les recherches.
DR. EL MARGAE SAMIRA 28
Les composants d’un SGBD relationnel
1
19/03/2024
MODÈLE RELATIONNEL
Les données sont organisées en relations
Tables: relations
Les lignes de ces relations sont appelées des nuplets ou enregistrements.
Les colonnes sont appelées des attributs.
DR. EL MARGAE SAMIRA 29
MODÈLE RELATIONNEL
Chaque attribut possède un domaine de valeurs (D1 ,D2 ,..., Dn ).
Domaine = Ensemble des valeurs que peut prendre un attribut.
Exemples: NAS : ensemble des nombre de 9 digits de sécurité sociale, valides.
Nom : ensemble des noms de personnes.
Age : âge possible : 16-70
Un tuple est composé de n éléments :
DR. EL MARGAE SAMIRA 30
2
19/03/2024
MODÈLE RELATIONNEL
Schéma de relation
On peut décrire une relation par
Le nom de la relation.
Un nom (distinct) pour chaque dimension, dit nom d’attribut
Le domaine de valeur de chaque dimension.
C’est le schéma de la relation, de la forme R (A1 : D1, A2 : D2, · · · , An : Dn)
Exemple : Département (nom: string, code: string),
ou plus simplement Département (nom, code)
DR. EL MARGAE SAMIRA 31
MODÈLE RELATIONNEL
Schéma de relation
Les attributs, leur type, la clé primaire, sont des contraintes qui s’appliquent à chaque
nuplet. Ces contraintes sont décrites dans un schéma, déclaré au moment de la création
de la [Link] la commande de création de la table Artiste :
On pourra représenter ce schéma par le résumé suivant, dans lequel on met en gras l’information essentielle, la clé
primaire.
DR. EL MARGAE—
SAMIRA 32
Artiste (idArtiste, nom, prénom, annéeNaissance)
3
19/03/2024
MODÈLE RELATIONNEL
Schéma d’une base de données relationnel
Ensemble de noms de tables
Ensemble d’attributs pour chaque table
STUDENT [Num, FirstName, LastName, BirthYear]
INSCRIPTION [Num, CourseCode,Year]
Instance d’une base de données
Ensemble de valeurs dans une table (ensemble de nuplets)
{(h2008120, Dumont, Marie, 1980), (h2008122, Dubois, Paul, 1980)}
DR. EL MARGAE SAMIRA 33
MODÈLE RELATIONNEL: A RETENIR
Très simple ! (parfois trop). Favorise la rigueur et la clarté.
DR. EL MARGAE SAMIRA 34
4
19/03/2024
BASE DE DONNÉES RELATIONNELLE
Relation (Table)
Représentée par un tableau à 2 dimensions
Composée d’un nombre fini de colonnes (attributs)
Chaque attribut possède un nom unique à l’intérieur d’une relation.
DR. EL MARGAE SAMIRA 35
BASE DE DONNÉES RELATIONNELLE
Relation (Table)
Les champs de données définissent les types d'information que l’on veut stocker
dans la table (par exemple : des informations concernant les élèves d'une école).
Chaque enregistrement représente une occurrence de ce qu'on veut stocker (par
exemple un élève).
Chaque table possède un nom unique (par exemple : tbl_Eleves).
Chaque enregistrement (nuplet) correspond à une ligne de la table.
DR. EL MARGAE SAMIRA 36
5
19/03/2024
BASE DE DONNÉES RELATIONNELLE RELATIONNEL: TABLES
Relation (Table)
Chaque champ correspond à une colonne de la table.
Chaque champ peut représenter des données de natures différentes (Nom, prénom, Date de
naissance, etc ...).
Chaque champ peut représenter des données de types différents (Texte, Nombre, Date,
valeur booléenne, etc)
Le nom d'une table doit être unique à l'intérieur d'une BD.
DR. EL MARGAE SAMIRA 37
BASE DE DONNÉES RELATIONNELLE: TABLE
Relation: Clé primaire
Dans chaque table relationnelle on trouve un attribut particulier, la clé primaire.
La valeur de la clé primaire permet d’identifier un unique nuplet dans la table.
Elle permet de référencer ce nuplet depuis une autre table. Souvent, la clé primaire est un
simple numéro d’identification.
DR. EL MARGAE SAMIRA 38
6
19/03/2024
BASE DE DONNÉES RELATIONNELLE
Relation: Clé primaire
Pour définir des liens entre plusieurs tables la clé primaire est indispensable, donc:
CHAQUE TABLE DOIT AVOIR UNE CLE PRIMAIRE !!!
Exemples: Le numéro d’élèves pour les élèves d’une école.
DR. EL MARGAE SAMIRA 39
BASE DE DONNÉES RELATIONNELLE
Relation: Clé primaire
Une des contraintes d’intégrité d’un schéma est l’unicité d’identification des n-uplets d’une relation.
Cette identification unique est assurée par la notion de clé de relation.
Une clé peut être composée d’un seul attribut ou d’une liste d’attributs qui caractérise un tuple (n-
uplet) de la relation de manière unique
Une relation peut avoir plusieurs clés.
Une clé comportant un minimum d’attributs sera choisie comme étant clé primaire, les autres clés
possibles sont appelées clés candidates. Par convention, la clé primaire d’une relation est soulignée
dans un schéma de relation.
Exemple:
DR. EL MARGAE SAMIRAClient (NCl, NomCl, PrenomCl, AdrCl) 40
7
19/03/2024
BASE DE DONNÉES RELATIONNELLE
Relation: Clé primaire
Remarque : si on choisit pour clé (NomCl, AdrCl) la modélisation ne permet pas des homonymes
habitant la même ville.
DR. EL MARGAE SAMIRA 41
BASE DE DONNÉES RELATIONNELLE
Clé étrangère = Attribut (ou ensemble d’attributs) d’une relation qui fait (font)
référence à la clé primaire d’une autre relation
Une clé étrangère d'une relation est formée d'un ou plusieurs de ses attributs (d’une ou
de plusieurs colonnes d’une table ) qui constituent une clé candidate dans une autre
relation.
Toutes les valeurs des clés étrangères apparaissent dans une autre relation comme valeurs
d’une clé.
Par convention, la clé étrangère d’une relation précédée par le symbole # dans un
schéma de relation.
DR. EL MARGAE SAMIRA 42
8
19/03/2024
BASE DE DONNÉES RELATIONNELLE
Clé étrangère
Exemple : Soient les schéma de relations suivants
Client(NCl,NomCl,AdrCl) - Désigne l’ensemble des clients.
Commande (NCmd, DateCmd, #NCl) - Désigne l’ensemble des commandes.
L’attribut NCl dans la table Commande est une clé étrangère. Il prend ses valeurs dans le domaine
de valeurs de l'attribut NCl qui se trouve, dans le schéma de relation Client. Une commande est
toujours passée par un Client existant dans la base de données
DR. EL MARGAE SAMIRA 43
BASE DE DONNÉES RELATIONNELLE
Clé étrangère = Attribut (ou ensemble d’attributs) d’une relation qui fait (font)
référence à la clé primaire d’une autre relation
A quoi cela sert ? Exemple d’une mauvaise relation
Problèmes :
Répétition des noms, prénoms, dates de
naissances, ISBN, etc. autant de fois qu’il y a
DR. EL MARGAE SAMIRA 44
d’emprunts = Redondance d’information
Comment identifier les nuplets ?
9
19/03/2024
BASE DE DONNÉES RELATIONNELLE
Table: Clé étrangère
La solution ? Diviser les données en plusieurs relations
⇒ Division en 3 relations associées : Emprunteurs, Emprunts et Livres
⇒ Stockage unique des informations de chaque livre
⇒ Stockage unique des informations de chaque emprunteur
⇒DR. Stockage
EL MARGAE SAMIRA unique des informations de chaque emprunt 45
ATTENTION: Access appelle Relation ce qui en fait s’appelle Association
BASE DE DONNÉES RELATIONNELLE
Table: Clé étrangère
Association entre deux plusieurs relations
DR. EL MARGAE SAMIRA 46
10
19/03/2024
BASE DE DONNÉES RELATIONNELLE
Table: Clé étrangère
L’attribut RefEmprunteur de la relation Emprunts est une clé étrangère qui fait
référence à l’attribut NuméroCarte de la relation Emprunteurs
L’attribut RefLivreEmprunté de la relation Emprunts est une clé étrangère qui fait
référence à l’attribut ISBN de la relation
DR. EL MARGAE SAMIRA 47
BASE DE DONNÉES RELATIONNELLE
Table: Clé étrangère
DR. EL MARGAE SAMIRA 48
11
19/03/2024
BASE DE DONNÉES RELATIONNELLE
Clé étrangère
Intégrité référentielle : Ensemble de règles garantissant la cohérence (l'intégrité) des
données réparties dans plusieurs relations.
DR. EL MARGAE SAMIRA 49
SCHÉMA DE BASE DE DONNÉES RELATIONNELLE
Une base de données relationnelle est une collection de relations.
L’ensemble des schémas des relations de la collection est appelé schéma relationnel de la base.
Formellement un schéma de base de données relationnelle B est un ensemble de schémas de
relations R1, R2,..., Rp.
Exemple :
Client (NCl, NomCl, AdrCl)
Commande (NCmd, DateCmd, #NCl)
50
DR. EL MARGAE SAMIRA
12
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
L’absence de SGBD supportant directement le modèle Entité - Association amène à
transformer le schéma conceptuel en un schéma conforme au modèle de données du SGBD
cible.
Les règles qui permettent de passer d’un schéma Entité - Association à un schéma relationnel.
Traduction des entités
Traduction des associations
DR. EL MARGAE SAMIRA 51
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Traduction des entités
Toute entité est traduite selon les trois règles suivantes :
L’entité se transforme en une relation.
L’identifiant de l’entité devient la clé primaire de la relation.
Les propriétés de l’entité deviennent des attributs de la relation.
DR. EL MARGAE SAMIRA 52
13
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Traduction des entités
DR. EL MARGAE SAMIRA 53
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Traduction des associations
La traduction d’une association s’effectue selon les cardinalités relatives aux entités participant à
l’association:
Deux catégories d’associations :
Les associations binaires
Cas1 : Association Un-à-Un
Cas2 : Association Un-à-plusieurs (Maître-Esclave)
Cas 3 : Association Plusieurs-à-Plusieurs
DR. ELLes associations n-aires
MARGAE SAMIRA 54
14
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas1 : Association Un-à-Un (1):
Soient deux entités A et B reliées par une association AssAB
Cas1 : Cardinalité entité A 0, 1 ou 1, 1 et Cardinalité entité B 0, 1 ou 1, 1.
Pour ce type d’association deux traductions sont possibles :
Solution1 :
Les deux entités et l’association seront transformées en une seule relation contenant les attributs des deux
entités ainsi que les attributs éventuels de l’association, la clé de l’entité A ou de l’entité B sera choisie
comme clé de la nouvelle relation.
Cette solution est surtout utilisée dans le cas où les deux entités ont des cardinalités 1,1 qui ne sont pas
DR. EL MARGAE SAMIRA 55
sujettes à des modifications dans le temps
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas1 : Association Un-à-Un (1):
Solution2 :
Les deux entités seront transformées en deux relations.
Une de ces deux relations sera choisie et étendue par la liste des attributs éventuels de
l’association ainsi que de la clé de l’autre entité en tant que clé étrangère.
Ce choix se base sur la séquence temporelle de création des entités. L'entité qui sera créée
en second lieu aura comme clé étrangère l'identifiant de l'entité créée en premier lieu.
Cette solution est la plus adaptée dans le cas où une ou les deux cardinalités minimales
sont nulles.
DR. EL MARGAE SAMIRA 56
15
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas1 : Association Un-à-Un (1): Exemple 1
La relation livraison à comme clé étrangère
l’identifiant de commande car la création d’une
livraison survient après la création d’une commande
DR. EL MARGAE SAMIRA 57
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas1 : Association Un-à-Un (1): Exemple 2
DR. EL MARGAE SAMIRA 58
16
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas1 : Association Un-à-Un (1): Exemple 3
DR. EL MARGAE SAMIRA 59
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas2 : Association Un-à-plusieurs (Maître-Esclave)
Cardinalité entité A (Maître) 0, N ou 1, N et Cardinalité entité B (Esclave) 0, 1 ou 1,1
Les règles de traduction de ce type d’association sont les suivantes :
L’entité Maître (Entité A) devient la relation Maître.
L’entité Esclave (Entité B) devient la relation Esclave.
L’identifiant de l’entité Maître devient attribut de la relation Esclave. Cet attribut est désigné
comme clé étrangère.
Les attributs éventuels de l’association (AssAB) migrent vers la relation esclave et deviennent
ses attributs.
DR. EL MARGAE SAMIRA 60
17
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas2 : Association Un-à-plusieurs (Maître-Esclave)
DR. EL MARGAE SAMIRA 61
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas2 : Association Un-à-plusieurs (Maître-Esclave)
DR. EL MARGAE SAMIRA 62
18
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas3 : Association Plusieurs-à-Plusieurs
Cardinalité entité A 0, N ou 1, N et Cardinalité
entité B 0, N ou 1, N
Les règles de traduction de ce type
d’association sont les suivantes
Chaque entité (Entité A et Entité B) devient
une relation.
L'association sera transformée aussi en une
relation ayant comme clé la concaténation des
deux clés issues des entités A et B. Les
attributs éventuels de l'association seront
stockés dans cette relation en tant qu'attributs.
DR. EL MARGAE SAMIRA 63
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Association binaire- cas3 : Association Plusieurs-à-Plusieurs
DR. EL MARGAE SAMIRA 64
19
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Traduction des associations n-aires
Ce type d’association sera transformé en
une relation ayant comme liste d’attributs la
liste des clés des relations correspondantes
aux entités qui participent à cette
association en plus de ses attributs
éventuels. Une clé minimale sera choisie
parmi la liste des attributs ainsi constituée.
DR. EL MARGAE SAMIRA 65
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Traduction des associations n-aires
Dans la traduction d'un modèle conceptuel en
modèle relationnel, les associations n-aires,
se traduisent comme les associations
binaires [n,n], c'est à dire que chaque
association n-aire devient une relation de
même nom, dont les attributs sont les n clefs
étrangères des n entités reliées à
l'association et dont la clef primaire est
formée de ces n attributs.
Remarque: les cardinalités maximales valent
tous n. Ceci est obligatoire dans une association
DR. EL MARGAE SAMIRA 66
n-aire.
Remarque: on a toujours des cardinalités [?,n]
20
19/03/2024
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Traduction des associations n-aires
En réalité une association N-aire représente une entité reliée à n autres entités !
DR. EL MARGAE SAMIRA 67
TRADUCTION D’UN MODÈLE ENTITÉ -ASSOCIATION EN MODÈLE
RELATIONNEL
Traduction des associations n-aires
Dans la traduction d'un modèle conceptuel en modèle
relationnel, les associations n-aires, se traduisent
comme les associations binaires [n,n], c'est à dire que
chaque association n-aire devient une relation de
même nom, dont les attributs sont les n clefs
étrangères des n entités reliées à l'association et dont
la clef primaire est formée de ces n attributs.
DR. EL MARGAE SAMIRA 68
21
19/03/2024
ASSOCIATIONS RÉFLEXIVES
Une association réflexive peut être de type [n,n], [1,n], ou [1,1].
Associations réflexives [n,n]
Elles peuvent avoir des propriétés et être symétriques ou non symétriques.
Associations réflexives [n,n] symétriques
Exemple d’une association réflexive [n,n] symétrique :
Elle est symétrique car, si un pays A est voisin d'un pays B, alors le pays B est nécessairement
voisin du pays A.
DR. EL MARGAE SAMIRA 69
ASSOCIATIONS RÉFLEXIVES
Associations réflexives [n,n] non symétriques
Voici à présent une association réflexive [n,n] non symétrique :
Si un matériel A fait partie d'un matériel B, alors B ne peut pas faire partie de A.
Pour une relation réflexive asymétrique, il est d'usage d'indiquer le nom de l'association
sur un des traits et le nom de l'association inverse sur l'autre.
DR. EL MARGAE SAMIRA 70
22
19/03/2024
ASSOCIATIONS RÉFLEXIVES
Associations réflexives [n,n] avec propriétés
Un exemple non symétrique :
Un exemple symétrique :
DR. EL MARGAE SAMIRA 71
ASSOCIATIONS RÉFLEXIVES
Associations réflexives [1,n]
Elles sont nécessairement non symétriques.
Exemple :
DR. EL MARGAE SAMIRA 72
23
19/03/2024
ASSOCIATIONS RÉFLEXIVES
Associations réflexives [1,1]
- Elles peuvent être symétriques ou non symétriques.
- Et voici un exemple d'association réflexive [1,1] asymétrique :
DR. EL MARGAE SAMIRA 73
TRADUCTION DES ASSOCIATIONS RÉFLEXIVES EN RELATIONS
Traduction des associations réflexives [n,n]
Une association réflexive [n,n] sur une entité E est traduite en une relation de même nom
avec deux clefs étrangères. L'une d'elles porte le nom de l'identifiant de l'entité et l'autre, le
nom de l'association. La clef primaire de cette relation est constituée de ces deux attributs.
sera traduit en :
DR. EL MARGAE SAMIRA 74
24
19/03/2024
TRADUCTION DES ASSOCIATIONS RÉFLEXIVES EN RELATIONS
Traduction des associations réflexives [n,n]
Une association réflexive [n,n] sur une entité E est traduite en une relation de même nom
avec deux clefs étrangères. L'une d'elles porte le nom de l'identifiant de l'entité et l'autre, le
nom de l'association. La clef primaire de cette relation est constituée de ces deux attributs.
DR. EL MARGAE SAMIRA 75
TRADUCTION DES ASSOCIATIONS RÉFLEXIVES EN RELATIONS
Traduction des associations réflexives [1,n]
Une association réflexive [1,n] sur une entité est traduite en une clef étrangère dans la
relation représentant cette entité.
Le nom de cette clef étrangère est celui de l'association si c'est le nom de l'association qui
étiquette le trait de cardinalité maximale 1
DR. EL MARGAE SAMIRA 76
seront traduit en :
25
19/03/2024
TRADUCTION DES ASSOCIATIONS RÉFLEXIVES EN RELATIONS
Traduction des associations réflexives [1,1]
Une association réflexive [1,1] sur une entité est traduite en une clef étrangère dans la
relation représentant cette entité. Le nom de cette clef étrangère est celui de
l'association.
Par exemple :
sera traduit en :
DR. EL MARGAE SAMIRA 77
26