Site A.T.L.A.N.T.I.C-83
COURS = Initiation aux bases de donnes (Chapitre_3) - VERSION: 1.0 (M.A.J: 26/11/2017)
- AUTEUR(s): Bernard GIACOMONI
Ecran large mobile
Retour
sommaire cours

III.LE MODLE CONCEPTUEL ENTITS-ASSOCIATIONS:

AVANT PROPOS:
Nous avons vu au chapitre prcdent que le MODLE CONCEPTUEL DES DONNES (MCD) a pour but d'laborer une reprsentation du SYSTEME D'INFORMATION comprhensible au niveau de l'UTILISATEUR, l'aide de concepts appels ENTITS et ASSOCIATIONS. De ce fait, pour faciliter la comprhension, le MCD est reprsent sous la forme d'un GRAPHIQUE. Nous allons tudier dans ce chapitre les diffrents lments de base composant un graphique MCD et la manire de reprsenter les relations qui existent entre ces lments.

III.1.LA NOTION D'ENTIT:


III.1.1.DFINITION:

Une ENTIT dfinit un ensemble d'individus ou d'objets ayant des CARACTRISTIQUES communes.
PAR EXEMPLE, dans la base de donnes d'une entreprise, on peut dfinir les entits clients, fournisseurs, commandes, etc:
  • L'entit CLIENTS regroupera les donnes relatives tous les clients de l'entreprise;
  • L'entit FOURNISSEURS regroupera les donnes relatives tous les fournisseurs travaillant avec l'entreprise.
Les individus ou objets appartenant une mme entit sont appels REPRESENTANTS de cette entit (Ainsi un reprsentant de l'entit fournisseurs est l'un quelconque de ces fournisseurs). De ce fait, une ENTIT doit tre nomme par un NOM COMMUN AU PLURIEL.

III.1.2.ATTRIBUTS D'UNE ENTIT:

Les ATTRIBUTS sont des proprits lies chaque ENTIT. La valeur de ces attributs permet d'individualiser chacun des REPRESENTANTS d'une mme ENTIT.
PAR EXEMPLE, l'entit ELVES peut avoir pour ATTRIBUTS le nom, les prnoms et la classe d'appartenance de chaque lve. Les REPRSENTANTS de cette entit sont des lves qui se distingueront les uns des autres par les valeurs donnes ces attributs:


Le schma ci-contre reprsente une entit "ELVES" caractrise par 3 attributs: Nom, Prnoms et Classe. Nous avons fait figurer dans le schma trois des reprsentants de cette entit qui se diffrencient les uns des autres par les VALEURS des attributs:
  • Le rprsentant dont les valeurs d'attributs sont DUPOND, Thomas et CM2 (lve Thomas DUPOND, de la classe de CM2);
  • Le rprsentant dont les valeurs d'attributs sont DURAND, Agns et CE2 (lve Agns, de la classe de CE2);
  • Le rprsentant dont les valeurs d'attributs sont DUVAL, Annie et CM1 (lve Annie DUVAL, de la classe de CM1).
Entits

III.1.3.IDENTIFIANTS D'UNE ENTIT:

Lorsqu'un attribut permet de distinguer sans ambiguit chaque reprsentant d'une entit, cet attribut peut tre pris comme IDENTIFIANT de l'entit. PAR EXEMPLE, dans une entit CLIENTS, l'attribut NomClient ne peut tre pris comme identifiant, car deux clients peuvent avoir le mme nom. En revanche, si tous les clients sont franais, on pourrait prendre comme identifiant leur numro de scurit sociale.

Un identifiant peut tre constitu de plusieurs attributs: ainsi, l'identifiant d'une entit ABONNS pourrait tre constitu des attributs Pseudo et MotdePasse car le couple Pseudo - Mot de passe est en principe unique.

REMARQUE:
Dans la plupart des cas, il est trs difficile de trouver un attribut ou un ensemble d'attributs "naturels" qui puisse servir d'identifiant. Dans ce cas, on peut toujours en crer un "artificiellement", en attribuant chaque reprsentant de l'entit un numro unique (par exemple, chaque nouveau client d'une entreprise peut se voir attribuer un numro de client unique, qui n'est jamais rattribu). Les systmes de gestion de bases de donnes peuvent grer automatiquement ce type d'attribut, qui est souvent appel dans le contexte des SGBD "ATTRIBUT ENTIER AUTOINCREMENTABLE" (il s'agit, bien sr, d'un entier POSITIF).

III.1.4.REPRSENTATION GRAPHIQUE D'UNE ENTIT:

