Vous êtes sur la page 1sur 14

Chapitre 3 Le modle Entits/Associations

Les aspects importants de la ralit reprsenter, ou domaines dapplication, doivent tre dcrits dune manire abstraite, indpendante de toute technologie. Le modle Entitassociation permet de dcrire un domaine dapplication sous la forme densembles dentits, dotes de proprits et en association les unes avec les autres, et ce, sans rfrence aux notions techniques de tables, colonnes ou index. 3.1. Concepts de base 3.1.1. Entit Une entit est un objet pourvu dune existence propre et conforme aux choix de gestion de lentreprise. Le domaine dapplication est peru comme tant constitu dentits concrtes ou abstraites. Ainsi, dans le contexte du commerce, on peut cerner un domaine dapplication dans lequel on repre des clients, des commandes et des produits. On considre que chacun deux est une entit du domaine et que chaque entit appartient une classe ou type dentits. On dfinit naturellement quatre types dentits quon nommera CLIENT, COMMANDE et PRODUIT. On reprsentera ces entits dune manire graphique, comme indiqu sur la figure 1.
CLIENT NumClt NomClt AdrClt COMMANDE NumC DateC PRODUIT Ref Dsignation PU

Figure 1 : Formalisme des entits Ces quelques exemples montrent quune entit peut correspondre des objets concrets inanims (produits), des objets concrets anims (clients) ou des vnements (commandes). Une occurrence dune entit est un lment individualis appartenant cette entit. 3.1.2. Association Une association entre entits est une association perue dans le rel entre deux ou plusieurs entits. Une association est dpourvue dexistence propre. Une commande est lie au client qui la passe ; il existe donc une association entre cette commande et ce client. On dira que toutes les associations de cette nature appartiennent au type dassociation Passer entre les deux entits CLIENT et COMMANDE. Lorsquune entit intervient dans un type dassociation, on dit quelle joue un rle. On utilisera dailleurs ce terme pour dsigner une des extrmits dune association. Une mme entit peut jouer deux rles dans une mme association. On reprsentera une association dune manire graphique, comme indiqu sur la figure 2.

CLIENT NumClt NomClt AdrClt

1, N Passer

1, 1

COMMANDE NumC DateC

Figure 2 : Formalisme dune association Proprits dune association a) Classe fonctionnelle dune association Soient deux entits E et F et une association A entre E et F. Cette proprit dcrit le nombre maximum doccurrences de lentit F pour chaque occurrence de lentit E et inversement. On est ainsi amen dfinir trois classes fonctionnelles dassociations : un plusieurs, un un et plusieurs plusieurs. association de type 1:1 (ou un--un) si une occurrence de lentit E peut correspondre par l'association A au plus une occurrence de lentit F et que, rciproquement une occurrence de lentit F ne peut correspondre au plus qu'une occurrence de lentit E. association de type 1:n (ou un--plusieurs) : si une occurrence de lentit E peut correspondre par l'association A plusieurs occurrences de lentit F mais une occurrence de lentit au plus une occurrence de lentit E. association de type n:n (ou plusieurs--plusieurs) : si une occurrence de lentit E peuvent correspondre plusieurs occurrences de lentit F et rciproquement.

b) Type dassociations obligatoire ou facultatif On peut imposer quune association soit obligatoire pour une entit qui y participe. c) Cardinalits dune association Chaque entit participant une association y est caractrise par un couple de valeurs minmax appel cardinalits. d) Dimension dune association Cest le nombre dentits participant lassociation. Une association entre deux entits est appele association binaire. Une association entre trois entits est appele association ternaire. Une association entre n entits est appele association n-aire. Exemple 1 : entre les entits ETUDIANT et ENSEIGNEMENT on peut considrer lassociation binaire INSCRIT pour traduire le fait quun tudiant est inscrit un enseignement. INSCRIT ETUDIANT ______________________ENSEIGNEMENT

Exemple 2:

Lassociation ternaire Reprsente ne peut tre dcompose en deux associations binaires que si lon sait que tout reprsentant travaillant pour un fournisseur reprsente tous les produits de ce fournisseur. La dcomposition sera la suivante :

e) Association rflexive Cest une association dune entit sur elle-mme. En effet, il est parfaitement possible dtablir une association entre une entit et elle-mme, dfinissant par l une association cyclique. Exemple: pour traduire le fait que Irne Curie est la fille de Marie Curie on pourra utiliser une association A-POUR-MERE entre les deux entits reprsentant ces personnes. A-POUR-MERE PERSONNE________________________ PERSONNE

