Vous êtes sur la page 1sur 8

Bases de données chapitre 4 : Le modèle relationnel - Passage du modèle E/A au Modèle relationnel

Le modèle relationnel
1- Présentation

Dans ce modèle, les données sont représentées par des tables, sans préjuger de la façon dont les informations
sont stockées dans la machine. Les tables constituent donc la structure logique(6) du modèle relationnel. Au
niveau physique, le système est libre d'utiliser n'importe quelle technique de stockage (fichiers séquentiels,
indexage, adressage dispersé, séries de pointeurs, compression…) dès lors qu'il est possible de relier ces
structures à des tables au niveau logique. Les tables ne représentent donc qu'une abstraction de
l'enregistrement physique des données en mémoire.Le succès du modèle relationnel auprès des chercheurs,
concepteurs et utilisateurs est dû à la puissance et à la simplicité de ses concepts. En outre, contrairement à
certains autres modèles, il repose sur des bases théoriques solides, notamment la théorie des ensembles et la
logique des prédicats du premier ordre.

Les objectifs du modèle relationnel sont :

• proposer des schémas de données faciles à utiliser ;


• améliorer l'indépendance logique et physique ;
• mettre à la disposition des utilisateurs des langages de haut niveau ;
• optimiser les accès à la base de données ;
• améliorer l'intégrité et la confidentialité ;
• fournir une approche méthodologique dans la construction des schémas.

2- Définitions et concepts

De façon informelle, on peut définir le modèle relationnel de la manière suivante :

• les données sont organisées sous forme de tables à deux dimensions, encore appelées relations, dont
les lignes sont appelées n-uplet ou tuple en anglais ;
• les données sont manipulées par des opérateurs de l'algèbre relationnelle ;
• l'état cohérent de la base est défini par un ensemble de contraintes d'intégrité.

Au modèle relationnel est associée à la théorie de la normalisation des relations qui permet de se débarrasser
des incohérences au moment de la conception d'une base de données relationnelle.

Définition 1 -attribut- Un attribut est un nom décrivant une information stockée dans une base.

Exemples d'attribut : l'âge d'une personne, le nom d'une personne, le numéro de sécurité sociale.

On appelle attributs le nom des colonnes qui représentent les constituants de l'entité. Un attribut (une
colonne) est repéré par un nom et un domaine de définition, c'est-à-dire l'ensemble des valeurs qu'il peut
prendre.
On appelle tuple (ou n-uplet) une ligne du tableau.

L'entité voiture pourra par


exemple être représentée par :

• La marque
• Le modèle
• La série
• La plaque minéralogique

Section : L2 semestre 2 2019/2020 Mme D.Taouri


Bases de données chapitre 4 : Le modèle relationnel - Passage du modèle E/A au Modèle relationnel

Définition 2 -Domaine- Le domaine d'un attribut est l'ensemble, fini ou infini, de ses valeurs possibles. On
le représente par une liste d'éléments ou bien une condition nécessaire et suffisante d'appartenance :

• le domaine des booléens: {0,1}


• le domaine des doigts de la main: {pouce, index, majeur, annulaire, auriculaire}
• ...

Par exemple, l'attribut numéro de sécurité sociale a pour domaine l'ensemble des combinaisons de quinze chiffres
et nom a pour domaine l'ensemble des combinaisons de lettres (une combinaison comme cette dernière est
généralement appelée chaîne de caractères ou, plus simplement, chaîne).

Définition 3 :La notion de produit cartésien

La manipulation des données (sélection de valeurs) se fait suivant la notion mathématique de produit
cartésien.

Le produit cartésien d'un ensemble de domaines Di, noté D1*D2*D3*...*Dn

est l'ensemble des n-uplets (appelés aussi tuples) <V1,V2,...,Vn>


tels que Vi appartient à Di

Définition 4 -relation-

Une relation est un sous-ensemble du produit cartésien de n domaines d'attributs (n > 0).
Bases de données chapitre 4 : Le modèle relationnel - Passage du modèle E/A au Modèle relationnel

Une relation est représentée sous la forme d'un tableau à deux dimensions dans lequel les n attributs
correspondent aux titres des ncolonnes.

Définition 4 -schéma de relation- Un schéma de relation précise le nom de la relation ainsi que la liste des
attributs avec leurs domain

Le tableau montre un exemple de relation et précise son schéma.

N° Sécu Nom Prénom

354338532195874 Durand Caroline

345353545435811 Dubois Jacques

