0% ont trouvé ce document utile (0 vote)
22 vues41 pages

5 - Chapitre3 Modèle Relationnel

Transféré par

Administration IHET
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues41 pages

5 - Chapitre3 Modèle Relationnel

Transféré par

Administration IHET
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Lobna KRIAA

Objectif
 Découvrir le modèle relationnel
 Rendre les apprenants aptes à traduire des schémas E/A en schémas
relationnels

2
Plan
 Introduction au modèle relationnel
 Concepts de base
 Traduction du modèle entité association en modèle relationnel
 Conclusion

3
Introduction
 Le modèle relationnel a été formalisé par CODD en 1970. Quelques
exemples de réalisation en sont :
 DB2(IBM), INFORMIX, INGRES, ORACLE.
 Dans ce modèle, les données sont stockées dans des tables, sans
préjuger de la façon dont les informations sont stockées dans la
machine.
 Un ensemble de données sera donc modélisé par un ensemble de
tables.
 Le succès du modèle relationnel auprès des chercheurs, concepteurs et
utilisateurs est dû à la puissance et à la simplicité de ses concepts.
4
Introduction : Objectifs du modèle
relationnel
 L’accroissement de l’indépendance des programmes vis-à-vis de la
représentation des données.
 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
pouvant éventuellement être utilisés par des non informaticiens
 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.

5
Introduction : Définition
 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 et chaque ligne n-upletou tuple,
 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.

6
Plan
 Introduction au modèle relationnel
 Concepts de base
 Traduction du modèle entité association en modèle relationnel

7
Concepts de base
 Domaine
 Attribut
 Relation
 Représentation d’une relation
 Schéma de relation / Contraintes d’intégrité
 Clé d’une relation
 Clé étrangère
 Schéma de base de données relationnelle
8
Concepts de base : définitions
 Domaine : C’est un ensemble de valeurs caractérisé par un nom.
 Exemple:
 Domaine D1 = {entiers}.
 Domaine D2 = {chaînes de caractères}.
 Attribut : C’est une variable prenant ses valeurs dans un domaine.
 Caractérisé par un nom et dont les valeurs appartiennent à un domaine
 Les valeurs sont atomiques
 Exemple :
 attribut A1=NCl à valeurs dans D1;
 attribut A2=NomCl à valeurs dans D2;
 attribut A3=AdrCl à valeurs dans D2;

9
Concepts de base : définition 2
 Relation : Une relation n-aire sur les attributs A1, A2,..., An, de
domaines respectifs D1, D2,..., Dn, est un sous-ensemble du produit
cartésien des domaines D1, D2, ..., Dn.
 caractérisée par un nom unique
 représentée sous forme de table à deux dimensions
 colonne = un domaine du produit cartésien
 un même domaine peut apparaître plusieurs fois
 ensemble de nuplets sans doublon
 Donc un attribut est alors une colonne dans une relation

10
Concepts de base : définition 3
 Degré
 Le degré d'une relation est son nombre d'attributs.
 Occurrence
 Une occurrence est un élément de l'ensemble figuré par une relation.
 Cardinalité
 La cardinalité d'une relation est son nombre d'occurrences.
 Tuple(ou nuplet)
 Liste de n valeurs (v1, ..., vn) où chaque valeur vi est la valeur d’un attibut Ai de
domaine Di
 Schéma d’une relation
 Nom de la relation suivi de la liste des attributs avec leurs domaines.

11
Concepts de base: Représentation
d’une relation
 Chaque tuple (n-uplet) de la relation (appelée aussi Table) est écrit dans
une ligne d’un tableau, dont les noms de colonnes sont les attributs de
la relation.
 Chaque tuple est unique. Les duplications ne sont pas autorisées.
L’ordre des tuples est indifférent.

12
Schéma de relation /Contraintes
d’intégrité
 Le schéma R d´une relation r est la liste des attributs de r avec, pour chacun, son
domaine, parfois sous-entendu.
 Exemple:
 Le schéma de r est R = (NCl : D1, NomCl : D2, AdrCl:D2), écrit en abrégé R = (NCl,
NomCl, AdrCl).
 On dit que r est une relation de schéma R (attention : ne pas confondre r et R).
 Chaque relation est vue comme un tableau dont les colonnes désignent les attributs et les
lignes les n-uplets.
 Lorsqu’on repère chaque attribut d’une relation par un nom, l’ordre des colonnes
n’est pas important.
 On pourra parfois attacher à une relation un ensemble P de propriétés que doit
vérifier chacun de ses tuples. Ces propriétés sont appelées Contraintes d’intégrité. A
un schéma de relation sont donc rattachées des contraintes d’intégrité.

13
Clé d’une relation
 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:
 Client (NCl, NomCl, PrenomCl, AdrCl)

