Cous de Base de Donnees-Chap I Modele E-A
Cous de Base de Donnees-Chap I Modele E-A
Cous de Base de Donnees-Chap I Modele E-A
M. Réné ZEMBA
(226) 64 00 20 53/53 90 26 72
[email protected]
Ingénieur Statisticien Economiste (ENSAE-Sénégal)
1 07/06/2024
Année académique 2022-
Chapitre I
Le modèle Entité/Association
Plan
I. Principes généraux
1. Bon et mauvais schémas
2. La bonne méthode
III. Le modèle
3. Entités, attributs et identifiants
4. Associations binaires
5. Entités faibles
6. Associations généralisées
3 07/06/2024
I. Principes généraux
Ce chapitre présente le modèle Entité/Association (E/A) qui est utilisé à peu près
associations entre ces entités. Ces concepts permettent de donner une structure à la base, ce
qui s’avère indispensable.
4 07/06/2024
1. Bon et mauvais schémas
Considérons une table FilmSimple stockant des films avec quelques informations de base,
dont le metteur en scène. Voici une représentation de cette table.
Même pour une information aussi simple, il est facile d’énumérer tout un ensemble de
problèmes potentiels. Tous ou presque découlent d’un grave défaut de la table ci-dessus:
il est possible de représenter la même information plusieurs fois.
5 07/06/2024
1. Bon et mauvais schémas
Anomalies lors d’une insertion : Rien n’empêche de représenter plusieurs fois le même film.
Pire : il est possible d’insérer plusieurs fois le film Vertigo en le décrivant à chaque fois de
manière différente, par exemple en lui attribuant une fois comme réalisateur Alfred Hitchcock,
puis une autre fois John Woo, etc
Anomalies lors d’une modification : La redondance d’information entraîne également des
anomalies de mise à jour. Supposons que l’on modifie l’année de naissance de Hitchcock pour
la ligne Vertigo et pas pour la ligne Psychose. On se retrouve alors avec des informations
incohérentes
Anomalies lors d’une destruction : On ne peut pas supprimer un film sans supprimer du
même coup son metteur en scène. Si on souhaite, par exemple, ne plus voir le film Titanic
figurer dans la base de données, on va effacer du même coup les informations sur James
Cameron.
6 07/06/2024
2. La bonne méthode
Une bonne méthode évitant les anomalies ci-dessus consiste à :
être capable de représenter individuellement les films et les réalisateurs, de manière à ce
qu’une action sur l’un n’entraîne pas systématiquement une action sur l’autre;
définir une méthode d’identification d’un film ou d’un réalisateur, qui permette d’assurer que
la même information est représentée une seule fois;
préserver le lien entre les films et les réalisateurs, mais sans introduire de redondance.
Commençons par les deux premières étapes. On va d’abord distinguer la table des films et la
table des réalisateurs. Ensuite on décide que deux films ne peuvent avoir le même titre, mais que
deux réalisateurs peuvent avoir le même nom. Afin d’avoir un moyen d’identifier les réalisateurs,
on va leur attribuer un numéro, désigné par id. On obtient le résultat suivant, les identifiants (ou
clés) étant en gras.
titre année id nomMES PrénomMES annéeNaiss
Alien 1979 1 Scott Ridley 1943
Vertigo 1958 2 Hitchcock Alfred 1899
Psychose 1960 3 Kurosawa Akira 1910
Kagemusha 1980 4 Woo John 1946
Volte-face 1997 5 Tarantino Quentin 1963
Pulp Fiction 1995 6 Cameron James 1954
Titanic 1997 7 Tarkovski Andrei 1932
Sacrifice 1986
7 Tables des films Table des réalisateurs 07/06/2024
2. La bonne méthode
Premier progrès: il n’y a maintenant plus de redondance dans la base de données. Le réalisateur
Hitchcock, par exemple, n’apparaît plus qu’une seule fois, ce qui élimine les anomalies de mise à
jour évoquées précédemment.
Il reste à représenter le lien entre les films et les metteurs en scène, sans introduire de
redondance. Maintenant que nous avons défini les identifiants, il existe un moyen simple pour
indiquer quel est le metteur en scène qui a réalisé un film: associer l’identifiant du metteur en
scène au film. On ajoute un attribut idMES dans la table Film, et on obtient la représentation
suivante.
9 07/06/2024
II. Le modèle E/A: Présentation informelle
Un schéma E/A décrit l’application visée, c’est-à-dire une abstraction d’un domaine d’étude,
pertinente relativement aux objectifs visés. Rappelons qu’une abstraction consiste à choisir
certains aspects de la réalité perçue (et donc à éliminer les autres). Cette sélection se fait en
fonction de certains besoins qui doivent être précisément définis.
Par exemple, pour notre base de données Films, on n’a pas besoin de stocker dans la base de
données l’intégralité des informations relatives à un internaute, ou à un film. Seules comptent
celles qui sont importantes pour l’application. Voici le schéma décrivant cette base de données
Films (figure 1). Sans entrer dans les détails pour l’instant, on distingue
des entités, représentées par des rectangles, ici Film, Artiste, Internaute et Pays;
des associations entre entités représentées par des liens entre ces rectangles. Ici on a
représenté par exemple le fait qu’un artiste joue dans des films, qu’un internaute note des
films, etc.
Chaque entité est caractérisée par un ensemble d’attributs, parmi lesquels un ou plusieurs
forment l’identifiant unique (en gras). Comme nous l’avons exposé précédemment, il est
essentiel de dire ce qui caractérise de manière unique une entité, de manière à éviter la
redondance d’information.
10 07/06/2024
II. Le modèle E/A: Présentation informelle
Les associations sont caractérisées par des cardinalités. La notation 0..* sur le lien Réalise, du
côté de l’entité Film, signifie qu’un artiste peut réaliser plusieurs films, ou aucun. La notation
0..1 du côté Artiste signifie en revanche qu’un film ne peut être réalisé qu’au plus un artiste. En
revanche dans l’association Donne une note, un internaute peut noter plusieurs films, et un film
peut être noté par plusieurs internautes, ce qui justifie l’a présence de 0..* aux deux extrémités de
l’association.
Artiste Internaute
annéeNaissance motDePpasse
Film
0..* annéeNaissance
id
Joue
titre
0..*
année
genre
rôle
résumé Pays
* code
1..1
nom
langue
12 07/06/2024
II. Le modèle E/A: Présentation informelle
Outre les propriétés déjà évoquées (simplicité, clarté de lecture), évidentes sur ce schéma, on
peut noter aussi que la modélisation conceptuelle est totalement indépendante de tout choix
d’implantation. Le schéma de la figure 1 ne spécifie aucun système en particulier. Il n’est pas
non plus question de type ou de structure de données, d’algorithme, de langage, etc. En
principe, il s’agit donc de la partie la plus stable d’une application. Le fait de se débarrasser à
ce stade de la plupart des considérations techniques permet de se concentrer sur l’essentiel:
que veut-on stocker dans la base?
Une des principales difficultés dans le maniement des schémas E/A est que la qualité du
résultat ne peut s’évaluer que par rapport à une demande qui est souvent floue et incomplète.
Il est donc souvent difficile de valider (en fonction de quels critères?) le résultat. Peut-on
affirmer par exemple que:
toutes les informations nécessaires sont représentées;
qu’un film ne sera jamais réalisé par plus d’un artiste;
qu’il n’y aura jamais deux films avec le même titre.
Il faut faire des choix, en connaissance de cause, en sachant toutefois qu’il est toujours
possible de faire évoluer une base de données, quand cette évolution n’implique pas de
restructuration trop importante. Pour reprendre les exemples ci-dessus, il est facile d’ajouter
des informations pour décrire un film ou un internaute; il serait beaucoup plus difficile de
modifier la base pour qu’un film passe de un, et un seul, réalisateur, à plusieurs. Quant à
changer la clé de Film, c’est une des évolutions les plus complexes à réaliser. Les cardinalités et
13 le choix des clés font vraiment partie des aspects décisifs des choix de conception. 07/06/2024
III. Le modèle E/A
14 07/06/2024
1. Entités, attributs et identifiants
Il est difficile de donner une définition très précise des entités. Les points essentiels sont
résumés ci-dessous.
Définition 1 (Entité) On désigne par entité tout objet identifiable et pertinent pour
l’application.
Comme nous l’avons vu précédemment, la notion d’identité est primordiale. C’est elle qui
permet de distinguer les entités les unes des autres, et donc de dire qu’une information est
redondante ou qu’elle ne l’est pas. Il est indispensable de prévoir un moyen technique pour
pouvoir effectuer cette distinction entre entités au niveau de la base de données: on parle
d’identifiant ou de clé.
15 07/06/2024
1. Entités, attributs et identifiants
La pertinence est également essentielle: on ne doit prendre en compte que les informations
nécessaires pour satisfaire les besoins. Par exemple:
1. le film Impitoyable;
2. l’acteur Clint Eastwood ;
sont des entités pour la base Films.
La première étape d’une conception consiste à identifier les entités utiles. On peut souvent le
faire en considérant quelques cas particuliers. La deuxième est de regrouper les entités en
ensembles: en général on ne s’intéresse pas à un individu particulier mais à des groupes. Par
exemple il est clair que les films et les acteurs sont des ensembles distincts d’entités. Qu’en est-
il de l’ensemble des réalisateurs et de l’ensemble des acteurs? Doit-on les distinguer ou les
assembler? Il est certainement préférable de les assembler, puisque des acteurs peuvent aussi
être réalisateurs
16 07/06/2024
1. Entités, attributs et identifiants
Attribut
Les entités sont caractérisées par des propriétés: le titre (du film), le nom (de l’acteur), sa
date de naissance, l’adresse, etc. Ces propriétés sont dénotées attributs dans la terminologie
du modèle E/A. Le choix des attributs relève de la même démarche d’abstraction qui a dicté
la sélection des entités: il n’est pas question de donner exhaustivement toutes les propriétés
d’une entité. On ne garde que celles utiles pour l’application.
Un attribut est désigné par un nom et prend ses valeurs dans un domaine énumérable
comme les entiers, les chaînes de caractères, les dates, etc. On peut considérer un nom
d’attribut comme une fonction définie sur un ensemble d’entités E et prenant ses valeurs dans
un domaine D. On note alors la valeur de l’attribut A pour une entité .
Considérons par exemple un ensemble de films et les attributs titre et année. Si est le film
Impitoyable, tourné par Clint Eastwood en 1992, on aura:
Il est très important de noter que selon cette définition un attribut prend une valeur et une
seule. On dit que les attributs sont atomiques. Il s’agit d’une restriction importante puisqu’on
ne sait pas, par exemple, définir un attribut téléphones d’une entité Personne, prenant pour
valeur les numéros de téléphone d’une personne. Certaines méthodes admettent (plus ou
moins clairement) l’introduction de constructions plus complexes:
1. les attributs multivalués sont constitués d’un ensemble de valeurs prises dans un même
domaine; une telle construction permet de résoudre le problème des numéros de
téléphones multiples;
2. les attributs composés sont constitués par agrégation d’autres attributs; un attribut adresse
peut par exemple être décrit comme l’agrégation d’un code postal, d’un numéro de rue,
d’un nom de rue et d’un nom de ville.
Nous nous en tiendrons pour l’instant aux attributs atomiques qui, au moins dans le contexte
18 07/06/2024
d’une modélisation orientée vers un SGBD relationnel, sont suffisants.
1. Entités, attributs et identifiants
Types d’entités
Il est maintenant possible de décrire un peu plus précisément les entités par leur
type.
Définition 2 (Type d’entité) Le type d’une entité est composé des éléments
suivants:
1. son nom;
2. la liste de ses attributs avec, – optionnellement – le domaine où l’attribut prend
ses valeurs: les entiers, les chaînes de caractères;
3. l’indication du (ou des) attribut(s) permettant d’identifier l’entité: ils constituent
la clé.
On dit qu’une entité est une instance de son type . Enfin, un ensemble
d’entités instance d’un même type est une extension de .
Il reste à définir plus précisément la notion de clé.
19 07/06/2024
1. Entités, attributs et identifiants
Définition 3 (Clé) Soit un type d’entité et l’ensemble des attributs de . Une clé de est un sous-
ensemble minimal de permettant d’identifier de manière unique une entité parmi n’importe
quelle extension de .
Prenons quelques exemples pour illustrer cette définition. Un internaute est caractérisé par
plusieurs attributs: son email, son nom, son prénom, la région où il habite. L’email constitue
une clé naturelle puisqu’on ne trouve pas, en principe, deux internautes ayant la même
adresse électronique. En revanche l’identification par le nom seul paraît impossible puisqu’on
constituerait facilement un ensemble contenant deux internautes avec le même nom. On
pourrait penser à utiliser la paire (nom,prénom), mais il faut utiliser avec modération
l’utilisation d’identifiants composés de plusieurs attributs, quoique possible, peut poser des
problèmes de performance et complique les manipulations par SQL.
Il est possible d’avoir plusieurs clés pour un même ensemble d’entités. Dans ce cas on en
choisit une comme clé primaire, et les autres comme clés secondaires. Le choix de la clé
(primaire) est déterminant pour la qualité du schéma de la base de données. Les
caractéristiques d’une bonne clé primaire sont les suivantes:
– sa valeur est connue pour toute entité;
– on ne doit jamais avoir besoin de la modifier ;
enfin, pour des raisons de performance, sa taille de stockage doit être la plus petite07/06/2024
possible.
20
1. Entités, attributs et identifiants
Il n’est pas toujours évident de trouver un ensemble d’attributs satisfaisant ces propriétés.
Considérons l’exemple des films, le choix du titre pour identifier un film serait incorrect puisqu’on
aura à faire un jour ou l’autre à deux films ayant le même titre. Même en combinant le titre avec un
autre attribut (par exemple l’année), il est difficile de garantir l’unicité.
Dans la situation, fréquente, où on a du mal à déterminer quelle est la clé d’une entité, on crée un
identifiant abstrait indépendant de tout autre attribut. On peut ainsi ajouter dans le type d’entité
Film un attribut id, correspondant à un numéro séquentiel qui sera incrémenté au fur et à mesure
des insertions. Ce choix est souvent le meilleur, dès lors qu’un attribut ne s’impose pas de manière
évidente comme clé. Il satisfait notamment toutes les propriétés énoncées précédemment (on peut
toujours lui attribuer une valeur, il ne sera jamais nécessaire de la modifier, et elle a une
représentation compacte).
On représente graphiquement un type d’entité comme sur la figure 2 qui donne l’exemple des
types Internaute et Film. L’attribut (ou les attributs s’il y en a plusieurs) formant la clé sont en gras.
21 07/06/2024
1. Entités, attributs et identifiants
email id
Identifiant
nom titre
prénom année
Attributs
région résumé
genre
Il est essentiel de bien distinguer types d’entités et entités. La distinction est la même
qu’entre schéma et base dans un SGBD, ou entre type et valeur dans un langage de
programmation.
22 07/06/2024
2. Associations binaires
Définition 4: Une association binaire entre les ensembles d’entités et est un ensemble de
couples , avec et .
C’est la notion classique de relation en théorie des ensembles. On emploie plutôt le terme
d’association pour éviter toute confusion avec le modèle relationnel. Une bonne manière
d’interpréter une association entre des ensembles d’entités est de faire un petit graphe où on
prend quelques exemples, les plus généraux possibles.
Psychose
24 07/06/2024
2. Associations binaires
Définition 5 (Cardinalité) Soit une association entre deux types d’entités. La cardinalité de
l’association pour , est une paire [min, max] telle que:
1. Le symbole max (cardinalité maximale) désigne le nombre maximal de fois où une entité
de peut intervenir dans l’association. En général, ce nombre est 1 (au plus une fois) ou n
(plusieurs fois, nombre indéterminé), noté par le symbole « * »
2. Le symbole min (cardinalité minimale) désigne le nombre minimal de fois où une entité de
peut intervenir dans la relation. En général, ce nombre est 1 (au moins une fois) ou 0.
Les cardinalités maximales sont plus importantes que les cardinalités minimales ou, plus
précisément, elles s’avèrent beaucoup plus difficiles à remettre en cause une fois que le
schéma de la base est constitué. On décrit donc souvent une association de manière abrégée
en omettant les cardinalités minimales. La notation « * », en UML, est l’abréviation de
« 0..* », et « 1 » est l’abréviation de « 1..1 ». On caractérise également une association de
manière concise en donnant les cardinalités maximales aux deux extrémités, par exemple
« 1:n » (association de un à plusieurs) ou « n:n » (association de plusieurs à plusieurs).
25 07/06/2024
2. Associations binaires
Les cardinalités minimales sont parfois désignées par le terme contraintes de participation.
La valeur 0 indique qu’une entité peut ne pas participer à l’association, et la valeur 1 qu’elle
doit y participer.
Insistons sur le point suivant: les cardinalités n’expriment pas une vérité absolue, mais des
choix de conception. Elles ne peuvent être déclarés valides que relativement à un besoin. Plus
ce besoin sera exprimé précisément, et plus il sera possible d’apprécier la qualité du modèle.
Il existe plusieurs manières de noter une association entre types d’entités. Nous utilisons ici
la notation de la méthode UML, qui est très proche de celle de la méthode OMT. En France,
on utilise aussi couramment – de moins en moins – la notation de la méthode MERISE que
nous ne présenterons pas ici. Réalisateur Film
0..1 0 ..n
id id
Réalise
nom titre
prénom année
annéeNaissance genre
26 07/06/2024
figure 4: Représentation de l’association.
2. Associations binaires
Dans la notation UML, on indique les cardinalités aux deux extrémités d’un lien
d’association entre deux types d’entités et . Les cardinalités pour sont placées à l’extrémité
du lien allant de vers et les cardinalités pour sont à l’extrémité du lien allant de vers . Pour
l’association entre Réalisateur et Film, cela donne l’association de la figure 4. Cette
association se lit Un réalisateur réalise zéro, un ou plusieurs films, mais on pourrait tout aussi
bien utiliser la forme passive avec comme intitulé de l’association Est réalisé par et une
lecture Un film est réalisé par au plus un réalisateur. Le seul critère à privilégier dans ce
choix des termes est la clarté de la représentation.
Prenons maintenant l’exemple de l’association (Acteur, Film) représentant le fait qu’un
acteur joue dans un film. Un graphe basé sur quelques exemples est donné dans la figure 5.
On constate tout d’abord qu’un acteur peut jouer dans plusieurs films, et que dans un film on
trouve plusieurs acteurs. Mieux: Clint EastWood, qui apparaissait déjà en tant que metteur en
scène, est maintenant également acteur, et dans le même film.
Les acteurs Les liens "Joue" Les films
Cette dernière constatation mène à la conclusion qu’il vaut mieux regrouper les acteurs et
les réalisateurs dans un même ensemble, désigné par le terme plus général Artiste. On obtient
le schéma de la figure 6, avec les deux associations représentant les deux types de lien
possible entre un artiste et un film: il peut jouer dans le film, ou le réaliser. Ce ou n’est pas
exclusif: EastWood joue dans Impitoyable, qu’il a aussi réalisé.
Artiste Film
Réalise
id id
1..1 0..*
nom titre
0..* 0..*
prénom année
Joue
annéeNaiss genre
rôle
Dans le cas d’associations avec des cardinalités multiples de chaque côté, on peut
avoir des attributs qui ne peuvent être affectés qu’à l’association elle-même. Par
exemple l’association Joue a pour attribut le rôle tenu par l’acteur dans le film
(figure 6).
Rappelons qu’un attribut ne peut prendre qu’une et une seule valeur. Clairement,
on ne peut associer rôle ni à Acteur puisqu’il a autant de valeurs possibles qu’il y a
de films dans lesquels cet acteur a joué, ni à Film, la réciproque étant vraie
également. Seules les associations ayant des cardinalités multiples de chaque côté
peuvent porter des attributs.
Quelle est la clé d’une association? Si l’on s’en tient à la définition, une
association est un ensemble de couples, et il ne peut donc y avoir deux fois le même
couple (parce qu’on ne trouve pas deux fois le même élément dans un ensemble).
On a donc:
Définition 6 (Clé d’une association) La clé d’une association (binaire) entre un
type d’entité et un type d’entité est le couple constitué de la clé de et de la clé
de .
29 07/06/2024
2. Associations binaires
En pratique cette contrainte est souvent trop contraignante car on souhaite autoriser deux
entités à être liées plus d’une fois dans une association. Imaginons par exemple qu’un
internaute soit amené à noter à plusieurs reprises un film, et que l’on souhaite conserver
l’historique de ces notations successives. Avec une association binaire entre Internaute et
Film, c’est impossible: on ne peut définir qu’un seul lien entre un film donné et un internaute
donné.
Le problème est qu’il n’existe pas de moyen pour distinguer des liens multiples entre deux
mêmes entités. Le seul moyen pour effectuer une telle distinction est d’introduire une entité
discriminante, par exemple la date de la notation. On obtient alors une association ternaire
dans laquelle on a ajouté un type d’entité Date (figure 7).
Date
date
Internaute Film
email id
note
nom titre
prénom année
région genre
figure 7: Ajout d’une entité Date pour conserver l’historique des notations
30 07/06/2024
2. Associations binaires
Un lien de cette association réunit donc une entité Film, une entité Internaute et une entité
Date. On peut identifier un tel lien par un triplet (id, email, date) constitué par les clés des
trois entités constituant le lien.
Comme le montre la figure 8, il devient alors possible, pour un même internaute, de noter
plusieurs fois le même film, pourvu que ce ne soit pas à la même date. Réciproquement un
internaute peut noter des films différents le même jour, et un même film peut être noté
plusieurs fois à la même date, à condition que ce ne soit pas par le même internaute.
Internautes Films
Phileas Fogg
Ennemi d’état
Jules Maigret
Van Gogh
Dates
31 figure 8: Graphe d’une association ternaire 07/06/2024
3. Entités faibles
Jusqu’à présent nous avons considéré le cas d’entités indépendantes les unes des autres.
Chaque entité, disposant de son propre identifiant, pouvait être considérée isolément. Il existe
des cas où une entité ne peut exister qu’en étroite association avec une autre, et est identifiée
relativement à cette autre entité. On parle alors d’entité faible.
Prenons l’exemple d’un cinéma, et de ses salles. On peut considérer chaque salle comme
une entité, dotée d’attributs comme la capacité, l’équipement en son Dolby, ou autre. Il est
difficilement imaginable de représenter une salle sans qu’elle soit rattachée à son cinéma.
C’est en effet au niveau du cinéma que l’on va trouver quelques informations générales
comme l’adresse ou le numéro de téléphone.
Il est possible de représenter le lien en un cinéma et ses salles par une association classique,
comme le montre la figure 3.10.a. La cardinalité 1..1 force la participation d’une salle à un
lien d’association avec un et un seul cinéma. Cette représentation est correcte, mais présente
un inconvénient: on doit créer un identifiant artificiel id pour le type d’entité Salle, et
numéroter toutes les salles, indépendamment du cinéma auquel elles sont rattachées.
On peut considérer qu’il est beaucoup plus naturel de numéroter les salles par un numéro
interne à chaque cinéma. La clé d’identification d’une salle est alors constituée de deux
parties:
32 07/06/2024
3. Entités faibles
1. la clé de Cinéma, qui indique dans quel cinéma se trouve la salle;
2. le numéro de la salle au sein du cinéma.
En d’autres termes, l’entité salle ne dispose pas d’une identification absolue, mais d’une
identification relative à une autre entité. Bien entendu cela force la salle a toujours être
associée à un et un seul cinéma.
La représentation graphique des entités faibles avec UML est illustrée dans la figure 10.b.
La salle est associée au cinéma avec une association qualifiée par l’attribut no qui sert de
discriminant pour distinguer les salles au sein d’un même cinéma. Noter que la cardinalité du
côté Cinéma est implicitement 1..1 .
Cinéma Cinéma
nom nom
ville ville
rue rue
numéro numéro
1 no
*
Figure 10: Modélisation du lien *
Salle
Cinéma-Salle (a) sous la forme d’une Salle
id
association classique (b) avec une capacité
capacité
L’introduction d’entités faibles n’est pas une nécessité absolue puisqu’on peut très
bien utiliser une association classique. La principale différence est que, dans le cas
d’une entité faible, on obtient un identification composée qui est souvent plus
pratique à gérer, et peut également rendre plus faciles certaines requêtes.
La présence d’un type d’entité faible associé à un type d’entité implique également
des contraintes fortes sur les créations, modifications et destructions des instances de
et car on doit toujours s’assurer que la contrainte est valide. Concrètement, en
prenant l’exemple de Salle et de Cinéma, on doit mettre en place les mécanismes
suivants:
1. Quand on insère une salle dans la base, on doit toujours l’associer à un cinéma;
2. quand un cinéma est détruit, on doit aussi détruire toutes ses salles;
3. quand on modifie la clé d’un cinéma, il faut répercuter la modification sur toutes
ses salles.
Pour respecter les règles de destruction/création énoncées, on doit mettre en place
une stratégie. Nous verrons que les SGBD relationnels nous permettent de spécifier
de telles stratégies.
34 07/06/2024
4. Entités Généralisées
On peut envisager des associations entre plus de deux entités, mais elles sont plus difficiles
à comprendre, et surtout la signification des cardinalités devient beaucoup plus ambiguë. La
définition d’une association n-aire est une généralisation de celle des associations binaires.
Définition 7 : Une association n-aire entre n types d’entités , , …, est un ensemble de n-
uplets , , …, ) où chaque appartient à .
Même s’il n’y a en principe pas de limite sur le degré d’une association, en pratique on ne
va jamais au-delà d’une association entre trois entités.
Cinéma Horaire
nom id
ville heureDébut
rue heureFin
numéro
no
*
Salle Film
Séance
id
capacité
titre
dateConstr. année
tarif
genre
35 07/06/2024
figure 11: Association ternaire représentant les séances
4. Entités Généralisées
Horaires
14 h−16h 16 h−18h
Films
Salles
Vertigo
Salle Kino−3
Cinéma Horaire
nom id
ville heureDébut
rue heureFin
numéro
1..1
no
*
*
Salle Séance Film
1..1 * * 1..1 id
capacité id
titre
dateConstr. tarif année
genre
38 07/06/2024
figure 13: L’association Séance transformée en entité
IV. Avantage et inconvénients du modèle E/A
Avantages
Le modèle Entité/Association est simple et pratique.
Il n’y a que 3 concepts: entités, associations et attributs.
Il est approprié à une représentation graphique intuitive, même s’il existe
beaucoup de conventions.
Il permet de modéliser rapidement des structures pas trop complexes.
Inconvénients
o Non déterministe: il n’y a pas de règle absolue pour déterminer ce qui est entité,
attribut ou relation. Exemple: est-il préférable de représenter le metteur en scène
(MES) comme un attribut de Film ou comme une association avec Artiste?
Réponse: comme une association! Les arguments sont les suivants:
• On connaît alors non seulement le nom, mais aussi toutes les autres propriétés
(prénom, âge, ...).
• L’entité MES peut-être associée à beaucoup d’autres films: on permet le
partage de l’information.
39 07/06/2024
IV. Avantage et inconvénients du modèle E/A
Inconvénients
40 07/06/2024
SECTION II
Modèle relationnel