173354684513546 Dupont Lisa

973564213535435 Dubois Rose-Marie

Définition 5 -degré- Le degré d'une relation est son nombre d'attributs.

Définition 6 -occurrence ou n-uplets ou tuples- Une occurrence, ou n-uplets, ou tuples, est un élément de
l'ensemble figuré par une relation. Autrement dit, une occurrence est une ligne du tableau qui représente la
relation.

Section : L2 semestre 2 2019/2020 Mme D.Taouri


Bases de données chapitre 4 : Le modèle relationnel - Passage du modèle E/A au Modèle relationnel

Définition 7 -cardinalité- La cardinalité d'une relation est son nombre d'occurrences.

Définition 8 -clé candidate- Une clé candidate d'une relation est un ensemble minimal des attributs de la
relation dont les valeurs identifient à coup sûr une occurrence.

La valeur d'une clé candidate est donc distincte pour tous les tuples de la relation. La notion de clé candidate
est essentielle dans le modèle relationnel.

Définition 9 Toute relation a au moins une clé candidate et peut en avoir plusieurs.

Ainsi, il ne peut jamais y avoir deux tuples identiques au sein d'une relation. Les clés candidates d'une relation
n'ont pas forcément le même nombre d'attributs. Une clé candidate peut être formée d'un attribut arbitraire,
utilisé à cette seule fin.

Définition 10 -clé primaire- La clé primaire d'une relation est une de ses clés candidates. Pour signaler la clé
primaire, ses attributs sont généralement soulignés.

Définition 11 -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.

Définition 12 -schéma relationnel- Un schéma relationnel est constitué par l'ensemble des schémas de
relation.
Bases de données chapitre 4 : Le modèle relationnel - Passage du modèle E/A au Modèle relationnel

Définition 13 -base de données relationnelle- Une base de données relationnelle est constituée par
l'ensemble des n-uplets des différentes relations du schéma relationnel.

3- Passage du MODÈLE ENTITÉ/ASSOCIATION au Modèle


relationnel
Considérons le MODÈLE ENTITÉ/ASSOCIATION suivant :
Client Commande

Num_client (1,n) Passer (1,1)


Num_cde
Nom Date_cde
Prénom
Ardesse

(0,1)
(1,n)
Donnelieu
Contient

(1,n) Qté_commande
(1,1)
Produit Facture
Code_produit Num_fact
Désignation Date_fact
Prix_unitaire (1,1)
Fournit
(1,1)
(1,n)
Appartient

Fournisseur
(1,n)
(1,1)
Code_four
Famille
Nom
Adresse
Code_fam
Dés_fam
Fabriquant
Fabriquer (1,n)
Secteur
Code_fab
Code_sec Désignation
Désignation (1,n) Travaille (1,1) Adresse

 Règles de passage des entités (entités) du MODÈLE ENTITÉ/ASSOCIATION aux relations du


MLD relationnel :

Règle 1 :
Toute entité du MODÈLE ENTITÉ/ASSOCIATION se transforme en une relation
dans le modèle relationnelle.

Règle 2 :
Toutes les propriétés de l’entité deviennent les attributs de la relation.

Règle 3 :

Section : L2 semestre 2 2019/2020 Mme D.Taouri


Bases de données chapitre 4 : Le modèle relationnel - Passage du modèle E/A au Modèle relationnel

L’identifiant de l’entité (entité) devient la clé de la relation.

 Application à l’exemple :
Les entités du MODÈLE ENTITÉ/ASSOCIATION donnent lieu aux relations suivantes :
Client (num_cl, nom prénom, adresse)
Commande (num_cde, date_cde)
Facture (num_fact, date_fact)
Produit (code_prod, designation)
Fournisseur (code_four, nom, adresse)
Famille (code_fam., désignation_fam)
Fabriquant (code_fab., désignation_fab)
Secteur (code_sec, désignation_sec)

 Règles de passage des associations du MODÈLE ENTITÉ/ASSOCIATION aux


relations du MLD relationnel :
La traduction des associations du MODÈLE ENTITÉ/ASSOCIATION en relations dans le MLD se fera
selon les cardinalités de cette relation dans le Modèle Entité/Association.
 Cas 1 :
Cardinalité de type père fils (x, 1), (x, n) dans une association binaire.
Autrement, l’entitéPère porte les cardinalités (0,1) ou (1,1) et l’entitéFils porte les cardinalités (0, n) et (x,
n).

Entité 1 (x,1) Relation (x, n) Entité 2 Fils