3.1.3 Attributs Un attribut ou une proprit est une donne lmentaire que lon peroit sur une entit ou sur une association entre objets. Chaque client est caractris par un numro, un nom et une adresse. On modlisera ces faits en dotant lentit CLIENT des attributs NumClient, Nom et Adresse. On spcifiera le type de chaque attribut : numrique, caractre, date, etc. ainsi que sa longueur. Un attribut dune association est une proprit qui dpend de toutes les entits intervenant dans lassociation. Exemple: Lassociation INSCRIT dfinie entre les entits ETUDIANT et MODULE a pour attribut lanne de premire inscription de ltudiant lenseignement. Cette anne dinscription est attribut de lassociation et non de lune des entits, car il faut connatre ltudiant et le module pour pouvoir la dterminer. 3.1.4. Les identifiants En gnral, une entit est dote dun attribut qui identifie les entits de ce type. Lentit CLIENT, par exemple, possde un attribut NumClient tel qu tout instant les occurrences de lentit CLIENT ont des valeurs de NumClient distinctes. En dautres termes, tant donn une valeur quelconque de NumClient, on a la garantie quil ny aura, aucun moment, pas plus dune occurrence de lentit CLIENT possdant cette valeur. On dira que NumClient est un identifiant de CLIENT. En outre, il peut arriver quune entit possde plus dun identifiant. Dans ce cas, lun deux peut tre dclar primaire tandis que tous les autres sont secondaires. Il se peut que la valeur dun attribut ne soit pas connue au moment o les informations sur lentit sont enregistres. Si on admet que cet attribut puisse ne pas avoir de valeur pour certaines occurrences de lentit, on le dclarera facultatif. Sinon cet attribut est obligatoire. Lidentifiant dune entit est un attribut particulier de lentit tel qu chaque valeur de la proprit corresponde une et une seule occurrence de lentit. Lidentifiant dune association est lidentifiant obtenu par concatnation des identifiants des entits participant la relation. Dans le diagramme E/A, les cls sont soulignes. 3.1.5. Les Cardinalits La cardinalit dune entit par rapport une association sexprime par deux nombres appels cardinalit minimale et cardinalit maximale. La cardinalit minimale (gale 0 ou 1) est le nombre de fois minimum quune occurrence dune entit participe aux occurrences de lassociation. Si la cardinalit minimale est gale 0, cest quil existe parmi toutes les occurrences de lentit au moins une occurrence ne participant pas aux occurrences de lassociation. Si la cardinalit minimale est gale 1, ceci correspond au fait que chaque occurrence de lentit participe toujours une occurrence de lassociation. La cardinalit maximale indique le nombre de fois maximum quune occurrence de lentit participe aux occurrences de la relation.

Remarques: Le minimum m peut valoir 0, 1 ou un entier strictement plus grand que 1. Le maximum M peut valoir 1 ou une valeur n>1, n ntant souvent pas prcis de manire numrique, faute de connaissance suffisante. Exemple: Lassociation Appartient entre PROPRIETAIRE et VEHICULE a pour cardinalits (0,n) du ct de lentit VEHICULE et (1,n) du ct de lentit PROPRIETAIRE car certains vhicules sont abandonns (0,n) mais il faut possder au moins un vhicule pour tre propritaire (1,n).
0,n VEHICULE Appartient 1,n PROPRIETAIRE

Figure 3 : Exemple dassociation de type n : n Contrainte didentit fonctionnelle (CIF): Quand on dtermine, entre une association et une entit, une cardinalit prsentant les valeurs 0,1 ou 1,1, lassociation est particulire. On l'appellera alors Contrainte didentit fonctionnelle (CIF) : Cette association particulire nest en gnral pas nomme. Elle indique que lune des entits est totalement dtermine par la connaissance de lautre ; par exemple si on connat une commande bien prcise, on connat un client bien prcis...
COMMANDE Ncommande Montant_cde

CLIENT Nclient Nom_client

1,n

CIF

1,1

