Documente Academic
Documente Profesional
Documente Cultură
de
donne.
Bien connatre les rgles simples des schmas entits-associations (aussi appel entits-relations) permet
d'affiner petit petit une application apparemment simple, sans avoir besoin de la programmer, et par
consquent d'conomiser du temps de conception tout en obtenant une plus grande souplesse au niveau de
l'analyse.
Il existe des logiciels permettant de construire des schmas entits-associations et d'en analyser les
consquences logiques, puis de construire les tables associes aux modles de manire entirement
automatique. Ces logiciels sont appels AGL (atelier de gnie logiciel) ou CASE suivant leur puissance. Les
logiciels TRAMIS, AMC*Designor, SELECT... en sont des exemples.
Le modle entit-association est apparu dans les travaux des chercheurs, entre 1972 et 1975 lors des travaux
du franais MOULIN puis de TARDIEU, TEBOUL... etc. Il a t rendu clbre dans le monde entier par
l'amricain Peter CHEN, la suite d'une publication intitule "The Entity-Relationshionship Model" (ACM,
Transaction
on
Database
Systems,
1976).
A ce jour tous les spcialistes franais et/ou latins du domaine de l'analyse oriente base de donnes se servent
de ce modle comme outil de communication des applications SGBDR. Il est prsent de manire transparente
ou plus visible, dans la plupart des logiciels de construction d'applications de bases de donnes comme
ACCESS,
PARADOX,
ORACLE,
SQL
Server,
Informix,
Ingres,
Sybase
Il n'est en revanche pas adapt aux bases de donnes purement objet comme O2 de Ardent Softwae mme si
l'on admet la nouvelle drive de MERISE oriente objet!
Les
entits,
qui
sont
des
regroupements
d'informations,
et
possdent
des
attributs
(caractristiques)
Les associations qui sont les liens logiques entre les entits (et sont quantifies par des
cardinalits)
le nom
le ou les prnoms
la date de naissance
le lieu de naissance
le sexe
l'adresse
etc...
On considre souvent qu'il s'agit de "classes" d'entits.
Une
entit
donne
peut
elle-mme
tre
constitue
de
sous-classes.
Par exemple, un tre humain donn peut habiter au mme endroit qu'un autre (si deux personnes vivent sous
le mme toit parce qu'ils sont maris). Dans ce cas, l'adresse constitue une sous-classe de l'entit "tre
humain", c'est dire une nouvelle entit part entire.
D'un autre ct, il arrive souvent que plusieurs personnes rsident au mme endroit, sans mme se connatre
(cas d'un immeuble collectif par exemple). Dans ce cas on peut considrer l'adresse, comme une entit et la
dcrire de la manire suivante :
Pays
Rgion
Dpartement
Rue
etc...
On schmatise une entit par un rectangle.
Exemple :
Exemple :
Date
Annn
BL
Temps
DT
Date Temps
Nombre
(Integer) entier
etc...
sont
Elles
peuvent
des
tre
liaisons
de
nature
logiques
factuelle,
ou
entre
les
entits.
de
nature
dynamique.
Par exemple, une personne peut acheter un objet (action d'acheter), mais si l'on considre qu'une personne est
propritaire d'un objet, alors l'association entre l'objet et cette personne est purement factuelle.
Les associations se reprsentent dans une ellipse (ou un rectangle aux extrmits rondes), relie par des traits
aux entits qu'elles lient logiquement.
Exemple :
Exemple :
Considrons le cas de l'association "habite" et les deux entits "tre humain" et "appartement" du schma
prcdent, les cardinalits minimales et maximales sont les suivantes :
Ce qui signifie que dans cette modlisation un tre humain rside dans un appartement et un seul la fois,
mais
qu'un
appartement
peut
se
trouver
vide
ou
tre
pourvu
de
plusieurs
rsidents.
Bien entendu tout tre humain ne rside pas forcment dans un appartement, ce peut tre dans une maison,
l'htel ou la belle toile (SDF). Mais il convient de se concentrer sur ce que l'on doit modliser et non sur
l'univers
entier.
En outre nous avons convenu qu'un mme tre humain ne pouvait rsider dans plusieurs appartements la fois
(notion de rsidence principale par exemple).
On note les cardinalits de chaque ct de l'association, sur les traits faisant la liaison entre l'association et
l'entit.
Ds cet instant, on peut en dduire le type de relation parmi les types suivants : : 1/1, 1/n ou n/1 ou encore
n/m.
Ici
c'est
une
relation
de
type
1,n.
Pour dduire le type d'une relation, il suffit de rcuprer les cardinalits maximales des deux cts de
l'association, sans tenir compte de leur valeur exacte.
On peut s'y aider l'aide des diagrammes de Wen et des notions de mathmatiques ensemblistes, bien connus
de
ceux
qui
ont
pratiqus
les
maths
modernes
ds
leur
plus
jeune
ge...
Attention ! Des relations diffrentes entre mmes entits peuvent possder des cardinalits diffrentes; c'est
mme souvent le cas.
Exemple :
La
relation
loue
La
relation
rside
est
est
de
de
type
type
n:m.
1:n.
Exemple :
On voit ici que dans le cas de l'entit "appartement" tous les attributs sont utiliss pour composer la clef. Cette
clef naturelle n'tant pas pratique, il est plus judicieux de crer un nouvel attribut qui servira expressment de
clef l'association.
Pour l'entit "tre humain, on pourrait se servir du numro de scurit sociale (plus exactement du numro
INSEE) , comme clef de l'entit. En revanche, pour ce qui est de l'entit "appartement" il est conseill de crer
un nouvel attribut clef qui serait, par exemple, un numro.
Exemple :
Pour une entit de type Voiture il pourrait tre fait usage de l'immatriculation du vhicule comme clef de
l'entit.
numrique,
de
trs
rares
exceptions
prs.
En effet les SGBDR sont plus l'aise lorsqu'ils ont manipuler des clefs purement numrique. De plus une
clef
est
un
concept
purement
informatique.
Par exemple le n de scurit sociale est une mauvaise clef en gnrale : un individu tranger qui arrive sur le
sol franais est dot d'une immatriculation provisoire et ne connat son numro dfinitif que plusieurs mois
aprs
avoir
rempli
les
conditions
requises
par
l'administration.
Par exemple l'immatriculation d'un vhicule est une mauvaise clef : en effet, du fait de la fiscalit sur les
vhicules moteur (et en particulier les vignettes), les socits n'hsitent pas faire immatriculer leur parc de
vhicules dans le dpartement o les taxes sont les moins leves (le 51). Cette immatriculation peut donc tre
amene
changer.
Or toute clef volutive est un danger pour le systme informatique : si la valeur de la clef change, nous verrons
qu'il faut la modifier dans tous les fichiers dans laquelle elle est rfrence. Il est vrai que certains SGBDR
autorise automatiquement ce genre de manuvre, mais cette automatisation trs contraignante pnalise
lourdement
le
fonctionnement
du
SGBDR.
On veillera donc prendre une clef totalement indpendante des attributs ordinaires de l'entit.
De plus une clef a intrt tre la plus courte possible afin que son stockage soit limit quelques octets dans
les fichiers et donc le temps de recherche le plus rapide possible.
Le plus simple consiste donc introduire dans le descriptif de l'entit une clef strictement informatique qui
se rsumera en gnral un numro (entier long) que l'on pourra incrmenter automatiquement.
Parfois, il arrive qu'une clef ait t cre spcifiquement pour les besoins des systmes informatiques. C'est en
particulier le cas des indicatifs tlphoniques (33 pour la France) ou des code de pays (F pour France). Dans ce
dernier cas on devra alors utiliser la clef commune, comme clef de l'entit.
clef
utilisateur
La clef informatique est l'index primaire de la table et doit possder les caractristiques suivantes :
obligatoire
gnre automatiquement
La clef utilisateur doit tre assez souple , c'est dire possder dans la mesure du possible, les
caractristiques suivantes :
Obligatoire
Utiliser un jeu de caractre rduit s'il s'agit d'un format alpha (par exemple les 26
lettres majuscules de l'alphabet et les chiffres de 0 9)
La prsentation des donnes devant toujours s'effectuer suivant l'ordre tablis par la clef utilisateur dfaut
d'autre spcification.
ou
plusieurs
associations.
C'est le cas par exemple de l'association "est propritaire" mettant en relation "tre humain" et "appartement".
Cependant il arrive qu'une association concerne plus de deux entits (on dit alors qu'il s'agit d'association "naires").
Exemple :
Exemple :
arrive
parfois
que
l'on
soit
oblig
de
munir
d'attributs
des
associations.
considrons par exemple, que nous voulons modliser les relations existant entre les entits "client",
"commande" et "article" :
Exemple :
Mais comment dans ce schma introduire l'attribut "quantit" et plus encore l'attribut "rduction" dont on
voudrait
qu'il
puisse
s'appliquer
chacun
des
articles
d'une
commande
de
manire
diffrente
En effet si l'on introduit l'attribut quantit l'entit COMMANDE, chaque ligne de la commande se vera dote de
la
mme
quantit...
D'autre part si l'on introduit l'attribut quantit l'entit ARTICLE alors chacun des article se vera dot de la
mme quantit quelque soit la commande...
La solution est de pourvoir l'association "compose" des attributs "quantit" et "rduction" :
Il arrive dans certains cas que l'attribut "date" soit d'une importance capitale, notamment dans les applications
SGBDR portant sur la signature de contrats chance ou dans la dure (assurance par exemple).
Il n'est pas rare alors que le seul attribut "date" constitue lui seul une entit.
Exemple :
On appelle alors cela une entit temporelle. Une entit temporelle possde souvent un seul attribut, mais dans
le cas ou elle possde plusieurs attributs (anne, mois, jour, heure, minute, seconde...), l'ensemble de ces
attributs
constitue
alors
la
clef
de
l'entit.
Mais dans ce cas on peut aussi retirer cette entit et introduire la date en tant qu'attribut de l'association
"souscrit".
. De la thorie la pratique
Ce que nous venons de voir concerne l'analyse conceptuelle des donnes, c'est dire un niveau d'analyse qui
s'affranchi de toutes les contraintes de la base de donnes sur lequel va reposer l'application. Une fois dcrit
sous forme graphique, ce modle est couramment appel MCD pour "Modle Conceptuel des Donnes".
Ds lors, tout MCD peut tre tansform en un MPD ("Modle Physique des Donnes") c'est dire un modle
directement exploitable par la base de donnes que vous voulez utiliser...
Tout l'intrt de cet outil d'analyse est de permettre de modliser plus aisment les relations existant entre les
entits et d'automatiser le passage du schma muni d'attributs aux tables de la base de donnes pourvues de
leurs champs.
Voici maintenant les rgles de base ncessaire une bonne automatisation du passage du MCD au MPD :
Exemple :
NOTA : on aurait pu choisir l'autre clef comme clef commune, savoir le n d'appartement.
Bien que certains systmes proposent une autre solution :
Dans ce cas une tude approfondie de la solution adopter est ncessaire, mais ce type de relation est en
gnral assez rare et peu performante...
Exemple :
Exemple :
si le type de relation est n:m, alors les attributs de l'association deviennent des
attributs de la table de jointure.
si le type de relation est 1:n, il convient de faire glisser les attributs vers l'entits
pourvue des cardinalits 1:1.
si le type de relation est 1:1, il convient de faire glisser les attributs vers l'une ou
l'autre des entits.
Pour synthtiser toutes ces rgles, voici un exemple de modlisation d'une application. En l'occurrence il s'agit
d'un service commercial dsirant modliser les commandes de ses clients.
Exemple :
associations,
collectivits,
organisations)
sont
gnralises
dans
l'entit
"Propritaire".
On dit aussi que l'entit "Propritaire" est une entit parente et que les entits "Personne morale" et "Personne
physique" sont des entits enfants, car il y a une notion d'hritage...
Exemple :
Par exemple une entit "Etre humain" est une gnralisation pour toute entit faisant appel une personne,
comme
les
entits
"Etudiant",
"Client",
"Artiste",
"Souscripteur",
"Patient",
"Assujetti"...
Exemple :
Lors de la ralisation de la base de donnes, les entits RALISATEUR et ACTEUR peuvent tre regroupes en
une seule table car il y a un nombre non ngligeable de ralisateurs qui sont acteurs, et vice-versa. Dans ce
cas, un champ d'un seul caractre permettra de faire la diffrence entre un ralisateur pur, un acteur pur et un
acteur
ralisateur.
Notez aussi les cardinalits entre les entits ACTEUR et FILM, en effet, un film d'animation ne possde aucun
acteur.
Dans l'entit EXEMPLAIRE figure un attribut "dispo" permettant de savoir si l'exemplaire nX d'un film est
disponible ou en cours d'emprunt.
NOTA : pour simplifier l'criture, ne figurent dans ce schma que les attributs clefs ou les attributs
d'associations.
8. Divers
8.1. Bibliographie
La mthode MERISE, principes et outils (Tome 1 & 2) - TARDIEU, ROCHFELD, COLLETTI - Les
ditions d'organisation 1986
Conception de bases de donnes : du schma conceptuel au schma physique - GALACSI Dunod 1989
MERISE, vers une modlisation oriente objet - Jos MOREJON - Les Editions d'Organisation
1994
http://www.chillisource.com/
http://www.datanamic.com/
http://www3.ca.com/Solutions/Product.asp?ID=260
http://www.mega.com/
http://www.sybase.com/products/enterprisemodeling/powe
rdesigner
http://www.dblogic.com/
http://www.visible.com/Products/Analyst/overview.html
Win'Design de Cecima
http://www.win-design.com/fr/index.htm
xCase de Resolution
http://www.xcase.co.il/
DataArchitect de theKOMPANYcom
http://www.thekompany.com/products/dataarchitect/
http://www.rational.com/
Studio 2 de CaseStudio
http://www.casestudio.com
ER Studio de Embarcadero
http://www.embarcadero.com/
http://www.microsoft.com/office/visio/
http://www.silverrun.com/
http://www.popkin.com/products/sa2001/systemarchitect.h
tm
http://www.oracle.com/ (???)
Casewise
http://www.casewise.com/
http://excelsoftware.com/quickumllinuxnews100.html
http://excelsoftware.com/richdatamodel.html
Select d'Aonix
http://www.aonix.com/