Père
(0,1) (0,n)
Ou (1,1) Ou (1,n)
 Application de la règle 1 :
 L’ENTITE père devient une relation "T1"
 Les attributs de l’entité père deviennent les attributs de la relation "T1"
 L’identifiant de l’entité père devient la clé de relation "T1".
 L’entité fils devient une relation "T2".
 L’identifiant de l’entité fils devient la clé de la relation "T2".
 L’identifiant de l’entité fils devient un attribut de la relation "T1", elle sera appelée clé étrangère.
 Les propriétés de l’association deviennent des attributs de la relation "T1".

 Application à l’exemple :

MODÈLE MLD relationnel


ENTITÉ/ASSOCIATION
Client (num_cl, nom, prénom, adresse)
Client Commande Commande (num_cde, date_cde, num_cl*)
Num_cl (1,n) Passer (1,1) Num_cde
Nom Date_cde
Prénom
adresse

Produit Fournisseur
(1,n) Code_four Produit (code_prod, des_prod, prix_u,
Code_prod (1,1) fournit
code_four*)
Dés_prod RS_four
Prix_u Fournisseur (code_four, RS_four)
Bases de données chapitre 4 : Le modèle relationnel - Passage du modèle E/A au Modèle relationnel

Produit (code_prod, des_prod,


Produit Famille code_fam*Famille (code_fam,
Code_prod (1,1) Appartient (1,n) Code_fam des_fam)
Des_prod Des_fam

Suite à la traduction de l’ensemble de ces entités et relations, nous obtenons dans un premier temps le
schéma relationnel suivant :
Client (num_cl, nom prénom, adresse)
Commande (num_cde, date_cde)
Facture (num_fact, date_fact)
Produit (code_prod, designation)
Fournisseur (code_four, nom, adresse)
Famille (code_fam., désignation_fam)
Fabriquant (code_fab., désignation_fab)
Secteur (code_sec, désignation_sec
 Cas 2 :
Cardinalité de type (x, n)-(x, n) dans une association de degré quelconque (binaire ou N-aire)
 Tous les entités deviennent des relations.
 Toutes les propriétés des entités deviennent des attributs des relations correspondantes.
 L’identifiant d’une entité devient la clé de la relation associée.
 L’association entre les entités devient une relation.
 L’identifiant de l’association devient la clé de la relation qui la traduira dans le MLD.
 Les propriétés de l’association deviennent des attributs de la relation qui la traduira dans le MLD
relationnel.

 Application à l’exemple :

MODÈLE MLD relationnel


ENTITÉ/ASSOCIATION
Commande Commande (num_cde, date_cde)
Contient
Num_cde
(1,n)
Produit (code_prod, des_prod)
Date_cde Qté_cde
Contient (num_cde, code_prod,
(1,n)
qté_cde)
Produit
Code_prod
Des_prod

 Cas particulier :
a- Cas de cardinalité (x,1), (x,1) :

Entité 1 (x,1) (x,1) Entité 2


Relation
Ident1 (0,1) (0,1) Ident2
Ou (1,1) Ou (1,1)

Section : L2 semestre 2 2019/2020 Mme D.Taouri


Bases de données chapitre 4 : Le modèle relationnel - Passage du modèle E/A au Modèle relationnel

Dans le MLD relationnel l’identifiant Ident1devient clé étrangère dans la relation associée à l’entité2.
Il en sera de même pour l’identifiant Ident2 qui sera clé étrangère dans la relation associée à l’entité1.
Exemple :
MODÈLE ENTITÉ/ASSOCIATION
Commande (0,1) Associé (1,1) Facture
Num_cde Num_fact
Date_cde Date_fact

MLD :
Commande (num_cde, date_cde, num_fact*)
Facture (num_fact, date_fact, num_cde *)

b- Cas de l’association réflexive :

Entité 1 Relation

Identif1

 Cardinalité (x,1) (x, n )


Exemple :

MODÈLE MLD
ENTITÉ/ASSOCIATION
Pièce (num_pièce, désignation,
Pièce (1,1) Composer num_pièce_cible*)
Num_pièce
Désignation
(1,n)

 Cardinalité (x,1) , (x,1)


Exemple :

MODÈLE MLD
ENTITÉ/ASSOCIATION
Employé (Num_E, nom_E,
Employé (0,1) Conjoint prénom_E, num_E_cible*)
Num_E
Nom_E
Prénom_E
(0,1)

Vous aimerez peut-être aussi