Figure 4 : Exemple de relation de type CIF 3.2. Diagramme Entit-Association Un diagramme Entit-Association (E/A) dcrit la structure d'ensemble d'une base de donnes en combinant les objets graphiques suivants : des rectangles qui reprsentent des ensembles d'objets, c'est--dire des entits concrtes ou abstraites (par exemple : lecteur, ouvrage, compte bancaire, client...) des attributs relatifs aux entits (le nom, l'adresse, le titre, la cote, numro,...) des ellipses, qui reprsentent des associations ("a emprunt", "possde le compte", "suit le cours de",...) des rles qui relient les entits aux associations annots par les cardinalits. Dans ce diagramme les identifiants sont souligns.

Exemple 1 : Base de donnes commerciale

COMMANDE 1, 1 NumC DateC 1, N

Dtail Faire 0, N

1, N CLIENT NumClt NomClt AdrClt PRODUIT

Ref Dsignation PU

Figure 5 : Modle E/A dune base de donnes commerciale Exemple 2 : Base de donnes matrimoniale

CITOYEN NSS Nom Prnom Grade militaire

0,1

Mari_A

0,1

CITOYENNE NSS_f Nom_f Prnom_f Nb_enfants

Figure 6 : Modle E/A dune base de donnes matrimoniale Exemple 3 : Base de donnes denseignement
ETUDIANT Numro Nom_tu 0,n
Inscrit Anne_1_inscr

0,n MODULE Code

1,1 ENSEIGNANT Nom_ens fonction 0,n Responsable

Figure 7 : Le modle E/A dune base de donnes denseignement

Le diagramme ENTITE-ASSOCIATION ci-dessus modlise entre deux entits ETUDIANT et MODULE, une association INSCRIT qui traduit qu'un tudiant est inscrit un module. Pour une entit ENSEIGNANT, il exprime qu'un enseignant est RESPONSABLE d'un module. 3.3. Dictionnaire des donnes Le dictionnaire des donnes liste les entits et leurs attributs, en spcifiant le domaine de chacun ainsi que leur catgorie : - donnes lmentaires (information stocke) - donnes dinformation dduite ou calcule dutilisation frquente (ce qui vite de refaire le calcul plusieurs fois) ainsi que les rgles de calcul - donnes calcules de type situation ou historique (total HT des commandes par mois...) - paramtres utiliss dans des cas particuliers (TVA) ... Il se prsente sous forme dune grille danalyse :
Nom de donne Nom client Code postal Ville client Total HT Taux TVA Type Format Elmentaire Alpha Num Alpha Num Num X X X X X Calcule Paramtre Signaltique X X X X Somme 18,60% Situation Rgle de Contrainte calcul d'intgrit Document Facture Facture Facture Facture Facture

3.4. Rgles de validation Ces rgles doivent tre respectes pour la cohrence du modle Entit-Association. Il sagit de rgles de vrification et de normalisation dun modle E/A Rgle 1 : Existence dun identifiant pour chaque entit. Rgle 2 : Toutes les proprits dune entit, autres que lidentifiant, doivent tre en dpendance fonctionnelle complte et directe de lidentifiant. Rgle 3 : Toutes les proprits dune association doivent dpendre compltement de lidentifiant de lassociation ; chaque attribut doit dpendre de tout lidentifiant et non dune partie de cet identifiant. Rgle 4 : Un attribut ne peut apparatre quune seule fois dans un mme modle E/A, cest ainsi quil ne peut qualifier quune seule entit ou une association. Rgle 5 : Les attributs qui sont le rsultat dun calcul ne doivent pas, en principe, figurer dans un modle E/A sauf sils sont indispensables la comprhension de celui-ci. 3.5. Gnralisation et hirarchie Un ensemble dentits E1 est un sous-ensemble de E2 si toute occurrence de E1 est aussi une occurrence de E2. Lensemble dentits E1 hrite des attributs de E2.

Un ensemble dentits E est une gnralisation de E1, E2, En si chaque occurrence de E est aussi une occurrence dune et une seule entit E1, E2, ..., En. Les ensembles E1, E2, ..., En sont des spcialisations de lensemble dentits E. Les ensembles dentit E1, E2, En hritent des attributs de E et possdent en outre des attributs spcifiques qui expriment leur spcialisation. Notation "EST-UN" (IS A) : B "EST-UN" A si lensemble A est une extension de B ou B un cas particulier de A.
ENTITE A AttrA1 AttrA2

EST-UN

ENTITE B AttrB1 AttrB2

Figure 8 : La relation EST-UN Exemple 1 : Lensemble des VEHICULES est une gnralisation de lensemble des AUTOMOBILES et des CYCLES.
VEHICULE Marque Modle EST-UN EST-UN

AUTOMOBILE Immatriculation Puissance

CYCLE Type

Figure 9

Exemple 2 : Lensemble des PILOTES est un sous-ensemble de lensemble des EMPLOYES dune compagnie arienne.

EMPLOYE EST-UN INGENIEUR PILOTE EST-UN EST-UN TECHNICIEN

Figure 10

Exercices Partie 1 : Questions choix multiples Q1 : Entit Une entit est : a) Un objet concret pourvu dune existence propre et conforme aux choix de gestion de lentreprise. b) Un objet abstrait pourvu dune existence propre et conforme aux choix de gestion de lentreprise. c) Un objet concret ou abstrait pourvu dune existence propre et conforme aux choix de gestion de lentreprise. Q2 : Association Une association entre entits est : a) Une relation perue dans le monde rel entre deux ou plusieurs entits. b) Un objet concret pourvu dune existence propre. Q3 : Cardinalits La cardinalit dune entit par rapport une association sexprime par : a) La cardinalit moyenne indiquant le nombre moyen doccurrences quune occurrence de lentit participe aux occurrences de lassociation. b) La cardinalit minimale et la cardinalit maximale qui sont respectivement le nombre de fois minimum et le nombre de fois maximum quune occurrence dune entit participe aux occurrences de lassociation. Q4 : Identifiants Lidentifiant dune entit est : a) Un attribut particulier de lentit tel qu chaque occurrence de lentit corresponde une et une seule valeur de lattribut. b) Un attribut particulier de lentit tel qu chaque valeur de lentit corresponde une et une seule valeur des attributs. c) Un attribut particulier de lentit tel qu chaque valeur de lattribut corresponde une et une seule occurrence de lentit. Q5 : Schma E/A Parmi les objets graphiques dcrivant la structure d'ensemble d'une base de donnes dans un diagramme Entit-Association (E/A) : a) des rectangles qui reprsentent des ensembles d'objets, c'est--dire des entits concrtes ou abstraites (par exemple : lecteur, ouvrage, compte bancaire, client...) b) des tables qui reprsentent ces objets selon le modle relationnel c) des ellipses, qui reprsentent des associations ("a emprunt", "possde le compte", "suit le cours de",...) d) des rles qui relient les entits aux associations annots par les cardinalits.

