Bases de données: modélisation, manipulation et programmation
Navigation
Modèle entité-association
Les liens
Entre les ensembles d'entités s'établissent d'importants liens qui forment également un ensemble. Les ensembles de liens se caractérisent aussi par leurs propres attributs et sont représentés sous la forme de losanges dans le modèle EA. Par exemple, pour savoir sur quel projet travaille chaque employé, on définit l'ensemble de liens APPARTENANCE que l'on connecte aux ensembles d'entités EMPLOYE et PROJET dans le diagramme. L'ensemble de liens APPARTENANCE contient toutes les participations des employés aux projets de l'entreprise. Il se caractérise par l'attribut «Taux de participation» qui indique le pourcentage du temps de travail qu'un employé consacre à son projet:
Représentation d'un ensemble de liens dans le modèle EA
Les liens définissent toujours des associations dans les deux directions. Du point de vue de l'ensemble EMPLOYE, nous interprétons l'ensemble des liens APPARTENANCE en spécifiant qu'un employé peut participer à plusieurs projets. Du point de vue de l'ensemble d'entités PROJET, le lien exprime le fait qu'un projet est réalisé par plusieurs employés. Aussi, afin d'indiquer le nombre d'entités de l'ensemble d'arrivée participant à l'association avec une entité de l'ensemble de départ, il est habituel de caractériser chaque association formant un lien par son type. On distingue habituellement quatre types d'associations:
Association simple, notée 1
Dans ce type d'association, à chaque entité de l'ensemble de départ correspond une et une seule entité dans l'ensemble d'arrivée. Par exemple, selon notre analyse des données, chaque employé est affecté à un seul département. Ainsi, l'association AFFECTATION des employés aux départements est simple:
Association simple
Association conditionnelle, notée c
Dans ce type d'association, à chaque entité de l'ensemble de départ correspond au plus une entité dans l'ensemble d'arrivée. Par exemple, l'association CHEF_DE_DEPARTEMENT reliant l'ensemble d'entités EMPLOYE à l'ensemble DEPARTEMENT est conditionnelle dans la mesure où un employé n'exerce pas forcément la fonction de chef de département.
Association conditionnelle
Association multiple, notée n
Dans ce type d'association, à chaque entité de l'ensemble de départ correspond une ou plusieurs entités de l'ensemble d'arrivée. Par exemple, l'association APPARTENANCE des projets aux employés est multiple dans la mesure où chaque projet est réalisé par un ou plusieurs employés.
Association multiple
Association multiple conditionnelle, notée nc
Dans ce type d'association, à chaque entité de l'ensemble de départ correspond aucune, une ou plusieurs entités de l'ensemble d'arrivée. Par exemple, l'association APPARTENANCE considérée du point de vue d'un employé est multiple conditionnelle dans la mesure où un employé ne participe pas obligatoirement à un projet et peut contribuer à plusieurs projets à la fois.
Association multiple conditionnelle
Les types d'associations multiples et multiple conditionnelle sont dits complexes dans la mesure où une entité de l'ensemble de départ peut être reliée à un nombre quelconque d'entités de l'ensemble d'arrivée.
Les types d'association sont généralement placés sur le modèle EA du côté d'où démarre l'association comme indiqué précédemment. La figure ci-dessous résume les différents types d'association présents dans l'exemple étudié:
Modèle EA incluant les types d'associations
Les types d'association d'un lien déterminent son degré. Comme chaque lien comprend deux types d'associations, son degré est défini comme une paire de type d'associations. Par exemple, le lien APPARTENANCE entre les ensembles d'entités EMPLOYE et PROJET est de degré (nc, n). Il est dès lors possible de classer les liens entre deux ensembles d'entités en fonction de leur degré. Nous parlerons de lien...
...un-à-un lorsque son degré consiste en deux types d'associations simples ou conditionnelles.
En d'autres termes, cette catégorie est formée des liens de degré (1, 1), (1, c), (c, 1) et (c, c).
...un-à-plusieurs lorsque son degré consiste en un type d'associations simple ou conditionnelle et un type d'association multiple ou multiple conditionnelle.
En d'autres termes, cette catégorie est formée des liens de degré (1, n), (1, nc), (c, n), (c, nc), (n, 1), (n, c), (nc, 1) et (nc, c).
...plusieurs-à-plusieurs lorsque son degré consiste en deux types d'associations multiples ou multiples conditionnelles.
En d'autres termes, cette catégorie est formée des liens de degré (n, n), (n, nc), (nc, n), (nc, nc).
Dans l'exemple ci-dessus, CHEF DE DEPARTEMENT est un lien un-à-un, AFFECTATION est un lien un-à-plusieurs et APPARTENANCE est un lien plusieurs-à-plusieurs.
A vous de jouer !
La base de données ci-dessous répertorie des informations relatives à des comptes bancaires qui appartiennent à des clients et qui sont gérés par différentes filiales d'une même banque. Après avoir étudié les liens qu'entretiennent les différentes tables de la base de données, établissez le diagramme entité-association de la base de données.
Solution
|
A vous de jouer !
D'une discussion avec une entreprise responsable d'une librairie en ligne, vous parvenez à faire ressortir la liste des informations factuelles suivantes:
L'entreprise vend des livres
Chaque livre possède un unique éditeur et chaque éditeur publie au moins un livre
L'entreprise obtient ses livres auprès de fournisseurs. Chaque livre est fourni exclusivement par un fournisseur mais chaque fournisseur est à même de fournir plusieurs livres.
L'entreprise a des client passant des commandes. Chaque client peut passer 0, 1 ou plusieurs commandes mais une commande est toujours passée par un et un seul client.
Une commande doit comprendre au moins un livre et un livre peut faire partie de 0, 1 ou plusieurs commandes.
L'entreprise dispose d'un certains nombres d'employés.
A chaque commande correspond un employé responsable et chaque employé peut assurer le suivi de 0, 1 ou plusieurs commandes.
A l'aide d'un diagramme entité-association, modélisez la structure des informations nécessaire au développement d'un logiciel capable de gérer la librairie en ligne, sans vous attardez sur les attributs propres à chaque entité en présence.
Solution
Après analyse des données à modéliser, nous nous apercevons que celles-ci sont formées de 6 entités (LIVRE, EDITEUR, FOURNISSEUR, EMPLOYE, CLIENT et COMMANDE) que nous pouvons directement représenter dans le diagramme sous la forme de rectangles. Une fois les entités posées, il y a lieu de s'interroger quant aux associations les reliant. En se référant à l'analyse des données du problème, on constate qu'il y a un lien de degré (1,n) entre les entités LIVRE et EDITEUR, un lien de degré (1,n) entre les entités LIVRE et FOURNISSEUR, un lien de degré (1, nc) entre les entités COMMANDE et CLIENT, un lien de degré (n, nc) entre les entités COMMANDE et LIVRE et finalement un lien de type (nc, 1) entre les entités COMMANDE et EMPLOYE. En assemblant ces différentes représentations, nous obtenons le modèle entités-associations suivant: