05 eaumlrel .pdf



Nom original: 05_eaumlrel.pdfTitre: Microsoft PowerPoint - bdentiteassoc.pptAuteur: donsez

Ce document au format PDF 1.3 a été généré par PScript5.dll Version 5.2 / GPL Ghostscript 8.15, et a été envoyé sur fichier-pdf.fr le 20/04/2014 à 10:54, depuis l'adresse IP 197.28.x.x. La présente page de téléchargement du fichier a été vue 815 fois.
Taille du document: 346 Ko (34 pages).
Confidentialité: fichier public


Aperçu du document


http://www-adele.imag.fr/users/Didier.Donsez/cours

Le Modèle Entité-Association (et UML)
et les Bases de Données Relationnelles

Didier DONSEZ
Université Joseph Fourier
PolyTech’Grenoble - LIG/ADELE
Didier.Donsez@imag.fr
Didier.Donsez@ieee.org

25/09/2007

2

Motivations
Modèle Entité/Association (Entity/Relationship)
• point de départ aux MCD de nombreuses méthodes
• Merise, OMT, UML, …

• extension objet (héritage)

Modèle Relationnel
• modèle de base pour les SGBDs relationnels
• >70 % des applications SI
D. Donsez, EA et BD, 1998-2007

• théorie de la normalisation
• suppression des redondances
• mais il faut déterminer toutes les dépendances fonctionnelles

Transformation E/A vers le Relationnel

25/09/2007

3

Modèle Entité-Association E/A [Chen76]
Entity-Relationship Model E/R
Concepts de Base





Type d ’Entité (Entity Set)
Type d ’Association (Relationship Set)
Attribut (Attribute)
Clé (Key)
Etudiant
Suivre
numss

nom adresse année

Cours
code

titre

Base pour de nombreux autres méthodologies
D. Donsez, EA et BD, 1998-2007

• Merise, OMT, Booch, …, Diagramme de classes UML (1 & 2)
Etudiant
numss
nom
adresse

0..n

0..n

Suivre
année

Cours
code
titre
heure

heures

25/09/2007

4

Les Clés
Une entité a une et une seule clé
même si plusieurs clés sont candidates
• les attributs clé sont soulignés

D. Donsez, EA et BD, 1998-2007

Cours

formation intitulé

salle

Cours

heure

formation intitulé

salle

heure

25/09/2007

5

Choisir une Clé
Naturelle (Natural)
• Attribut seul ou composition d ’attributs
• doit toujours être renseigné (NOT NULL)

• Remarque : Attribut clé représentant une composition
ISBN : numéro intl d ’éditeur + numéro d ’ouvrage
GENCOD, EAN, SKU : numéro intl de fabricant + numéro de produit

• clé d ’une entité faible

D. Donsez, EA et BD, 1998-2007

Artificielle (Surrogate)
• introduction d ’un attribut artificiel n ’appartenant pas au
système décrit.
• performance en comparaison
• compacité du stockage
souvent employé pour les bases décisionnelles

25/09/2007

6

Cardinalités des Assocations
Multiplicity of Relationships
A

B

A

D. Donsez, EA et BD, 1998-2007

Many-to-many
N-M
0,n - 0,n
E/A

A

UML A

R
0..n

0..n

B

A

One-to-one
1-1
0,1 - 0,1

Many-to-one
N-1
0,n - 0,1
B

A

B

A

R
0..n

0..1

B

B

A

B

A

B

R
0..1

0..1

B

25/09/2007

7

Associativité Many-to-One

Etudiants

D. Donsez, EA et BD, 1998-2007

Se lit : « Un étudiant est encadré
que par un enseignant »

Encadrant
de Stage

Enseignants

Se lit : « Un enseignant encadre
plusieurs étudiants »

25/09/2007

8

Association n-Aire
• Plusieurs entités peuvent participer à la même associations

Exemple d ’un association ternaire

Etudiants

D. Donsez, EA et BD, 1998-2007

numss

nom

Enseigne

adresse

TDs

codcours

Assistants

numemp

nom

bureau

titre

coef

25/09/2007

9

Modèle Entité-Association
Entity-Relationship Model
Etudiants

Suivre

Cours

année

D. Donsez, EA et BD, 1998-2007

Etudiants

Suivre
Année
année

Cours

25/09/2007

10

Rôles dans une association
Rôles asymétrique / symétrique
Couple
époux

Ami
épouse

1

2

D. Donsez, EA et BD, 1998-2007

Personne

Personne

époux

épouse

Joseph
Sanson

Marie
Dalida

1
Pierre
Paul

2
Paul
Jean

25/09/2007