Dans le modle CONCEPTUEL entit-association, une entit est reprsente de la manire suivante:
Reprsentation graphique des entits REMARQUES:
  • L'entit CLIENTS est munie de l'identifiant NumClient, qui peut tre dans ce cas un attribut entier positif autoincrmentable: Chaque client nouvellement cr dans la BD se verra attribuer un NumClient incrment de 1 par rapport au dernier client cr. La suppression d'un client ne libre pas la valeur de son NumClient qui ne pourra donc plus tre utilise;
  • L'entit ARTICLES est munie de l'identifiant NumArticle qui est probablement un nombre entier positif. Cependant, il n'est pas avantageux d'utiliser dans ce cas un attribut autoincrmentable, car dans le commerce, un article donn possde presque toujours un numro de nomenclature unique qu'il est bien plus avantageux d'utiliser cet effet.


III.2.LA NOTION D'ASSOCIATION:


III.2.1.DFINITION:

Une ASSOCIATION tablit des CORRESPONDANCES entre les reprsentants d'une ENTITS A et ceux d'une entit B. Ces correspondances sont dites BIUNIVOQUES, car:
- Un reprsentant quelconque de A ne peut tre mis en correspondance qu'avec un seul reprsentant de B (la correspondance est UNIVOQUE de A vers B);
- Un reprsentant quelconque de B ne peut tre mis en correspondance qu'avec un seul reprsentant de A (la correspondance est UNIVOQUE de B vers A).
Le nom d'une association doit tre un verbe l'infinitif, comme ACHETER, COMMANDER, RESERVER, etc.

EXEMPLE: Si l'entit CLIENTS pour reprsentants Client1, Client2, Client3 et Client4 et si l'entit ARTICLES a pour reprsentants Pommes, Poires, Abricots, l'association ACHETER pourra tablir les correspondances reprsents dans le schma ci-dessous:

La signification logique sera:
  • Le client Client1 a achet l'article Pommes;
  • Le client Client2 a achet les article Pommes et Poire;
  • Le client Client3 a achet l'article Pommes;
  • Le client Client4 a achet l'article Poires.
REMARQUES: Personne n'a achet l'article Abricots. Par contre, tous les clients ont achet quelque chose, car sinon, ils ne seraient pas clients.
Principe logique des associations
Notons (bien que cela ne soit pas vraiment dit par la thorie), qu'une association possde implicitement un "sens": dans l'exemple ci-dessus, l'association ACHETER se comprend dans le sens CLIENT --> ACHTE --> FRUIT. En sens inverse, il faudrait dfinir l'association EST ACHET PAR. Cette remarque permettra de mieux apprhender la notion de CARDINALIT.

III.2.2.ATTRIBUTS D'UNE ASSOCIATION:

Une association entre deux entits tablit donc un certain nombre de liens entre les reprsentants de la premire entit et ceux de la seconde. Cependant, la connaissance de l'ensemble de ces liens ne suffit en gnral pas caractriser totalement l'association.

PAR EXEMPLE: le schma ci-dessus permet de connatre qui a achet quoi, mais il ne permet pas de savoir en quelle quantit.

On a donc besoin dans certains cas de caractriser les associations par des attributs. Par exemple, l'association ACHETER pourrait se voir affecter les attributs quantit_achete et date_commande. De ce fait, les associations reprsentes dans les schmas de donnes dits CONCEPTUELS peuvent tre caractrises par des attributs de la mme faon que les entits.

III.2.3.REPRSENTATION GRAPHIQUE D'UNE ASSOCIATION:

Les ASSOCIATIONS sont reprsentes dans les schmas conceptuels d'une manire assez semblables aux entits. La diffrences est que les coins des rectangles sont ARRONDIS:
Reprsentation graphique des associations


III.3.LES SCHEMAS ENTITS-ASSOCIATIONS:


III.3.1.RELATIONS BINAIRES ET NOTION DE CARDINALIT:

