Vous êtes sur la page 1sur 17

2014-05-20

Base de donnes
COURS 03 | MODLISATION AVANCE

2
Le modle entit-association-tendu

Le modle EA dj prsent ne permet pas dillustrer certains concepts


plus labors.
Le modle entit-association-tendu (EAE) donne au concepteur des
outils supplmentaires permettant :
d'augmenter le niveau de dtail du modle de donnes;
de prciser des liens importants entre les entits;
de prsenter des contraintes essentielles;
de rduire significativement la redondance de donnes;
d'augmenter la robustesse, la modularit et la flexibilit du modle cr.

1
2014-05-20

3
Le modle entit-association-tendu

Ainsi, le modle EAE permet une augmentation importante du niveau


dabstraction du modle.
Nanmoins, il existe certains inconvnients cet accroissement du niveau
dabstraction. Attention aux dcoupages abusifs.
Il nexiste aucun standard spcifique pour le modle EAE :
autant pour les concepts couverts;
que pour la notation graphique utilise.

4
Les constituants du modle EAE

Le modle EAE est une extension du modle EA. Ainsi, il inclus tout ce qui
existe dans le modle de base et y ajoute les concepts suivants :
le procd de gnralisation et de spcialisation;
la notion dhritage (sous-classes et super classes);
la notion de catgorie (union);
Labstraction dassociation;
lagrgation.

2
2014-05-20

5
Modle EAE
Procd de gnralisation et de spcialisation

La gnralisation est le procd par lequel on factorise les attributs


communs dentits de mme nature.
Dans le mme ordre dide, la spcialisation est le procd inverse
permettant de prciser des caractristiques particulires des entits
similaires mais diffrentes.
Ce procd peut faussement ressembler aux notions dentits faibles et
fortes.
Ces deux procds sont la base de la notion plus large dhritage.
Correspond souvent la structure : EST UN

6
Modle EAE
Hritage

Le concept dhritage est un concept trs puissant de la programmation


orient objet qui permet une trs grande rutilisabilit et adaptabilit des
objets crs.
Dans le cadre spcifique des bases de donnes relationnelles, le concept
dhritage est directement li aux notions de gnralisation et de
spcialisation.
Conceptuellement, lhritage est le principe selon lequel un enfant hrite
systmatiquement de toutes les caractristiques de son parent.
Le concept permet de propager des informations communes du haut de
l arbre gnalogique vers le bas tout en ajoutant des spcificits
propres aux descendants.

3
2014-05-20

7
Modle EAE
Hritage Super classe et sous-classe

Dans le contexte de lhritage une entit parent est appel super


classe alors quune entit enfant est appel sous-classe.
Lhritage multiple est possible mais souvent non recommand cause
des ambiguts possibles.
Voici un exemple de Nom Nom
gnralisation : Prnom Prnom

Code permanent Date de naissance Date d'embauche Date de naissance

NAS tudiant NAS Professeur

Genre Courriel Genre Courriel


Adresse Adresse

8
Modle EAE
Hritage, gnralisation et spcialisation
Spcialisation

NAS Prnom

Nom

Genre Date de naissance

Adresse Individu Courriel


Gnralisation

Code permanent Date d'embauche

tudiant Professeur

4
2014-05-20

9
Modle EAE
Hritage, gnralisation et spcialisation

Spcialisation :
processus de modlisation top-down ;
consiste distinguer plusieurs sous-ensembles dentits partir dune entit
commune.
Gnralisation :
processus de modlisation bottom-up ;
consiste combiner un ensemble dentits partageant des caractristiques
communes.
Hritage :
gnralisation + spcialisation => hritage de classes

10
Modle EAE
Hritage et contraintes

Il existe deux contraintes importantes prciser pour les processus de


gnralisation et de spcialisation :
contrainte de cardinalit (disjointe ou avec recouvrement);
contrainte de participation (totale ou partielle).
Aussi, une notation particulire est propose pour chaque contrainte.

5
2014-05-20

11
Modle EAE
Hritage et contrainte de cardinalit

Cette contrainte prcise si une entit parent peut appartenir un ou


plusieurs entits enfants :
gnralisation disjointe : lentit parent ne peut appartenir qu une seule
entit enfant;
gnralisation avec recouvrement ( overlapping ) : lentit parent peut
appartenir plusieurs entits enfants.
On utilisera un cercle ayant la notation interne de d ou de r (pour disjoint
ou recouvrement). De plus, une flche sera ajoute de lentit enfant vers
le cercle didentification de contrainte.
Les spcialisations singulires ne possdent pas de cercle mais garde la
flche pour indiqu le lien parent/enfant.