11

Les Entités Faibles (Weak Entity)
Parfois, un attribut de la clé d ’une entité (dite faible)
provient d ’une autre entité
Exemple
Logins

@

Machines

nom

D. Donsez, EA et BD, 1998-2007

Produit

nserie

Instance de

nom

Modèle

code

fabriquer

Marque

nom

Remarque
• Certains attributs clés sont composés et forme la clé d’une entité faible
• ISBN, GENCOD, EAN, SKU, IBAN, …

25/09/2007

13

Transformation E/A vers Relationnel
But
• Implantation du modèle E/A sur un SGBD réel

Méthode

D. Donsez, EA et BD, 1998-2007

• transformation
des associations n-aires en associations binaires
• 1 entité = 1 relation
• 1 association = dépendant de sa cardinalité

Cas de navigation restriente
Employé
nemp
nom
sal

appartient >

1..n

Service
1

nom
adr

25/09/2007

14

Cas général : Association Many-to-Many
A
ka
Many-to-Many

A

D. Donsez, EA et BD, 1998-2007

N-M
create table A (
ka …, aa …,
primary key(ka)
)

ka
...

aa
...

aa
R

R

B

cc

kb bb

ka
...

kb
...

cc
...

0..n

A
ka
aa

0..n

B
cc
B

kb bb
... ...

create table R (
create table B (
ka …, kb …, cc …,
kb …, bb …,
primary key(ka,kb),
primary key(kb)
foreign key (ka) references A, )
foreign key (kb) references B
)

B
kb
bb

25/09/2007

15

Cas d ’une Association Many-to-One
A
Coût des jointures !

A
Many-to-One

D. Donsez, EA et BD, 1998-2007

N-1

ka
...
A

ka

B

cc

kb bb

R

aa
...
ka
...

aa

R

aa
...

kb
...

ka
...
cc
...

create table A (
ka …, kb …, aa…, cc …,
primary key(ka),
foreign key (kb) references B
check(cc IS NULL
OR kb IS NOT NULL)
)

kb
...

0..n

A
ka
aa

B
cc
B

cc
...
B

0..1

kb bb
... ...

kb bb
... ...

create table B (
kb …, bb …,
primary key(kb)
)

B
kb
bb

25/09/2007

16

Cas d ’une Association One-to-One
A
Coût des jointures !
A
One-to-One

ka
...

ka

aa
R

aa
...

R

B

cc

kb bb

ka
...

kb
...

0..1

A
ka
aa

B
cc
B

cc
...

0..1

kb bb
... ...

D. Donsez, EA et BD, 1998-2007

1-1
A

ka
...

aa
...

A

ka
...

aa
...

kb
...

B

cc
...
B

kb bb
... ...

kb bb
... ...
ka
...

cc
...

B
kb
bb

25/09/2007

17

Cas d ’une Association avec des Rôles
A

rôle 2
A

R
aa

cc

R krole1 krole2 cc
...
...
...

aa
...

create table A (
ka …, aa …,
primary key(ka)
)

rôle1
ka

ka
...

create table R (
krole1 …, krole2 …, cc …,
primary key(krole1, krole2),
foreign key (krole1) references A,
foreign key (krole2) references A
)

D. Donsez, EA et BD, 1998-2007

Rôle symétrique et One-To-One
• quel est le danger de cette modélisation ?
A

ka
...

aa krole2 cc
...
...
...

Rôle Symétrique
et One-to-One

25/09/2007

18

Cas de l ’entité faible (Weak Entity)
A
ka

D. Donsez, EA et BD, 1998-2007

A

ka
...

aa
...

R
aa
kb
...

cc
cc
...

A
ka
aa

B
kb bb
B

create table A (
create table B (
ka …, kb …,
kb …, bb …,
aa…, cc …,
primary key(kb)
primary key(ka,kb),
)
- - différent du cas N-to-1
foreign key (kb) references B
)

Cas de l’aggrégation en UML

0..n

kb bb
... ...

0..1

B
cc

B
kb
bb

25/09/2007

19

Cas de navigation restreinte
La navigation est unidirectionnelle
Exemple
Hotel

D. Donsez, EA et BD, 1998-2007

nom
adr

Héberge

Client
nom
adr

25/09/2007

20

Exercices
de transformation E/A vers Relationnel
Exercice 1
• transformez les cas de l ’entité faible avec 3 tables A,
B, R
Exercice 2
• transformez le schéma suivant
D. Donsez, EA et BD, 1998-2007

• attention à l ’ordre des noms
Machines

nom

@

Domaines
Secondaires
nom

@

Domaines
Primaires
nom

25/09/2007