Nous avons vu que le MODELE CONCEPTUEL des bases de donnes RELATIONNELLES modlise les bases de donnes sous la forme d'ASSOCIATIONS D'ENTITS. Etudions le cas le plus simple de schma ENTIT-ASSOCIATION: celui o une ASSOCIATION relie entre elles deux ENTITS (ASSOCIATION dite BINAIRE).
Le schma conceptuel ci-dessous reprsente une telle association BINAIRE. Il exprime qu'il existe des correspondances tablie entre les reprsentants de l'entit AUTEURS et ceux de l'entit ROMANS qui figurent dans la base de donnes: en gros, certains de ces auteurs ont crit certains de ces romans (ce schma conceptuel pourrait faire partie du schma conceptuel d'une bibliothque). Cependant, il inclue galement certaines informations "quantitatives" qui vont permettre de rpondre certaines interrogations:
  • Est-ce que tous les auteurs figurant dans la base de donnes doivent avoir crit au moins un des romans figurant dans cette BD ? On peut imaginer que certains auteurs aient crit uniquement d'autres types d'oeuvres: nouvelles, articles, etc. ou encore que certains romans aient t supprims de la base de donnes car tous les exemplaires ont disparus;
  • Les romans reprsentants de l'entit ROMANS doivent-ils obligatoirement avoir t crit par un des auteurs reprsentants de l'entit AUTEURS?
  • Un roman peut-il avoir plusieurs auteurs ?
  • Etc.
Ce type d'interrogation va tre rsolu par la notation des CARDINALITS.


Menu de commande de l'animations

Exemple de schema d'association binaire
COMMENTAIRES:
  • Les LIENS LOGIQUES existants entre l'association et les entits sont figurs par des lignes droites continues;
  • Nous pouvons constater l'existence de couples de valeurs (numriques ou littrales) sur chacun de ces liens (ici, {0,n} pour le lien de gauche et {1,m} pour le lien de droite). Ces valeurs, qui sont toujours des entiers positifs ou nuls, expriment les CARDINALITS de la relation;
  • Ici, le couple figurant sur le lien de gauche (0,n), exprime qu'un auteur figurant dans la BD peut avoir crit de 0 n des romans figurant dans cette BD: on est donc dans le cas o un auteur peut n'avoir crit aucun de ces romans: ceci n'est pas aberrant si l'on suppose que la BD est galement dote d'une entit POSIES, par exemple: un auteur peut trs bien n'crire que des recueils de posies;
  • Le couple figurant sur le lien de droite (1,m), exprime qu'un roman figurant dans la BD doit avoir t crit par 1 ou plusieurs des auteurs figurant dans cette BD: on est donc dans le cas o un roman doit forcment avoir t crit par au moins un des auteurs figurant dans la BD.
  • Cette cardinalit, si elle tait dfinie telle-quelle aurait une consquence importante sur la gestion de la BD: la suppression d'un auteur devrait entraner obligatoirement la suppression de la BD de tous les romans qu'il a crit! une telle disposition n'est pas forcment aberrante, mais on conoit que ses consquences doivent tre bien matrises;
  • Ceci prouve bien que la dfinition des cardinalits est une tche qui doit tre mene avec le plus grand soin!


III.3.2.RECHERCHE DES CARDINALITS:

La cardinalit dune association pour une des entits A et B qu'elle met en relation est donc un couple de nombres entiers positifs ou nuls:
  • Le premier nombre indique le minimum de fois quune occurrence de lentit participe aux occurrences de lassociation (gnralement: 0 ou 1);
  • Le deuxime nombre indique le maximum de fois quune occurrence de lentit participe aux occurrences de lassociation (gnralement 1 ou n);


III.3.3.LES TROIS TYPES D'ASSOCIATIONS BINAIRES:

Suivant les cardinalits qui relient les entits l'association, on distingue trois sortes d'associations binaires:

