You are on page 1of 25

Cours Bases de donnes

3
me
Anne Systmes dInformation


Chapitre 01
Conception des Bases
de Donnes Le Modle
Entit/Association


Fouad DAHAK
Enseignant-Chercheur
Charg de cours Bases de donnes
Ecole Nationale Suprieure dInformatique (ESI)
(f_dahak@esi.dz http://dahak.esi.dz)

Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
2

Table des matires
I. Concepts de base ............................................................................ 4
I.1. Note .................................................................................................... 4
I.2. Prsentation ....................................................................................... 4
I.3. lments du modle ........................................................................... 5
I.3.1. Entit ................................................................................. 5
I.3.2. Type - Entit ...................................................................... 5
I.3.3. Attribut, valeur ................................................................... 6
I.3.4. Identifiant ou cl ................................................................. 6
I.3.5. Association ou relation ....................................................... 7
I.3.6. Type-Association ................................................................ 7
I.3.7. Reprsentation Graphique ................................................. 8
I.4. Les Cardinalits ................................................................................... 8
I.4.1. Concept de cardinalit ....................................................... 8
I.4.2. Interprtation des relations ................................................ 9
I.5. Concepts Supplmentaires ............................................................... 12
I.5.1. Entit faible ...................................................................... 12
I.5.2. Structures Hirarchiques ................................................. 13
I.5.3. Associations plurielles ...................................................... 13
I.5.4. Associations rflexives ..................................................... 13
I.5.5. Les domaines de valeurs ................................................. 14
I.5.6. Conserver lHistorique ...................................................... 14
I.5.7. Agrgation ........................................................................ 15
I.5.8. Gnralisation / spcialisation ......................................... 16
II. Les Contraintes dIntgrit ............................................................ 17
II.1. Objectif ............................................................................................ 17
II.2. Dfinition : ....................................................................................... 17
II.3. Effet ................................................................................................. 17
II.4. Formulation des contraintes ............................................................ 18
II.4.1. Un formalisme inspir de la logique du premier ordre .... 18
II.4.2. Reprsentation graphique ............................................... 18
II.5. Types de Contraintes dintgrit ..................................................... 18
II.5.1. Contraintes d'intgrit sur les attributs ............................ 18
II.5.2. Contraintes d'intgrit sur les cardinalits ...................... 19
II.5.3. Contraintes sur les entits / association ......................... 19
III. Le Schma Conceptuel ................................................................ 22
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
3

III.2. Rgles de conception ...................................................................... 22
III.2.1. Rgle de reprsentation par un type d'entit ................. 22
III.2.2. Rgle de reprsentation par un type association .......... 22
III.2.3. Rgle de reprsentation par un attribut ......................... 22
III.3. Rgles doptimisation ..................................................................... 23
III.3.1. Rgles portant sur les noms .......................................... 23
III.3.2. Rgles de normalisation des attributs ............................ 23
III.3.3. Rgles de fusion/suppression dentits/associations .... 23
III.4. Vrification du schma EA .............................................................. 23
III.4.1. Vrification "syntaxique" ................................................ 23
III.4.2. Par jeu d'essai ................................................................ 23
III.4.3. Compltude par rapport aux traitements ....................... 24
III.4.4. Par les utilisateurs .......................................................... 24
III.5. Description dun schma EA ........................................................... 24
III.5.1. Entte ............................................................................. 24
III.5.2. Description d'un TE ........................................................ 24
III.5.3. Description d'un TA ........................................................ 24
III.5.4. Description dun Attribut ................................................. 24
IV. Conclusion ................................................................................... 25
IV.1. Limites du modle E/A ................................................................... 25
IV.2. Inconvnients du modle E/A ........................................................ 25
IV.3. Avantages du modle E/A .............................................................. 25


Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
4

I. Concepts de base
I.1. Note
Le niveau danalyse conceptuel est un niveau danalyse smantique.
Cest dire quil nest aucunement proccup par laspect physique
de limplantation des structures dinformation, mais se proccupe
plutt du sens des choses.
Quand on est au niveau conceptuel, on ne doit pas se proccuper de
laspect ni des fonctionnalits du systme projet en termes de
traitements. Ce qui nous intresse ce niveau cest la structuration
des donnes de manire ce que le modle conu soit le plus
proche de la ralit perue.
Il y a galement un aspect trs important prendre en considration
et qui reprsente un pige que beaucoup dtudiants narrivent pas
viter au moment de la conception des donnes. Il sagit du facteur
temps. En fait, la conception des donnes nest pas lie au temps.
On conoit une base de donnes dont la structure reste valable,
correcte et proche de la ralit et ceci indpendamment du temps.
I.2. Prsentation
Une base de donnes est un ensemble de donnes
structures qui reprsentent une partie de la ralit perue. Avant
que cette base de donnes ne prenne sa forme finale (une forme
utilisable par un SGBD) il faut passer une tape trs importante
quest la conception de cette dernire. Il sagit donc de reprsenter
les objets de la ralit et les interactions entre ces objets de manire
ce quils soient facilement manipulables, pour cela on a besoin de
modliser et donc lutilisation dun modle est ncessaire. Le modle
entits-associations constitue lun des meilleurs modles de
conception des donnes et des plus courants.
Ce modle, prsent par le Prof. Peter Pin-Shan Chen
(1976), permet une description naturelle du monde rel partir des
concepts dentit et dassociation.
Bas sur la thorie des ensembles et des relations, ce
modle se veut universel et rpond lobjectif dindpendance
donnes-programmes.
Ce modle, utilis pour la phase de conception, sinscrit notamment
dans le cadre dune mthode plus gnrale et trs rpandue :
Merise.
L'ide fondamentale du modle EA est de retenir comme
concepts de base pour la reprsentation les mmes concepts
gnriques que ceux qui guident le processus d'abstraction
conduisant de l'observation d'une ralit sa description.
On suppose que la perception d'une situation observe se
fait naturellement sur la base d'une identification des objets prsents
(qu'ils soient rels, une personne, ou abstraits, une foule), de liens
entre ces objets (une personne conduit une voiture) et de proprits
observables (taille, couleur ...).
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
5

Le modle Entit / Association propose une description sur la
base de ces mmes trois concepts, la correspondance entre les trois
concepts gnriques et la terminologie du modle EA est la suivante:
o Objet entit
o Lien association (relation)
o Proprit attribut
I.3. lments du modle
Un diagramme entits/association se compose de trois types
dobjets:
o Les entits,
o Les relations et
o Les attributs (quon nomme aussi proprits).
I.3.1. Entit
Dfinition 1: Une entit est un objet, une chose concrte ou
abstraite qui peut tre reconnue distinctement et qui est caractrise
par son unicit.
Ds quon rencontre des objets identifiable de manire unique (sans
confusion ni ambigit) qui interagissent et qui font ou subissent des
actions dans notre systme on parle dentits. Par exemple, si je dis
quAli lit le livre Bases de donnes quil a achet chez Amar. Je
distinguerai nettement trois entits : Ali, le livre Bases de
donnes et Amar. Ali fait deux actions, celles de lire et dacheter, le
livre Bases de donnes subit ces mmes actions alors que Amar
participe laction dachat de Ali qui est interprte de son cot
comme tant une vente.
I.3.2. Type - Entit
Dfinition 2: Un type-entit dsigne un ensemble dentits qui
possdent une smantique et des proprits communes.
On parle de type entit quand on essaie de reprsenter de manire
gnrale un ensemble dentits qui ont une mme description. Cest
analogue au concept densemble dans les mathmatiques en
considrant les entits comme les lments de cet ensemble.
Dans lexemple prcdent on a prsent une situation bien dfinie
celle de Ali qui lit le livre Bases de donnes quil a achet chez
Amar. Mais si on dsire modliser cette situation de manire
gnrale il faut faire en sorte que notre modle puisse reprsenter
cette situation quel que soit le lecteur, lacheteur, le livre ou le
vendeur. Pour cela on ne devrait plus parler dAli, le livre Bases de
donnes et Amar prcisment mais de ce quils reprsentent dans
cette situation cest--dire lacheteur, le livre et le vendeur. Donc on
pourrait dire finalement quAli et Amar sont des entits du type entit
Personne car tous deux ont les mmes caractristiques et le livre
Bases de donnes est une entit du type-entit Livre.
Au niveau du modle, ce sont les types-entits qui sont reprsents
et non pas les entits.
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
6

Note : Une entit est souvent nomme occurrence ou instance de
son type-entit.
Remarque: Par abus de langage, on utilise souvent le mot entit au
lieu du mot type-entit, il faut cependant prendre garde ne pas
confondre les deux concepts.


I.3.3. Attribut, valeur
Dfinition 3: Un attribut (proprit) est une caractristique associe
un type-entit ou un type-association.
Dans lexemple prcdent, Ali et Amar sont des prnoms des deux
entits quils dsignent et Bases de donnes est le titre du livre
achet par Ali. En fait Ali est une valeur pour la proprit prnom,
cest donc le prnom qui est un attribut et non pas Ali, idem pour le
titre du livre.
On peut dire finalement, quune entit est une ralisation ou
concrtisation des proprits dun type-entit ce qui signifie quon
donne une valeur chaque attribut du type-entit pour obtenir une
entit de ce type-entit.
Dfinition 4: Chaque attribut possde un domaine qui dfinit
lensemble des valeurs possibles qui peuvent tre choisies pour lui
(entier, chane de caractres, boolen, . . .).
Chaque attribut possde une valeur compatible avec son domaine.
Rgle 1 : Un attribut ne peut en aucun cas tre partag par plusieurs
type-entits ou type-associations.
Rgle 2 : Un attribut est une donne lmentaire, ce qui exclut des
donnes calcules ou drives.
Rgle 3: Un type-entit et ses attributs doivent tre cohrents entre
eux (i.e. ne traiter que dun seul sujet).
I.3.4. Identifiant ou cl
Dfinition 5: Lidentifiant lensemble minimum dattributs qui
dsignent de manire unique une entit.
Le numro de scurit sociale par exemple peut tre utilis comme
identifiant dune personne comme le numro de chssis pour une
voiture et le code ISBN pour un livre.
Rgle 4: Chaque type-entit possde au moins un identifiant,
ventuellement form de plusieurs attributs.
Ainsi, chaque type-entit possde au moins un attribut que, sil est
seul, est donc forcment lidentifiant.



Personne
Personne
- Nss
- Nom
- Prnom
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
7

I.3.5. Association ou relation
Dfinition 6: Une association (relation) est un lien smantique entre
plusieurs entits.
Dans lexemple prcdent on distingue un lien de lecture et dachat
entre Ali et le livre de bases de donnes et un lien de vente entre ce
dernier et Amar.
I.3.6. Type-Association
Dfinition 7: Un type-association (type-relation) dsigne un
ensemble de relations qui possdent les mmes caractristiques.
Le type-association dcrit un lien entre plusieurs type-entits. Les
associations de ce type-association lient des entits de ces type-
entits.
Rgle 5: Un attribut peut tre plac dans un type-association
uniquement lorsquil dpend de toutes les entits lies par le type-
association.
Un type-association peut ne pas possder dattributs
explicites et cela est relativement frquent, mais il possde au moins
des attributs implicites.
Une association est souvent nomme occurrence ou
instance de son type-association.
Remarque:
Par abus de langage, on utilise souvent le mot association en
lieu et place du mot type-association, il faut cependant prendre garde
ne pas confondre les deux concepts.
Dfinition 8: Les type-entits intervenant dans un type-association
sont appels les participants de ce type-association.
Dfinition 9: Lensemble des participants dun type-association est
appel la collection de ce type-association.
Cette collection comporte au moins un type-entit, mais elle peut en
contenir plus, on parle alors de type-association n-aire.
Dfinition 10: La dimension, ou larit dun type-association est le
nombre de type-entits contenu dans la collection.
Rgle 6: La concatnation des identifiants des type-entits lis un
type-association constitue un identifiant de ce type-association et cet
identifiant nest pas mentionn sur le modle (il est implicite).


Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
8

I.3.7. Reprsentation Graphique
Dans le modle entit association, le type-entit et le type-
association ont plusieurs reprsentations graphiques assez similaires
dans lensemble. Dans la suite de notre cours nous utiliserons la
convention suivante :
Un type-entit est reprsent avec un rectangle et le type-
association avec une ellipse. Les pattes du type-association
reprsentent le rle que joue lentit correspondante dans la relation.
I.4. Les Cardinalits
I.4.1. Concept de cardinalit
Dfinition 12: La cardinalit dune patte reliant un type-association
et un type-entit prcise le nombre de fois minimal et maximal
dinterventions dune entit du type-entit dans une association du
type-association.

Rgle 7: La cardinalit minimale doit tre infrieure ou gale la
cardinalit maximale.
Rgle 8: Lexpression de la cardinalit est obligatoire pour chaque
patte dun type-association.
Rgle 9: Une cardinalit minimal est toujours 0 ou 1 et une
cardinalit maximale est toujours 1 ou n.
Les seuls cardinalits admises sont donc : 0,1 - 0,n - 1,1 - 1,n
0,1 : Une occurrence du type-entit peut exister tout en ntant
implique dans aucune association et peut tre implique dans au
maximum une association.

0,n : cest la cardinalit la plus ouverte ; une occurrence du type-
entit peut exister tout en tant implique dans aucune association et
peut tre implique, sans limitation, dans plusieurs associations.
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
9


1,1 : Une occurrence du type-entit ne peut exister que si elle est
implique dans exactement (au moins et au plus) une association.

1,n : une occurrence du type-entit ne peut exister que si elle est
implique dans au moins une association.

I.4.2. Interprtation des relations
I.4.2.1. Interprtation dune association binaire

On interprte cette association comme suit :
Un employ exerce une fonction ou bien une fonction est exerce
par un employ. Les pattes de lassociation reprsentent le rle que
joue le type-entit correspondant lassociation.
Pour trouver les bonne cardinalit il faut rpondre aux questions
suivantes :
a : Un employ quelconque, peut-il ntre associ aucune fonction
par lassociation exerce ?
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
10

SI oui Alors a=0 SINON a=1
b : Un employ quelconque, peut-il tre associ plus dune
fonction, par lassociation exerce?
SI oui Alors b=1 SINON b=n
I.4.2.2. Interprtation dune association ternaire
On reprend le mme exemple que prcdemment mais cette fois-ci
en y ajoutant un historique qui est reprsent par le type-entit Date.
Je mintresse donc aux fonctions qua exerces un employ dans le
temps.

Linterprtation des associations ternaires nest plus la mme que
pour les binaires. A ce niveau on interprte le rle dune entit par
rapport au couple correspondant form des deux autres entits
participantes lassociation. On dit donc quun employ exerce des
fonctions des dates donnes. En quelque sorte on est en train de
dire quun employ est li un couple (date, fonction) avec la
relation exerce.
Pour trouver les diffrentes cardinalits, on rpond aux questions
suivantes :
a : Un employ quelconque, peut-il ntre associ aucun couple
(date, fonction) par lassociation exerce ?
SI oui Alors a=0 SINON a=1
b : Un employ quelconque, peut-il tre associ plus dun couple
(date, fonction) par lassociation exerce?
SI oui Alors b=1 SINON b=n
1.4.2.3. Remarques sur les cardinalits
Une cardinalit minimale de 1 doit se justifier par le fait que les
entits du type-entit en questions ont besoin de lassociation
pour exister. Dans tous les autres cas, la cardinalit minimale vaut
0.
Une cardinalit minimale de 0 signifie quune entit du type-entit
correspondant peut exister tout en tant implique dans aucune
association.
Si une entit e pour exister doit participer lassociation a on dit
que la participation du type-entit TE au type-association TA est
totale. Sinon, on parle de participation partielle.

Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
11

1.4.2.4. Problme de la cardinalit minimale 1

Le fait de mettre 1 comme cardinalit minimale impose la
participation de lentit concerne lassociation pour exister. Dans
lexemple ci-dessus, la date ne peut exister que si elle participe la
fois lassociation Proposer et Ranger .Or la date de
proposition dun produit par un fournisseur nexiste pas forcment
comme date de rangement et vis-versa. Ce qui fait que dans un cas
pareil, la cardinalit minimale doit imprativement tre 0 vu que les
deux associations Proposer et Ranger sont smantiquement
indpendantes.
Rgle 10: Pour trouver les cardinalits dune patte dune association
il faut :
1. Prendre en considration toutes les pattes,
2. Pour chaque participant, prendre en considration toutes ses
participations.
Cette rgle est surtout valable dans le cas de prsence de la
cardinalit minimale 1.
1.4.2.5. Problme de lassociation (1,1) - (1,n)

Dans lassociation Achate ci-dessus, la proprit Date Achat est
modlise son niveau, ce qui signifie quelle dpend la fois de
Voiture et de Personne. Or, le fait que la cardinalit du cot de
Voiture est 1,1 signifie quune voiture ne peut exister que si elle
participe Une et Une fois lassociation Achat, ce qui fait que
finalement, la date achat dpend uniquement de Voiture et non pas
des deux entits ensemble. Cest pourquoi elle est modlise au
niveau de Voiture plutt que dans lassociation.
Alors que dans le cas dune association avec une cardinalit 0,1, la
date achat dpend des deux entits. Car si on la met au niveau de
voiture et sachant quune voiture peut exister sans participer
lassociation, cette date pourrait ne pas avoir de valeur, ce qui ntait
pas le cas dans la cardinalit 1,1. Donc, dans le cas de la cardinalit
0,1, la date achat doit tre place au niveau de lassociation.
Rgle 11: lassociation 1,1 - 1,N ne doit pas possder de proprits.

Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
12

I.5. Concepts Supplmentaires
I.5.1. Entit faible
Jusqu prsent nous avons considr le cas dentits
indpendantes les unes des autres. Chaque entit, disposant de son
propre identifiant, pouvait tre considre isolment.
Il existe des cas o une entit ne peut exister quen troite
association avec une autre entit, et est identifie relativement
cette autre entit. On parle alors dentit faible.
Dfinition 13: Une entit faible est une entit possdant un
identifiant insuffisant de par lui-mme pour identifier de manire
unique chacune de ses occurrences. Sa caractristique didentifiant
nest valable qu lintrieur du contexte spcifique de loccurrence
dune entit principale.
Exemple : Un htel et ses chambres ou un cinma et ses salles.
Lidentifiant dune chambre est constitue de deux parties : N Htel
et N Chambre.

Remarque : Lintroduction dentits faibles nest pas une ncessit
absolue puisquon peut trs bien utiliser une association classique.
La principale diffrence est que, dans le cas dune entit faible, on
obtient une identification compose qui est souvent plus pratique
grer, et peut galement rendre plus faciles certaines requtes. Alors
que dans le second cas, on doit crer nous mme un identifiant fictif
quil faudra grer par la suite.
Remarque : La cardinalit du cot de lentit faible est toujours 1,1.
La cardinalit maximale 1 se justifie par le fait didentification
compose (Chaque entit du type-entit faible na quune seule
entit de lautre type-entit par rapport laquelle elle sidentifie) et la
cardinalit minimale ne peut pas tre 0 car cela signifierai quune
entit du type-entit faible pourrait exister sans participer
lassociation ce qui est contradictoire avec la dfinition de lentit
faible.
Remarque : Il est possible dvoir des entit faibles en cascade,
lidentifiant des entits est obtenu dans ce cas en effectuant la
migration des identifiants des pres vers les fils, en cascade
galement.
Exemple :
Dans ce cas, les entits du type-entit jours sont : Samedi,
Dimanche, lundi, etc. celles de mois sont : Janvier, Fvrier,Mars, etc.
et pour anne ce sont les annes.
Le jour nest identifi que dans le cadre dune semaine prcise, la
semaine dans le cadre du mois et le mois dans le cadre dune anne
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
13

donne. Un jour est donc identifi comme suit : Samedi de la
premire semaine du mois de janvier de lanne 2008.
I.5.2. Structures Hirarchiques
Dfinition 14: Une structure hirarchique reprsente une
dcomposition de concepts allant du gnral au particulier. Il sagit
dune structure o un parent peut avoir plusieurs enfants, mais o
chaque enfant ne peut avoir quun seul parent.

I.5.3. Associations plurielles
Les associations plurielles expriment le fait que deux objets puissent
avoir plusieurs liens smantiquement distincts.

I.5.4. Associations rflexives
Dfinition 15: Un type-association est qualifi de rflexif quand il
matrialise une relation entre un type-entit et lui-mme.

Note :Dans le cas dune association rflexive, les rles doivent tre
mentionns clairement sur le diagramme.
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
14

Remarque : Deux entits ne peuvent participer la mme
association avec le mme rle. Dans le cas dun type-association
reflexif, comme dans lexemple ci-dessus, deux personnes ne
peuvent participer une association marier avec le mme rle.
I.5.5. Les domaines de valeurs
Certaines informations ne peuvent accepter quun ensemble
dtermin et limit de valeurs. Elles sont donc restreintes un
domaine de valeurs (les valeurs permises pour le sexe).
Il y a deux faons de modliser ces domaines de valeurs :
par un attribut ou par une entit.
Par un attribut: Ajouter un attribut au sein de lentit concerne et
indiquer, dans la documentation du modle, les valeurs permises.
Cette mthode est bien adapte aux cas o lutilisateur na
aucun contrle sur le domaine de valeurs en question (on ne peut ni
ajouter ni retirer des valeurs permises).
Par une entit : Ajouter une entit au modle pour reprsenter le
domaine de valeurs.
Cette mthode doit tre utilise lorsque lutilisateur a plein
contrle sur le domaine de valeurs.
I.5.6. Conserver lHistorique
Pour garder lhistorique dune relation on fait sortir lattribut Date
comme entit et lajouter la collection de cette association.
Dans le premier cas la date nest quune proprit de lassociation
Occupe . Donc si je prends le cas dun employ E1 qui a occup
les deux postes P1 et P2 jaurai les occurrences suivantes de
lassociation Occupe : (E1,P1,20/02/2000) et (E1,P2,05/04/2002)
sachant que lidentifiant de lassociation occupe est celui de
employ concatn avec celui de poste. Mais imaginons maintenant
que lemploy E1 retourne son poste dorigine qui est P1 donc
jairai une autre occurrence de ce type (E1,P1,06/10/2003). Ici, il y a
problme car une occurrence avec cet identifiant existe dj ce qui
fait que lancienne occurrence est remplace avec la nouvelle. Donc
je perds linformation que cet employ a dj occup ce poste une
date ultrieure. Le seule moyen de garder les deux occurrences cest
de faire en sorte que la date fasse partie de lidentifiant de
lassociation occupe . Pour cela il faut que a soit une entit qui
participe cette association.

Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
15

I.5.7. Agrgation
Dfinition 16: Agrger cest runir de manire constituer un tout.
Lagrgation est un concept qui est rajout au modle entit
association pour permettre dexprimer certaines situations o nous
avons un lien entre un objet et un ensemble dobjets lis avec une
association.
Supposons quon veuille modliser le fait quun couple de personnes
possde un appartement. Ce ne sont pas les deux personnes
individuellement qui possdent lappartement mais les deux
ensemble. Un couple est reprsent par une association rflexive
Marier . Ce sont donc les deux personnes qui sont lies par cette
association qui peuvent possder un appartement.
Pour modliser cette situation il faudrait relier deux associations
entre elles, ce qui est interdit dans le modle entits associations
de base mais que le modle tendu permet. Il existe cependant deux
manires de reprsenter lagrgation : la premire consiste relier
deux associations entre elles,

Et la seconde, celle que nous utiliserons dans la suite de notre cours,
consiste dlimiter le bloc, le nommer ensuite le lier avec une autre
association comme si ctait une nouvelle entit.

Remarque : Une agrgation de plusieurs entits na de sens que si
ces entits sont lies entre elles avec une association et une seule.
Quand on veut faire plusieurs agrgations on utilise les
regroupements en cascade.
Remarque : Quand on a une relation avec une cardinalit 1,1 dun
ct, lagrgation de cette association peut tre facilement vite.
Car lexistence du type-entit fils (du cot 1,1) est conditionn par
lexistence du type-entit pre et de lassociation peut tre remplace
par ce type-entit dans lagrgation.
Exemple :
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | I. Concepts de
base
16

Dans cet exemple lagrgation ne peut tre utilise et ne signifie
absolument rien, vu quun employ nest recrut que par une seule
entreprise et ne peut exister que sil est recrut. Ce qui fait que
lexistence dun employ implique lexistence de lassociation
Recrute et par consquent de lassociation correspondante.
Lassociation occupe est, en ralit, lie lemploy et non pas
lassociation Recrute .
Rgle : Quand lune des pattes de lassociation quon veut agrger a
la cardinalit 1.1, on enlve lagrgation et toutes les associations
auxquelles elle participe seront lies lentit se trouvant du ct de
la cardinalit 1.1 (le fils).
Remarque : Quand la cardinalit minimale du ct de lagrgation
est un 1 signifiant que lassociation agrge ne peut exister que si
lassociation laquelle participe lagrgation existe. Lagrgation na
pas lieu dtre car ceci signifie que lentit lie lagrgation nest en
ralit quun participant de lassociation agrge et que les deux
associations (agrge et lexterne) ne forment quune seule
association.
Exemple :
Dans lexemple ci-dessus, le mariage ne peut exister que si le couple
possde un appartement ce qui revient dire que les deux
associations possde et marier ne forment quune seule
association. On obtient donc le modle suivant :
Comme un appartement nest possd que par un seul couple, ceci
revient dire que lappartement est possd par deux personnes qui
sont via cette possession maries ensemble. Lassociation marier
disparait donc au profit de lassociation possde puisquelle y est
incluse. La solution devient donc :
Rgle : Une agrgation nest justifie que si sa cardinalit minimale
dans lassociation laquelle elle participe est un 0.
Rgle gnrale : Une agrgation nest justifie que si aucune des
pattes de lassociation agrge na une cardinalit 1.1 et la
cardinalit minimale de lassociation laquelle elle participe est un 0.
I.5.8. Gnralisation / spcialisation
Exemple: dans un hypermarch, certains traitements sappliquent
tous les articles: inventaire, recherche des caractristiques, ...
Pour d'autres usages (ventes promotionnelles), on peut vouloir
sparer les articles en plusieurs classes (alimentation, habillement,
...). Chaque classe peut avoir des caractristiques qui lui sont
propres, par exemple: date limite de vente (alimentation), taille et
couleur (habillement), ....
Dans le modle E-A correspondant, on sera donc amen dcrire,
en plus du TE gnrique Article, des TE plus spcialiss,
reprsentant les sous-classes "intressantes".
1. Article alimentaire,
2. Article d'habillement
3. Article Hi-Fi.
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | II. Les
Contraintes dIntgrit
17


Dfinition 16 : Gnralisation : regrouper les diffrents types
d'entit en faisant abstraction de leurs diffrences. Ce qui nous
donne un type gnrique (mise en facteur des attributs communs).
Dfinition 17 : Spcialisation : pour un type donn, on dfinit des
sous-types en mettant en vidence leurs particularits.
Dfinition 18 : Processus de Gnralisation : Processus
dabstraction consistant gnraliser les entits, et les ensembles
dentits, en un seul ensemble ascendant.
Dfinition 19 : Processus de Spcialisation : Les sous-ensembles
dentits dans une hirarchie de gnralisation rsultent du
processus de spcialisation.
Note : La gnralisation/Spcialisation est utilise dans deux cas
uniquement : quand un sous ensemble dentits dun type entit ont
des caractristiques en plus o participent des traitements (donc
des relations) diffrentes.
II. Les Contraintes dIntgrit
II.1. Objectif
Spcifier des proprits smantiques du rel peru qui ne sont pas
exprimables avec le modle E.A.
II.2. Dfinition :
Une contrainte dintgrit (C.I.) est une proprit non reprsente
par les concepts de base du modle E.A. que doivent satisfaire les
donnes appartenant la base de donnes.
Une BD est cohrente si toutes les CI dfinies sont respectes par
les valeurs de la BD.
II.3. Effet
Limiter les occurrences possibles des structures dinformation.

Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | II. Les
Contraintes dIntgrit
18

II.4. Formulation des contraintes
Les contraintes dintgrit doivent tre dcrites explicitement (avec
un langage appropri tel que la logique du premier ordre) si elles ne
peuvent pas tre dcrites avec les concepts du modle de donnes.
II.4.1. Un formalisme inspir de la logique du premier ordre
x,y Personne, <x,y> Mariage xtat-civil = "mari" ytat-
civil = "mari"
x,y Personne, <poux:x,pouse :y> Mariage xsexe ="M" et
y.sexe="F"
x Personne, t1,t2Temps, t2>t1 x(t1)tat-civil="mari"
x(t2)tat-civil "clibataire"
II.4.2. Reprsentation graphique
II.5. Types de Contraintes dintgrit
On distingue deux types de contraintes su point de vue de temps,
cest--dire du moment o elles doivent tre vrifies : Des
contraintes statiques ou dynamiques.

Une contrainte statique est une proprit qui doit tre vrifie tout
moment alors quune contrainte dynamique est une proprit que
doit respecter tout changement dtat de la BDD.
Du point de vue des parties du modle sur lesquelles les contraintes
peuvent tre dfinies, on distingue :
II.5.1. Contraintes d'intgrit sur les attributs
La premire contrainte qui peut tre dfinie sur les attributs est le
domaine de dfinition de chaque attribut. Ensuite, si lattribut est
obligatoire ou facultatif en fin on peut faire des restrictions sur les
valeurs que peut prendre un attribut grce une formule respecter.
La comparaison peut tre dfinie par rapport une constante ou bien
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | II. Les
Contraintes dIntgrit
19

par rapport la valeur dun autre attribut dans la mme entit ou
dune autre entit diffrente. Exemple : ge entre 1 et 100 ou date de
naissance < date de mariage
II.5.2. Contraintes d'intgrit sur les cardinalits
Les cardinalits elles-mmes sont considres comme des
contraintes trs importantes dans le schma conceptuel. Mais il peut
galement exister des contraintes entre les cardinalits dfinies pour
les diffrents rles que joue une entit dans une ou plusieurs
associations distinctes, par exemple : Nombre denfants dun parent
= nombre d'occurrences de est parent de qui lient ce Parent.
II.5.3. Contraintes sur les entits / association
Des contraintes qui peuvent tre dfinies pour les entits comme
pour les associations. Car les deux concepts peuvent tre dfinis
comme tant des ensembles dlments de mme nature. On en
distingue quatre contraintes.
II.5.3.1. Notions de base
II.5.3.1.1. Couverture
Dfinition 20 : Ensemble recouvrant tous les lments.
II.5.3.1.2. Disjonction
Dfinition 21 : Pas d'lments communs deux sous-ensembles.
II.5.3.2. Partition
Dfinition 22 : disjonction + couverture (lun ou l'autre mais pas les
deux et pas autres choses)

II.5.3.3. Totalit
Dfinition 23 : disjonction + couverture (lun ou l'autre ou les deux
et pas autres choses)


Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | II. Les
Contraintes dIntgrit
20

II.5.3.4. Exclusion
Dfinition 24 : disjonction + couverture (lun ou l'autre mais pas les
deux et autres choses)

II.5.3.5. Inclusion
Dfinition 25 : Tous les lments du premier ensemble sont inclus
dans le second ensemble.

II.5.3.6. Unicit
Dfinition 26 : cest ce quon appelle la dpendance fonctionnelle.
Elle exprime le fait quon connaissant la valeur dun objet je suis en
mesure de dduire une et une seule valeur de lobjet dpendant du
premier.
Dans lexemple ci-aprs : Une personne une date donne ne peut
occuper quune seule fonction donc si je connais la personne et la
date je serai en mesure de dterminer avec exactitude une et une
seule fonction. Ce qui signifie quil y a dpendance entre personne et
date vers fonction.

II.5.3.7. Participants une contrainte
Les contraintes entre entits ou entre associations ne sont possibles
que si les deux entits ou les deux associations sons de mme
nature. Ce qui signifie que pour les entits, le seul cas o les
contraintes sont possibles cest dans le cas de la
gnralisation/spcialisation. Dans le cas des associations, il faut
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | II. Les
Contraintes dIntgrit
21

vrifier que les deux associations ont le mme type doccurrences.
Ceci est possible dans le cas des associations plurielles. Mais quand
on veut mettre une contrainte entre deux associations qui nont pas
les mmes types doccurrences mais juste quelques lments en
commun, ces derniers doivent tre mentionns avec des pointills.
Lexemple suivant montre clairement limportance et linfluence de
lutilisation des pointills sur le sens de la contrainte :
Contrainte : On ne sassoie pas sur une branche quon est en train
de scier.
Cette contrainte exprime une situation o des personnes scient des
branches avec une restriction qui dit quon ne scie par une branche
sur laquelle on est assis. Il est clair quil existe deux associations
entre personne et branche qui sont scier et sassoir. Et pour exprimer
la contrainte mentionne ci-dessus on doit utiliser une exclusion
entre les lments de lassociation sassoir et ceux de lassociation
scier. Comme ce sont des associations plurielles, elles ont le mme
type doccurrences. Cest--dire que chaque occurrence se compose
du couple (personne, branche). La question quon se pose ici :
Veut-on faire une exclusion sur personne, branche les deux en
mme temps o les deux sparment ?
Signification 1 : On ne scie pas assis

Signification 2 : On ne scie pas une branche sur laquelle on est
assis

Signification 3 : On ne scie pas une branche sur laquelle on est soi-
mme assis
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | III. Le Schma
Conceptuel
22


Signification 4 : On ne scie pas assis et on ne scie pas une branche
sur laquelle on est assis

Exemple :
III. Le Schma Conceptuel
Dfinition 26 : Un schma conceptuel entit association est un
ensemble de descriptions de types d'entit et de types d'association
(avec leurs attributs et les liens de gnralisation entre types
d'entit), et des contraintes d'intgrit (CI) associes: SEA = ( {TE},
{TA}, {CI} )
III.2. Rgles de conception
III.2.1. Rgle de reprsentation par un type d'entit
Est reprsent par un TE tout ensemble d'objets similaires qui a un
intrt en soi pour au moins un traitement de l'application.
III.2.2. Rgle de reprsentation par un type association
Est reprsent par un TA tout ensemble de liens similaires et de
mme smantique, d'intrt pour l'application, entre deux ou
plusieurs objets reprsents par des entits.
III.2.3. Rgle de reprsentation par un attribut
Est reprsent par un attribut toute information intressante qui
participe la description d'un objet ou d'un lien et qui ne fait l'objet de
traitement qu'en tant que partie de cet objet ou lien.
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | III. Le Schma
Conceptuel
23

III.3. Rgles doptimisation
III.3.1. Rgles portant sur les noms
Rgle : Dans un modle entits-associations, le nom dun type-
entit, dun type-association ou dun attribut doit tre unique.
Rgle : Il faut remplacer un attribut multiple en un type-association et
un type-entit supplmentaires.
III.3.2. Rgles de normalisation des attributs
Rgle : Il ne faut jamais ajouter un attribut driv dautres attributs,
que ces autres attributs se trouvent dans le mme type-entit ou pas.
Rgle : Un attribut correspondant un type numr est
gnralement avantageusement remplac par un type-entit.
III.3.3. Rgles de fusion/suppression dentits/associations
Rgle : Il faut factoriser les TE quand cest possible.
Rgle : Il faut factoriser les TA quand cest possible.
Rgle : Un TE remplaable par un TA doit tre remplac.
Rgle : Lorsque les cardinalits dun TA sont toutes 1, 1 cest que le
TA na pas lieu dtre.
Rgle : Il faut viter les TA redondants. Sil existe deux chemins pour
se rendre dun TE un autre, il faut supprimer le chemin le plus court
puisquil est dductible des autres chemins.
Rgle : Lorsque lune des cardinalits dune ternaire est (1,1) ou
(0,1), celle-ci est clate en deux autres associations partir de
cette patte.
Rgle : toute TA n-aire peut tre remplac par un TE en lui attribuant
un identifiant et en crant des TA binaires entre le nouveau TE et
tous les TE de la collection de lancien TA n-aire. La cardinalit de
chacun des TA binaires crs est 1, 1 du ct du TE cr et 0, n ou
1, n du ct des TE de la collection de lancien TA n-aire.
III.4. Vrification du schma EA
III.4.1. Vrification "syntaxique"
Il s'agit de vrifier que les rgles du modle entit association sont
respectes
III.4.2. Par jeu d'essai
Le concepteur vrifie grce une mini base de donnes que le
diagramme permet effectivement de stocker les informations
ncessaires l'entreprise.
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | III. Le Schma
Conceptuel
24

III.4.3. Compltude par rapport aux traitements
Le concepteur vrifie que le diagramme contient tous les types
d'information ncessaires l'excution des traitements prvus.
III.4.4. Par les utilisateurs
Le concepteur prsente le diagramme accompagn des dfinitions
aux personnes qui utiliseront la base de donnes et vrifie que les
informations contenues correspondent bien aux besoins.
III.5. Description dun schma EA
III.5.1. Entte
Titre :
Description :
Date de cration :
Date de mise jour :
Version :
Concepteur(s) :
Propritaire :
Corps /
III.5.2. Description d'un TE
Nom :
Nom du (ou des) TE sur-type de ce TE, s'il en existe :
Dfinition libre (commentaire) prcisant la smantique du
TE :
Description des attributs du TE :
Composition des identifiants du TE :
Contraintes d'intgrit propres au TE :
III.5.3. Description d'un TA
Nom du type d'association
Dfinition libre (commentaire) prcisant la smantique du TA
Noms des TE participant au TA, avec le nom du rle les
associant au TA et pour chaque rle sa cardinalit.
Description des attributs du TA, s'il en existe
Composition des identifiants du TA
Contraintes d'intgrit propres au TA
III.5.4. Description dun Attribut
Nom de l'attribut
Chapitre 2 : Le modle relationnel

Ecole Nationale Suprieure d'Informatique | IV. Conclusion 25

Dfinition libre de sa smantique
Domaine de valeurs
Contrainte sur les valeurs de lattribut
IV. Conclusion
IV.1. Limites du modle E/A
Le modle E/A est un modle de donnes et non de traitement, qui
ne permet pas de prendre en compte laspect dynamique des
donnes, les modalits de dclenchement d'une opration ainsi que
la faon dont la modification est ralise.
IV.2. Inconvnients du modle E/A
Le concepteur prouve des difficults faire des choix parce qu'il ne
discerne pas toujours les consquences des dcisions prises. Il y a
souvent des ambiguts entre entit et attribut, ce qui pousse parfois
devoir crer des types-entits artificiels. Enfin il manque dun
support formel pour contrler la qualit du schma.
IV.3. Avantages du modle E/A
Lapproche parat plus naturelle : obtention directe de rsultats de
synthse, simplicit du support graphique, outil de communication
efficace, la reprsentation graphique est accessible tous les
intresss, quil sagisse des utilisateurs finaux, des partenaires du
processus de conception ou des informaticiens responsables de la
mise en uvre technique.