21

Exercices
de transformation E/A vers Relationnel
Exercice 3
• transformez le schéma suivant
#client
Client

Préfère

nom
Date



D. Donsez, EA et BD, 1998-2007

date
Produit
#serie

sav

R


Modèle

R


#mod design

cc

Marque
#mar

nom

25/09/2007

23

Le Cas des Sous Entités (i)
Employé
nemp nom

sal

Cadre

Empl

Cadre

prime

nemp
nom
sal

prime

1 - Separation
Emp nemp
100
200

nom
Dupond
Durant

sal

Cadre nemp

5000
20000

200

prime
10000

D. Donsez, EA et BD, 1998-2007

Cadre.nemp est une clé étrangère sur Emp

2 - Push down
Emp nemp
100

nom
Dupond

sal
5000

Cadre nemp
200

nom
Durant

sal
20000

CI : {Emp.nemp}∩
∩ {Cadre.emp} = ∅

prime
10000

25/09/2007

25

Le Cas des Sous Entités (ii)
Employé
nemp nom

Cadre

Empl

Cadre
prime

prime

nemp
nom
sal

sal

3 - Push Up

D. Donsez, EA et BD, 1998-2007

Emp

nemp

nom

100
200

Dupond
Durant

sal
5000
20000

prime
NULL
10000

25/09/2007

27

Le Cas des Sous Entités (iii)

D. Donsez, EA et BD, 1998-2007

Inconvénients

1

• Jointure pour reconstituer Cadre

2

• Union pour reconstituer Employé

3

• Pas de distinction entre un Employée
et un Cadre avec une prime NULL
• en général, pas d ’abstraction dans les Traitements

25/09/2007

28

Amélioration du Cas 3 - Push Up
Employé
nemp nom

4

Emp typemp
EMP
CAD

sal

Cadre

Empl

Cadre
prime

prime

nemp
nom
sal

nemp

nom

100
200

Dupond
Durant

sal
5000
20000

prime

Emp typemp

NULL
10000

D. Donsez, EA et BD, 1998-2007

Emp.typemp est une clé étrangère
CI : Emp.typemp =EMP ⇒ prime=NULL

5

Emp typemp
EMP
CAD

nemp

nom

100
200

Dupond
Durant

sal
5000
20000

prime
NULL
10000

Domaine typemp, CD typeemp IN (EMP,CAD)
CI : Emp.typemp =EMP ⇒ prime=NULL

EMP
CAD

25/09/2007

30