TYPE UN UN:
Lorsque, dans une association binaire, les deux cardinalits maximales sont gales 1, l'association est de type "un un" (ou 1:1):
Association de type 1:1
Ici, les cardinalits expriment qu'un employ d'une entreprise ne peut diriger au plus qu'un seul service et qu'un service a forcment un chef de service et n'en a qu'un seul (autrement dit: un service de l'entreprise a un chef et un seul).
TYPE UN N:
Lorsque, dans une association binaire, UNE SEULE des cardinalits maximales est gale 1, l'association est de type "un N" (ou 1:N):
Association de type 1:N
Ici, les cardinalits expriment qu'un service peut employer de 1 N employs (1, car il emploie au moins le chef de service), mais qu'un employ de peut appartenir qu' 1 service et un seul.
TYPE M N:
Lorsque, dans une association binaire, les deux cardinalits maximales sont suprieures 1, l'association est de type "m n" (ou m:n):
Association de type M:N
Ici, les cardinalits expriment qu'une commande concerne au moins 1 article, mais peut en concerner un nombre quelconque m (>=1), et qu'un article peut ne pas avoir t command ou avoir t command un nombre quelconque n de fois.


III.3.4.ASSOCIATIONS N-AIRES:

Le modle prvoit galement la possibilit d'ASSOCIATIONS reliant plus de deux ENTITS. Par exemple: les associations ternaires (reliant 3 entits), quaternaires (reliant 4 entits), et plus gnralement, les associations N-aires, reliant N entits. Ces associations complexes sont toujours quivalentes plusieurs associations binaires. De ce fait, lors de la conception du modle d'une BD, il est conseill de n'utiliser dans un premier temps que des associations binaires, puis, si ncessaire, de regrouper ces associations.
EXEMPLE-ASSOCIATION TERNAIRE:

Associations Ternaires
REMARQUE:
Dterminer les cardinalits des relations reliant plus de deux entits est assez difficile. Le principe suivre est le suivant: "Dans une association n-ere, la cardinalit relative une entit correspond au nombre doccurrences possibles d'entits associes dans la relation quand les autres ( n-1 ) valeurs sont fixes".
Pour l'exemple ci-contre, ceci revient se poser les questions suivantes:
  • En ce qui concerne l'entit Crneaux_Horaires, combien de crneaux horaires peuvent tre affectes un professeur donn dans une salle donne, au minimum et au maximum? (la rponse sera 1,n);
  • En ce qui concerne l'entit Professeurs, combien de professeurs peuvent enseigner dans une salle donne et un horaire donn, au minimum et au maximum? (la rponse sera 0,1);
  • En ce qui concerne l'entit Salles, combien de salles peuvent hberger l'enseignement d'un professeur un horaire donn, au minimum et au maximum? (la rponse sera 1,1).



III.4.EXEMPLE DE CONSTRUCTION D'UN M.C.D:

III.4.1.REMARQUE PRELIMINAIRE:

Un MCD peut tre constitu de nombreuses entits et associations, chacune pouvant possder plusieurs attributs. Il est videmment indiqu pour la lisibilit des diagrammes de donner ces attributs des noms vocateurs de leur nature. Cependant, si l'on n'y prend pas garde, cette dmarche peut aboutir donner les mmes noms des attributs appartenant des entits ou associations diffrentes.
PAR EXEMPLE:
Des entits CLIENTS et FOURNISSEURS risquent fort de se retrouver dotes toutes les deux d'attributs nomms e_mail ou adresse_postale: ceci n'est pas grave tant qu'on s'en tient au diagramme MCD, puisque ces attributs apparaissent l'intrieur de leurs entits ou associations respectives. En revanche, cela pourra poser des problmes ds qu'on abordera les niveaux logiques et physiques, notamment pour nommer ce qu'on appellera les "clefs trangres").
Une solution simple ce problme est de faire rfrence dans le nom d'un attribut au nom de l'entit ou de l'association auquel il appartient (ou, pour ne pas trop alourdir la notation, deux lettres du nom de l'entit). Par exemple:
  • L'attribut nom de L'entit Clients sera nomm nom_cl;
  • L'attribut email de L'entit Fournisseurs sera nomm email_fo.
C'est cette mthode que nous emploierons par la suite.


III.4.2.SYSTME A MODLISER:

Le modle conceptuel doit modliser un SYSTME D'INFORMATION grant une BIBLIOTHQUE. Supposons que les spcifications respecter aient t dfinies par les personnels chargs de la gestion de la manire suivante:
  • Le systme d'information doit pouvoir fournir l'identit et la biographie des auteurs;
  • Le systme d'information doit pouvoir fournir le titre, l'anne de parution et une prsentation de chacun des livres qu'il gre;
  • Un livre est emprunt une date donne et pour une dure dtermine.
  • Un emprunt concerne un seul ouvrage;
  • Pour emprunter un livre, il faut tre abonn la bibliothque.


III.4.3.ANALYSE DU PROBLEME:

