III. Modèle entité-association▲
III-A. Historique et objectifs▲
Le modèle entité-association (EA) a été proposé par Peter Chen en 1976 sous le nom Entity-Relationship Model.
C'est un langage graphique destiné à la construction du modèle conceptuel d'une BD, indépendamment du SGBD qui sera utilisé pour gérer celle-ci.
Il est à la base de nombreuses méthodes de conception de BD dont la méthode Merise.
Il est bien adapté à la conception d'une BD relationnelle, car la traduction entité-association → relationnel est relativement naturelle.
III-B. La BD Réseau de bibliothèques▲
Les concepts du modèle EA seront illustrés, sur une BD décrivant un réseau de bibliothèques (universitaires, municipales…) et dont les données concernent :
- les bibliothèques dont chacune est identifiée par son nom ;
- les exemplaires de livre dont chacun est identifié par sa cote et est conservé par une bibliothèque du réseau ;
- les livres dont sont tirés ces exemplaires, dont chacun est identifié par son ISBN (numéro international) ;
- les personnes dont chacune est identifiée par son nom et son prénom ;
- les auteurs des livres qui sont des personnes ;
- les abonnés à ce réseau de bibliothèques qui sont des personnes ;
- les directeurs des bibliothèques de ce réseau, qui sont des personnes...
III-C. Entités et associations▲
Le modèle EA repose sur deux concepts principaux :
- les entités du monde décrit par une BD ;
- les associations entre ces entités.
Une entité est décrite par ses attributs. Par exemple, une personne décrite par son nom, son prénom, son âge et la ville dans laquelle elle habite.
Une entité est identifiée par sa clé : les valeurs d'une partie de ses attributs. Par exemple, une personne peut être identifiée par son nom et son prénom.
Une association exprime un lien entre plusieurs entités. Par exemple, l'emprunt d'un livre par une personne.
Une association peut aussi avoir des attributs. Par exemple, l'emprunt d'un livre par une personne à une certaine date.
III-D. Schéma et extension▲
Le schéma EA d'une BD est composé de l'ensemble des définitions des types d'entités et d'associations auxquelles doivent appartenir les instances de cette BD :
- toute entité a un type ;
- toute association a un type.
On appelle extension d'un type d'entité ou d'association à un instant donné, l'ensemble des instances de ce type enregistrées dans la BD à cet instant.
III-E. Type d'entité▲
Un type d'entité est défini par :
- son nom ;
- ses attributs ;
- sa clé : les attributs dont les valeurs identifient une entité de ce type.
Un attribut est défini par :
- son nom ;
- le type de ses valeurs.
Pour raison de simplicité :
- on ne spécifiera pas les types des valeurs des attributs ;
- on considérera que ces valeurs sont atomiques (comme dans le modèle relationnel).
Une entité instance de E a pour valeur le n-uplet (v1, …, vk, w1, …, wm) tel que :
- pour i de 1 à k, vi est une valeur de l'attribut Ai ;
- pour i de 1 à m, wi est une valeur de l'attribut Bi ;
- il n'existe pas d'autre entité de E ayant la clé (v1, …, vk).
Un livre est décrit par son ISBN (numéro international), son titre, le nom de son éditeur et son année d'édition.
Un livre est identifié par son ISBN, ce qui signifie que dans la BD réseau_bibliothèques, il n'y a pas deux livres qui ont le même ISBN (et d'ailleurs dans le monde !).
III-F. Type d'association▲
Un type d'association est défini par :
- son nom ;
- les noms des types d'entités dont les instances peuvent participer aux associations de ce type ;
- sa cardinalité qui définit pour chaque type d'entité participant combien de ses instances peuvent participer à une association de ce type ;
- son arité qui définit combien de types d'entités participent à ce type d'association ;
- éventuellement le rôle (un nom) que jouent dans une association de ce type, les entités qui y participent ;
- ses attributs.
On distingue deux types particuliers d'associations :
- les entités faibles ;
- les associations isa.
Une association instance de A a pour valeur le n-uplet (e1, …, en, v1, …, vm) tel que :
- pour i de 1 à n, ei est une instance du type d'entité Ei ;
- pour i de 1 à m, vi est une valeur de l'attribut Ati ;
- il n'existe pas d'autre association de A associant les entités e1, …, en.
III-F-1. Cardinalité d'un type d'association▲
- pi ≥ 0 et qi ≥ pi
- Dans toute extension de A, une même entité ne peut pas apparaître moins de pi fois et plus de qi fois en position i.
III-F-2. Désignation des entités et des associations▲
Il est habituel de désigner un type d'entité par un substantif et une association :
- soit par un verbe, quand elle exprime une action ;
- soit par un substantif quand elle exprime un état.
Par exemple :
- les types d'entités livre, personne, bibliothèque, ville ;
- le type d'association écrire qui exprime qu'un livre a été écrit par une personne et qu'une personne a écrit un livre ;
- le type d'association localisation qui exprime qu'une bibliothèque est localisée dans une ville.
III-F-2-a. Type d'association binaire *-*▲
* représente un entier positif ou nul.
Une personne peut avoir écrit un ou plusieurs livres : elle peut donc apparaître 0, 1 ou plusieurs fois dans une extension de l'association écrire.
Un livre a été écrit par au moins une personne : il doit donc apparaître 1 ou plusieurs fois dans une extension de l'association écrire.
III-F-2-b. Type d'association binaire 1-*▲
Un exemplaire est tiré d'un et d'un seul livre.
Un livre a été tiré en un ou plusieurs exemplaires.
Une bibliothèque conserve un ou plusieurs exemplaires de livres.
Un exemplaire d'un livre est conservé dans une et une seule bibliothèque.
III-F-2-c. Type d'association binaire 1-1▲
Une personne peut diriger une bibliothèque au plus.
Une bibliothèque est dirigée par une et une seule personne.
III-F-2-d. Type d'association ternaire avec attribut▲
L'emprunt d'un exemplaire de livre est une action matérialisée par un formulaire créé à la date de l'emprunt et supprimé lorsque l'exemplaire emprunté est rendu.
Un abonné au réseau peut emprunter un exemplaire d'un livre dans une bibliothèque du réseau (qui peut être différente de celle qui conserve cet exemplaire), mais il ne peut pas avoir plus de cinq emprunts en cours.
Un exemplaire de livre ne peut apparaître que dans un seul acte d'emprunt.
III-F-2-e. Type d'association avec rôle▲
Dans une association (p, b) de type diriger, la personne p joue le rôle de directeur.
Lorsqu'un même type d'entité participe plusieurs fois à un type d'association, il est nécessaire d'indiquer le rôle que jouent ses instances dans chaque cas.
Une section d'un livre peut être composée de sections : une section composée joue le rôle de mère, une section composante joue le rôle de fille.
Une section ne peut apparaître qu'une seule fois comme section fille.
Une section peut apparaître plusieurs fois comme section mère.
III-F-3. Type d'entité faible▲
Une entité faible est une entité qui n'existe que comme composante d'une autre entité : son entité mère. Lorsqu'elle celle-ci est supprimée, elle doit l'être aussi.
Une entité faible a une clé locale qui l'identifie parmi les entités faibles du même type de son entité mère.
La clé d'une entité faible est donc la concaténation de sa clé locale et de la clé de son entité mère.
Le processus peut être récursif, mais il doit y avoir une entité mère racine.
Une section d'un livre peut être composée d'autres sections.
Les sections d'un livre sont numérotées. Cette numérotation est locale à ce livre : deux sections de deux livres différents peuvent avoir le même numéro.
Une entité section a donc pour clé locale son numéro (attribut no) et pour clé son numéro et l'ISBN (attribut ISBN) du livre auquel cette section appartient.
III-F-4. Type d'association isa▲
Une entité de type E1 possède toutes les propriétés d'une entité de type E2 plus certaines autres.
On dit que E1 est une spécialisation de E2 ou que E2 est une généralisation de E1.
Une personne est décrite par son nom, son prénom, son année de naissance et son pays d'origine.
Une personne est identifiée par son nom et son prénom.
Un abonné (d'une bibliothèque) est une personne :
- il a donc un nom, un prénom, une année de naissance et un pays d'origine ;
- son nom et son prénom l'identifient.
Un abonné a de plus un numéro de carte.
Un auteur et un directeur de bibliothèque sont des personnes.