12
Modle EAE
Hritage et contrainte de cardinalit

Individu

Employ tudiant

Soutient Administratif Enseignant

6
2014-05-20

13
Modle EAE
Hritage et contrainte de participation

Cette contrainte prcise si une entit parent doit forcment appartenir


lune des spcialisations :
gnralisation avec participation totale : doit appartenir lune des
spcifications;
gnralisation avec participation partielle : ne doit pas forcment tre
spcialise.
Les spcialisations singulires sont aussi sujettes cette contrainte.
On utilisera un trait pais entre lentit parent et le cercle indiquant la
contrainte de cardinalit.

14
Modle EAE
Hritage et contrainte de participation

Employ

Soutient Administratif Enseignant

Soutient Soutient
informatique audio visuel

7
2014-05-20

15
Modle EAE Individu

Hritage et contraintes
r

Employ tudiant

d d
Gestionnaire Professeur

Directeur de
Soutient Administratif Assistant 1er cycle 2e cycle
dpartement

3e cycle
d r

Soutient Soutient Assistant de Charg de


informatique audio visuel recherche laboratoire

Scurit

16
Modle EAE
Catgorie

Lhritage multiple implique que la sous classe doit absolument possder


un lien vers ses n super classes.
Il est tout de mme frquent davoir un hritage exclusif qui est variable
selon le contexte. Ainsi, selon linstance courante, lhritage peut tre de
parents diffrents.
Ce type dhritage est possible avec le modle EAE : on les nomme union
ou plus justement catgorie. Ainsi, il est possible davoir une dfinition
formelle de la structure variable de lhritage.
Comme pour les autres types dhritage, on utilise le cercle mais avec la
lettre U (union). La contrainte de participation totale ou partielle est
toujours possible.

8
2014-05-20

17
Modle EAE
Catgorie Citoyen canadien tudiant tranger
Rsident
permanent

Individu

Employ tudiant

d d
Gestionnaire Professeur

Directeur de
Soutient Administratif Assistant 1er cycle 2e cycle
dpartement
.. . .. . .. .

18
Modle EAE
Abstraction dassociation

Dans certaines situations, il est possibles de crer un niveau dhritage


supplmentaire afin dexprimer des associations prsentes dans des super
classes.
Ce processus permet de prciser des rles spcifiques.

9
2014-05-20

19
Modle EAE
Abstraction dassociation

(0, N) supervise
est supervis par est support par
(0, 1) (0, N)
Supervise Employ Supervise Employ Supporte

(0, 1) est supervis par


r
supervise supporte
(1, N) (0, 3)

Superviseur Supervise Tuteur


(0, N) (1, 1)
supervise est supervis par

20
Modle EAE
Agrgation

Lagrgation est un concept dabstraction consistant crer une entit


virtuelle partir dentits associes entre elles.
Les agrations peuvent tre associes dautres entits par des
associations ou un hritage quelconque.
Souvent utilis pour unir une association une autre.

10
2014-05-20

21
Modle EAE
Agrgation

Tutorat

est support par supporte


(0, N) (0, 3)
Employ Supporte Tuteur

rdaction d un rapport
(1, 1)

Rdaction

documentation d un acte de tutorat


Note
(1, 1)
Chaque acte de tutorat doit se
terminer par la rdaction d un
court rapport.
Rapport

22
Modle EAE
Un exemple

11
2014-05-20

23
Modlisation UML

UML vient de lacronyme anglophone Unified Modeling Langage .


Ce nest pas une mthode de conception mais plutt un langage de
modlisation.
UML est utilis pour spcifier, visualiser, modifier et construire les
documents ncessaires au bon dveloppement d'un logiciel orient
objet. UML offre un standard de modlisation, pour reprsenter une
architecture logicielle.
UML compte 14 diagrammes diffrents, complmentaires et dpendants
hirarchiquement. Tous les diagrammes se compltent afin de dcrire
tous les aspects du projet et pour toutes les tapes de son cycle de vie.

24
Modlisation UML

Il existe des bases de donnes orientes objets (BDOO) qui prennent en