La simple lecture de ces spcifications permet dja de reprer:
  • Des ENTITS qui entreront dans la constitution du MCD: Auteurs, Livres, Abonns;
  • Des ASSOCIATIONS qui relieront ces entits: Ecrire, Emprunter;
  • Certains des attributs des entits et associations (Pour Auteur: identit, biographie, pour Emprunter: date et dure, pour Livres: le titre, l'anne de parution, une prsentation, etc.).
On peut galement reprer certaines consignes concernant la gestion (obligation d'tre abonn pour emprunter, etc.).
A ce stade, on peut dja dessiner le MCD suivant:
MCD bibliothque provisoire
Ceci n'est videmment qu'une premire approche du problme. En effet:
  • il parat vident que la gestion des abonnes exigera que l'on dfinisse des attributs pour cette entit;
  • Les cardinalits ne sont pas encore dfinies
  • Les spcifications donnes par les administrateurs manquent de prcision: par exemple, il faut faire la diffrence entre un ouvrage littraire (un livre dans le langage courant), et un exemplaire de cet ouvrage: dans le premier cas, il s'agit d'une cration de l'esprit alors que dans le deuxime cas, il s'agit d'un objet physique. Ce qui est emprunt est bien sr un exemplaire d'un livre. ceci aura pour consquence que plusieurs exemplaires d'un mme livre pourront tre emprunts simultanment;
  • Le point prcdent va amener la dfinition d'une entit supplmentaire (l'entit Exemplaire) et d'une nouvelle association, l'association Correspondre qui permettra d'associer chaque exemplaire le livre dont il est le reprsentant.

Ces spcifications supplmentaires sont en gneral le rsultat d'un travail d'approfondissement men par l'informaticien charg du projet en collaboration avec les utilisateurs.
Aprs dtermination des cardinalits, le MCD complt pourrait ressembler ce qui suit:
Menu de commande de l'animations

MCD approfondi de la bibliothque
En dfinitive, pour traduire ce recueil de besoins:
  • Nous avons cr l'entit AUTEURS et l'entit LIVRES;
  • Nous avons mis en relation ces deux entits par l'association ECRIRE;
  • Nous avons attribu la cardinalit 1,m l'entre de l'association Ecrire. Celle-ci exprime qu'un auteur a crit au moins un des livres rpertoris dans la bibliothque;
  • Celle-ci exprime qu'un livre doit tre crit par un ou plusieurs AUTEURS, ce qui permet de prendre en compte les ouvrages collectifs.
  • Nous avons cr l'entit EXEMPLAIRES, distincte de l'entit LIVRES, de faon exprimer le fait que la bibliothque peut possder plusieurs exemplaires d'un mme livre. Ces deux entits sont relies par la relation CORRESPONDRE;
  • Nous avons attribu la cardinalit 0,n l'entre de l'association CORRESPONDRE (et non 1, n), ce qui permet de spcifier le fait qu'un LIVRE donn peut continuer tre gr mme si l'on ne possde plus aucun exemplaire de ce livre!
  • Nous avons attribu la cardinalit 1.1 la sortie de l'association CORRESPONDRE exprime qu'un exemplaire correspond un livre et un seul;
  • Nous avons cr l'entit ABONNS et nous l'avons mise en relation avec l'entit EXEMPLAIRES par l'association EMPRUNTER;
  • Nous avons attribu la cardinalit 0,n l'entre de la relation EMPRUNTER pour spcifier qu' un instant donn, un abonn peut avoir emprunt de 0 n exemplaires d'un mme livre ou de livres diffrents;
  • Nous avons attribu la cardinalit 0,1 la sortie de la relation EMPRUNTER pour spcifier qu'un exemplaire ne peut tre emprunt simultanment par plusieurs abonns.


III.RCAPITULATION ET CONCLUSION:

  • Dans ce chapitre, nous avons decouvert et dcrit les diffrentes rgles et les diffrents concepts logiques qui sont utiliss pour analyser l'organisation d'un systme d'information et le traduire sous la forme d'un MODLE CONCEPTUEL DE DONNES (M.C.D);
  • Ensuite, nous avons appliqu ces enseignements l'tude d'un cas simple mais concret de systme d'informations (une bibliothque). Le rsultat de ces travaux est le schma du M.C.D de ce domaine. Cette tape est ncessaire pour permettre de justifier, complter et stabiliser les exigences des futurs utilisateurs du systme: elle correspond en gros la phase de spcification technique du besoin (S.T.B) d'un projet classique;
  • Cependant, comme dans le cas d'une S.T.B, elle ne permet pas de passer directement la ralisation du systme informatique car l'tude reste un niveau FONCTIONNEL, c'est dire qu'elle n'aborde pas l'aspect TECHNIQUE: contraintes et performances respecter, etc;
  • De ce fait, une tape intermdiaire doit tre effectue avant de commencer la ralisation. Cette tape, qui correspond peu prs la phase de conception prliminaire d'un projet classique va permettre de dduire du M.C.D un nouveau modle moins comprhensible par les utilisateurs mais beaucoup plus proche des aspects techniques, le MODLE LOGIQUE DES DONNES (M.L.D);
  • L'avantage du M.L.D par rapport au M.C.D est qu'il pourra tre directement traduit par les dveloppeurs dans le langage du SGBD choisi, car les entits qui le composent correspondent des entits manipules par les directives (requtes) composant ce langage.



Retour accs aux cours Retour sommaire cours
FormateurGaucheRepos FormateurGaucheActif FormateurDroitRepos FormateurDroitActif