10

Partie 2 : Exercice 2.1 (Centre mdical) On vous donne un schma E/A reprsentant des visites dans un centre mdical. Rpondez aux questions suivantes en fonction des caractristiques de ce schma (i.e.: indiquez si la situation dcrite est conforme avec ce schma, indpendamment de sa vraisemblance).

Figure 1.1 : Centre mdical

A) Un patient peut-il effectuer plusieurs visites ? B) Un mdecin peut-il recevoir plusieurs patients dans la mme consultation ? C) Peut-on prescrire plusieurs mdicaments dans une mme consultation ? D) Deux mdecins diffrents peuvent-ils prescrire le mme mdicament ?

11

Exercice 2.2 (Tournoi de tennis) Le second schma reprsente des rencontres dans un tournoi de tennis.

Figure 1.2 : Tournoi de tennis

A) Peut-on jouer des matchs de double ? B) Un joueur peut-il gagner un match sans y avoir particip ? C) Peut-il y avoir deux matchs sur le mme terrain la mme heure ?

12

Exercice 2.3 (Un journal) Voici le schma E/A du systme d'information (trs simplifi) d'un quotidien.

Figure 1.3 : Journal

A) Un article peut-il tre rdig par plusieurs journalistes ? B) Un article peut-il tre publi plusieurs fois dans le mme numro ? C) Peut-il y avoir plusieurs articles sur le mme sujet dans le mme numro ?

13

Partie 3 : Construire le modle E/A relatif aux bases de donnes suivantes en donnant les diffrentes entits, associations et attributs.

Exercice 3.1 Le propritaire dun garage de voitures souhaite utiliser une base de donnes pour traiter les informations concernant les clients, leurs voitures et les rparations effectues sur ces voitures. On connat : - des voitures : le n d'immatriculation, la marque, le type, l'anne. - des clients : le nom, le prnom, le n de tlphone. - des rparations : le n de rparation, la date, le montant total. Exercice 3.2 Une base de donnes doit tre conue pour tudier l'utilisation des ressources informatiques d'une entreprise. L'entreprise est prsente sur plusieurs sites gographiques. A partir de certains sites, les utilisateurs (dcrits par un numro, un profil, un nom et un prnom) accdent des applications informatiques (dcrites par un numro, un nom et un domaine). Il est possible qu'un mme utilisateur accde une application partir de sites diffrents. Chaque site a ses propres applications et il est dcrit par son numro et son nom. Chaque application demande un ensemble de logiciels (dcrits par le nom et le producteur) mis la disposition de tous les sites et matriels (dcrits par un numro, un type, une dsignation et un constructeur) propres chaque site. Exercice 3.3 Une fdration sportive dsire informatiser l'organisation de ses tournois. Les clubs de la fdration sont dots d'un numro et d'un nom. Chaque club attribue ses quipes un numro unique au sein du club. Chaque joueur d'un club appartient une seule quipe. Un joueur est dcrit par un numro matricule attribu par la fdration, son nom, son prnom, son adresse, son "numro de maillot" et sa "place" sur le terrain. Un tournoi est dcrit par un numro et sa date. Chaque tournoi est organis par un club de la fdration. Au cours d'un tournoi, les diffrentes quipes qui y participent s'affrontent dans des matchs. Un match est dcrit par un numro au sein du tournoi et son rsultat.

14