compte directement les notions dobjets.
Tel que mentionn, le cadre du cours nadresse que les bases de
donnes relationnelles (BDR).
Toutefois, le diagramme de classe reste pertinent et permet une
conception rapproche mais diffrentes du modle EAE. Aussi,
pratiquement tous les concepts peuvent tre implments dans une BDR.

12
2014-05-20

25
Modlisation UML
Diagramme de classe

Le diagramme de classe est principalement constitu des lments


suivants :
la classe (et ses constituants);
les relations :
association;
agrgation;
compositions;

la gnralisation.
Plusieurs autres concepts existent mais ne sont pas couverts ici.

26
Modlisation UML
Diagramme de classe | Classe

Une classe est la base dUML.


Elle est une reprsentation dun ensemble dobjets concrets ou abstraits
de mme nature. Elle est le pendant de lentit dans le modle EA.
Elle est constitue dattributs mais aussi de mthodes.
Elle est illustr par un rectangle divis verticalement en 3 parties
(nom, attributs et mthodes).
Parfois, dans le contexte des BDR, on lui ajoute des contraintes, illustres
par une 4e sections (attention, ce nest pas formellement du UML).
Les attributs sont atomiques et le concept de cl primaire nexiste pas.

13
2014-05-20

27
Modlisation UML
Diagramme de classe | Classe

Etudiant Cours
codePermanent sigle
noNAS nom
nom description
prenom nbrCredit
genre
courriel
adresse
noTelephone
dateNaissance
quelAge
coteMoyenne
estInscrit
ageValide

28
Modlisation UML
Diagramme de classe | Relation

Une relation reprsente un lien entre deux classes.


Elle peut possder un nom et, pour chaque lieu de connexion, le nom du
rle ainsi que lune des 4 cardinalits disponibles (0..1, 1, 0..*, 1..*)
Le modle permet des relations n-aires. Nanmoins, il est plutt dusage
courant dutiliser des relations binaires.
Les relations peuvent tre :
une association, une agrgation ou une composition;
rflexive.

14
2014-05-20

29
Modlisation UML
Diagramme de classe | Association

Lassociation indique un lien quelconque entre deux classes.


Elle peut tre :
unidirectionnelle : indique quune seule classe peut accder la seconde;
bidirectionnelle : chacune des classes peut accder lautre.
Reprsent par une ligne droite.
Cet exemple se lit ainsi : un local accueil de 0 N cours alors quun cours
se donne dans un seul local.

Local Cours
1 prsent 0..*
accueil se donne

30
Modlisation UML
Diagramme de classe | Agrgation

Lagrgation indique quune classe est constitue (possde) dune ou de


plusieurs instances dune autre classe;
Le cycle de vie de la classe possde nest pas li la classe propritaire.
Reprsent par une ligne droite muni dun losange vide du ct
propritaire.
Cet exemple se lit ainsi : Un dpartement possde 1 ou plusieurs
professeurs alors quun professeur est membre daucun 3
dpartements.

Departement Professeur
0..3 membre 1..*

15
2014-05-20

31
Modlisation UML
Diagramme de classe | Composition

La composition, semblable lagrgation, indique quune classe est


constitue (possde) dune ou de plusieurs instances dune autre classe;
Le cycle de vie de la classe possde est li la classe propritaire. Ainsi,
si la classe propritaire est dtruite, les classes composes sont dtruites
aussi.
Reprsent par une ligne droite muni dun losange noir du ct
propritaire.
Cet exemple se lit ainsi : une universit possde de 1 plusieurs
dpartements alors quun dpartement nappartient qu une universit.

Universit Departement
1 facult 1..*

32
Modlisation UML
Diagramme de classe | Relation rflexive

Une relation rflexive est lorsquune classe est relie elle mme.
Lexemple de gauche se lit ainsi : un employ peut superviser de 0 N
employ alors quun employ est supervis par aucun ou un seul
employ.
Lexemple de droite se lit ainsi : un cours possde de 0 N cours
pralable alors quun cours peut tre pralable aucun ou N cours.

0..* 0..*
supervise

pralable

Employ Cours

0..1 0..*

16
2014-05-20

33
Modlisation UML
Diagramme de classe | Gnralisation

La gnralisation est encore le concept de lhritage.


Elle est reprsente par une ligne munie dune flche vide pointant sur le
parent.

Individu

Employ tudiant

34
Modlisation UML
Un exemple

17

Vous aimerez peut-être aussi