Entité Abstraite
Employé : entité abstraite (notion dans Java, C#, C++, UML, ...)
• pas de tuple (instance) Employé
Cadre

prime

Ouvrier

equipe

Employé
nemp nom

D. Donsez, EA et BD, 1998-2007

Emp typemp
OUV
CAD

sal

nemp

nom

100
200

Dupond
Durant

sal
5000
20000

prime
NULL
10000

equipe
Nuit
NULL

Domaine typemp

CD typeemp IN (OUV,CAD)
CI : Emp.typemp !=CAD ⇒ prime=NULL
CI : Emp.typemp !=OUV ⇒ equipe=NULL

25/09/2007

32

Transformation E/A vers Relationnel

L ’évolution de Schéma
Inconvénients
• Ajout d ’une sous entité Dirigeant
Employé
nemp

nom

Cadre
sal

prime
Département

• Impacts
D. Donsez, EA et BD, 1998-2007

Dirigeant

sur le schéma
sur les contraintes d ’intégrité
sur les contraintes de domaines
sur les traitements

Solution : l ’Objet-Relationnel ou l ’Objet Pur

25/09/2007

33

Transformation E/A
vers l ’Objet-Relationnel
But
• Implantation du modèle E/A
sur un SGBD Objet-Relationnel

Fonctionnalités disponibles
• pour les Sous-Entités
• Héritage de Type et Héritage de Table

D. Donsez, EA et BD, 1998-2007

• pour les Associations
• table indépendante ou collection imbriquée (tableau dimensionnable,
table imbriquée)
• clé étrangère ou référence d ’objet
• nombreuses solutions [Soutou99] pp84,93,103-105

25/09/2007

34

Héritage
Héritage de Table
Mettre en correspondance les Sous-Entités avec des Sous
Tables

Héritage de Type

D. Donsez, EA et BD, 1998-2007

• Même problème que pour le relationnel pur
• Utilisation des sous types dans le Push-Down

25/09/2007

35

Cas général :
Association Many-to-Many (i)
A
ka
Many-to-Many

D. Donsez, EA et BD, 1998-2007

N-M

A

ka
...

create type tA as object (
ka …, aa …,
);
create table A of tA (
primary key(ka)
);

aa
...

aa
R

R

B

cc

kb bb

ra

rb

create table R (
ra REF(tA), rb REF(tB),
cc …,
primary key(ra,rb),
SCOPE FOR ra IS A,
SCOPE FOR rb IS B
);

cc
...

0..n

A
ka
aa

0..n

B
cc
B

B
kb
bb

kb bb
... ...

create type tB as object (
kb …, bb …,
);
create table B of tB (
primary key(kb)
);

25/09/2007

36

Cas général :
Association Many-to-Many (ii)
A

Attention à la mise
à jour des listes de refs
=> risque d ’incohérence

Many-to-Many

D. Donsez, EA et BD, 1998-2007

N-M

A

ka
ka
...

R
aa

aa {rbs}
...

create type tB as object;
create type tA as object(
ka …, aa …,
rbs varray(10) of REF(tB),
);
create table A of tA (
primary key(ka),
);

B
kb bb
B

A
ka
aa

0..n

0..n

kb bb {ras}
... ...
create or replace type tB
as object (
kb …, bb …,
ras varray(10) of REF(tA),
);
create table B of tB (
primary key(kb)
);

B
kb
bb

25/09/2007

Cas général :
Association Many-to-Many (ii)
En UML: sens unidirectionnel de navigation (B vers A)
A
ka
aa
Many-to-Many

D. Donsez, EA et BD, 1998-2007

N-M

A

ka
...

aa
...

create type tA as object(
ka …, aa …
);
create table A of tA (
primary key(ka),
);

B
kb
bb
B

kb bb {ras}
... ...
create type tB as object (
kb …, bb …,
ras varray(10) of REF(tA)
);
create table B of tB (
primary key(kb)
);

37

25/09/2007

38

Cas général :
Association One-To-One
A
ka
One-To-One

D. Donsez, EA et BD, 1998-2007

1,1

A

ka
...

aa
...

create type tB as object;
create type tA as object (
ka …, aa …, rb REF(tB)
);
create table A of tA (
primary key(ka),
SCOPE FOR rb IS B
);

R
aa

rb

B
kb bb
B

kb bb
... ...

ra

create or replace type tB as object (
kb …, bb …, ra REF(tA)
);
create table B of tB (
primary key(kb),
SCOPE FOR ra IS A
);

25/09/2007

39

Bibliographie
Roger Mounyol, "Merise par l'Exemple", Ed Ellispes, 1991, ISBN 2-7298-9114-5
Chris Date, "Introduction aux Bases de Données", 6ème édition, Ed Intl Thomson Publ.
ISBN 2-84180-964-1, 970 pp
Jeffrey D. Ullman, Jennifer Widom, "A First Course in Database Systems", 1ère édition,
Ed. Prentice Hall Engineering, Science & Math, Avril 1997, ISBN 0-13-861337-0, 470 pp.
PPS Chen. The Entity-Relationship model toward a unified view of data. ACM
Transactions on Database Systems, March 1976.
Michael Blaha, William Premerlani. Object-Oriented Modeling and Design for Database
Applications, Prentice Hall, Englewood Cliffs, New Jersey, 1998.


http://www.omtassociates.com/Pages/papers.html

Christian Soutou, "Objet-Relationnel sous Oracle8, Modélisation avec UML", Ed Eyrolles,
1999, ISBN 2-212-09063-3
D. Donsez, EA et BD, 1998-2007



décrit bien les alternatives de conception des associations avec l ’objet-relationnel et avec le relationnel

Christian Soutou, "De UML à SQL : Conception de bases de données", Ed Eyrolles,
2002, ISBN 2-212-11098-7


La mise à jour du précedent

Using UML to Design Database Applications



http://www.umlchina.com/Indepth/usinguml.htm
http://www.intelinfo.com/newly_researched_free_training/UML.html

25/09/2007

40

D. Donsez, EA et BD, 1998-2007

Annexe : Zoo de méthodes

dépendances

d’après HDR Bruel


05_eaumlrel.pdf - page 1/34
 
05_eaumlrel.pdf - page 2/34
05_eaumlrel.pdf - page 3/34
05_eaumlrel.pdf - page 4/34
05_eaumlrel.pdf - page 5/34
05_eaumlrel.pdf - page 6/34
 




Télécharger le fichier (PDF)


05_eaumlrel.pdf (PDF, 346 Ko)

Télécharger
Formats alternatifs: ZIP



Documents similaires


05 eaumlrel
uml bdr
chapitre 3 modele relationnel
cours bd access
td7 corrige
seance4 modelerel

Sur le même sujet..