14
Clé primaire
 Définition: La clé primaire d'une relation est une de ses clés candidates.
 La notion de clé primaire est moins importante que celle de clé
candidate dans le modèle relationnel.
 La clé primaire peut être choisie arbitrairement mais le contexte aide
souvent à déterminer laquelle des clés candidates doit être considérée
comme clé primaire.
 Pour signaler la clé primaire, ses attributs sont généralement soulignés.

15
Exemple

 Remarque : si on choisit pour clé (NomCl, AdrCl) la modélisation ne permet


pas des homonymes habitant la même ville.
16
Clé étrangère
 Définition:
 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.
 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.

17
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. Une base de données b de schéma B est
un ensemble de relations r1, r2, .., rp de schémas respectifs R1, R2, ..., Rp.
 Exemple :
 Client (NCl, NomCl, AdrCl)
 Commande (NCmd, DateCmd, #NCl)
 Produit (NP, LibP, Coul, Poids, PU)
 Ligne_Cmd (#NCmd, #NP, Qte)

18
Plan
 Introduction au modèle relationnel
 Concepts de base
 Traduction du modèle entité association en modèle relationnel

19
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
 Traduction du lien is-a

20
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.

21
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
 Les associations n-aires.

22
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
sujettes à des modifications dans le temps
 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.

23
Exemple 1

24
Exemple 2 1,1

25
Exemple 3

26
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
 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.

27
Association binaire- cas2 : Association
Un-à-plusieurs (Maître-Esclave)
Maitre Esclave


28
Exemple

29
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.
30
Exemple

31
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.

32
Traduction du lien is-a
 La traduction du lien is-a peut se faire selon plusieurs règles.
 Dans ce qui suit, nous considérerons une entité mère R avec n entités
filles S1, S2, ….Sn.
 La traduction d’un lien is-a se fait selon l’une des trois règles :
 Représentation de l’entité mère et de ses entités filles
 Pas de représentation de l’entité mère
 Fusion des entités filles et de l’entité mère

33
Traduction du lien is-a : Représentation
de l’entité mère et de ses entités filles
 L’entité mère sera transformée en une
nouvelle relation avec ses attributs.
 Chaque entité fille Si sera transformée
en une relation comportant comme Clé
l’identifiant de l’entité mère et comme
attributs les attributs de Si
 Cette règle est adaptée pour tout type
de spécialisation ce qui permettra de
représenter l’entité mère et les entités
filles explicitement.

34
Exemple

35
Traduction du lien is-a : Pas de
représentation de l’entité mère
 Chaque entité fille Si sera transformée en une relation
comportant comme Clé l’identifiant de l’entité mère et
comme attributs les attributs de Si en plus des attributs de
l’entité mère.
 Cette règle pose un problème lorsque les sous-entités ne
sont pas disjointes. Dans ce cas, il peut y avoir duplication
de certaines données. Certains problèmes d'incohérence
peuvent alors avoir lieu.
 Cette règle est applicable donc, dans le cas de sous-entités
sont totalement disjointes, tels que
 Homme, Femme → Personne
 ou aussi, Alimentaire, Habillement, Electroménager →
Article.
 Pour le cas, Etudiant, Employé → Personne
 cette règle conduirait à dupliquer les données héritées pour des
employés étudiants.

36
Exemple

37
Traduction du lien is-a : Fusion des
entités filles et de l’entité mère
 L’entité mère et ses entités filles seront
transformées toutes en une seule relation ayant
comme Clé l’identifiant de l’entité mère et comme
attributs les attributs de toutes les entités (mère et
filles).
 Le problème posé par cette règle est que certains
attributs risquent d'avoir une valeur nulle.
 Par exemple, pour la hiérarchie Homme, Femme
→ Personne, suite à l’utilisation de cette règle les
attributs spécifiques aux hommes seront nuls
pour les femmes et vice versa.
 En utilisant cette règle par exemple pour la
hiérarchie Etudiant, Employé → Personne, tout
étudiant non employé aura les attributs
spécifiques aux étudiants nuls, et tout employé
non étudiant aura les attributs d'étudiants nuls.

38
Exemple 1

39
Exemple 2
 Pour traduire cette hiérarchie nous utilisons
deux règles :
 Pour le deuxième niveau de la hiérarchie
Professeur Employé nous pouvons utiliser la
troisième règle et nous obtiendrons la
relation suivante :
 Employé (NumEmp, NumProf,Grade)
 Pour le premier niveau de la hiérarchie nous
utilisons la première règle, nous obtiendrons
alors comme modèle relationnel final :
 Personne (CIN)
 Employé (#CIN, NumEmp, NumProf, Grade)
 Etudiant (#CIN, NumImm)

40
Conclusion
 La présentation des principaux concepts du modèle relationnel
 Les règles de passage du modèle entité association au modèle
relationnel.

41

Vous aimerez peut-être aussi