Le modèle Entité/Association
Mehdi HAJJI [email protected]
Conception BD – II2
Introduction Le modèle E/A ou Entités-Associations est un modèle conceptuel de données de haut niveau (d’abstraction). Origine : Travaux de Chen (USA), Tardieu(France), en 74/75 Il permet la structuration des données issues du monde réel sous forme d’un ensemble d’objets appelés entités associées entre elles au moyen d’un ensemble d’associations. Ce modèle utilise un formalisme conventionnel de
représentation (diagramme E/A) au moyen duquel on obtient un modèle conceptuel de données (MCD) qui est une représentation graphique de l’univers réel modélisé.
Ainsi, les concepts du modèle E/A sont définis de sorte à représenter au mieux les données à modéliser telles que perçues par l’usager non informaticien.
Le modèle entité/association
-M. HAJJI-
2
Définitions
Entité Définition: “Une entité est une chose concrète ou
abstraite de la réalité perçue à propos de laquelle on veut conserver des informations. Une entité a une existence autonome”.
Exemples: le cinéma ABC, le cinéma le GAUMONT,
l’acteur Woody Allen, le film « le bonheur est dans le pré »
Le modèle entité/association
-M. HAJJI-
3
Définitions
Un attribut “Un attribut est une caractéristique ou une qualité d’une
entité ou d’une association”. Il peut prendre une (ou plusieurs) valeur(s).
Une valeur “Une valeur est un symbole utilisé pour représenter un
fait élémentaire”.
Le modèle entité/association
-M. HAJJI-
4
Entité, attribut et valeur
Exemple d’entité avec ses valeurs d’attribut:
Nom = Matile
e1
Prénom = François, Pierre
Adresse = Genève
Date de naissance = 12 novembre 1955
Le modèle entité/association
-M. HAJJI-
5
Entité, attribut et valeur Les attributs peuvent être:
atomiques.
Ex: Prénom, nom, …
composés.
Ex:
Date de naissance
Jour
Mois
Année
monovalués (une seule valeur pour une entité donnée).
Ex: Nom, Adresse, Date de naissance.
multivalués (plusieurs valeurs pour une entité donnée).
Ex: Prénom, Tél…
Le modèle entité/association
-M. HAJJI-
6
Entité, attribut et valeur Dans un processus de modélisation on ne s’intéresse pas à chaque
entité séparément mais à un type d’entité.
Définition: “Un type d’entité est la classe de toutes les entités de la réalité perçue qui sont de même nature et qui jouent le même rôle”.
Un type d’entité est décrit par:
un nom une définition qui précise la signification que nous voulons retenir de ce
type d’entité dans le cadre de la base de données.
une liste d’attributs
Exemple:
Le type d’entité “auteur” regroupe des personnes auteur d’articles de journaux caractérisées par leur nom, leur prénom, leur adresse et leur date de naissance.
Simplification de la terminologie:
on appellera entité un type d’entité on appellera occurrence d’une entité un individu particulier faisant partie
de l’entité.
Le modèle entité/association
-M. HAJJI-
7
Entité, type d’entité
La description d’une entité est appelée le schéma de
l’entité ou l’intention de l’entité.
L’ensemble des occurrences d’une entité qui existent (dans la base de données) à un instant particulier dans le temps s’appelle l’extension de l’entité.
Le modèle entité/association
-M. HAJJI-
8
Entité, type d’entité
Exemple:
SCHEMA (INTENTION)
AUTEUR Nom, Prénom, Adresse, Date de naissance
OCCURRENCES (EXTENSION)
e1 . (Matilde, François Pierre, Genève, 12 nov 1955) e2 . (Develey, Jacques, Genève, 5 jan 1949) e3 . (Rossel, Serge, Genève, 3 mars 1960) . . .
Le modèle entité/association
-M. HAJJI-
9
Entité: schéma, intention et extension
Remarques:
Le schéma d’une entité ne va pas changer fréquemment car il
décrit la structure de l’entité.
L’extension peut changer souvent: à chaque insertion ou
suppression d’une occurrence d’entité.
Le modèle entité/association
-M. HAJJI-
10
Type de valeur ou domaine d’un attribut
Définition: “Le type de valeur ou le domaine d’un attribut est la spécification de toutes les valeurs possibles que peut prendre un attribut”.
Utilité:
vérifier la validité d’une donnée ultérieurement, estimer la place de stockage des données La spécification d’un type de valeur est donnée soit:
par la liste des valeurs par la propriété que doivent vérifier les valeurs
Exemples:
couleur = {rouge, bleu, jaune, vert} numéro de journal = entier compris entre 1 et 366 nom = chaîne de caractères alphabétiques
Le modèle entité/association
-M. HAJJI-
11
Identifiant d’une entité Contrainte: chaque occurrence d’une entité doit pouvoir être repérée individuellement et distinguée de toutes les autres –> c’est le rôle de l’identifiant.
Définition: “On appelle attributs clé ou identifiant d’une entité un groupe minimal d’attributs et/ou tel qu’à chaque combinaison de valeurs prises par ce groupe correspond au plus une occurence de cette entité”.
L’identifiant est formé d’un ou plusieurs attributs de l’entité à
identifier. Exemples:
le nom de l’éditeur est l’attribut clé de l’entité éditeur. le nom et le prénom de l’auteur sont les attributs clé de l’entité
auteur.
Le modèle entité/association
-M. HAJJI-
12
Représentation graphique du schéma d’une entité selon Chen
Représentée par un rectangle contenant le nom du type de l'entité et entourée par ses attributs. L’identifiant (un ou plusieurs attributs doi(ven)t être souligné(s).
nom
prénom
AUTEUR
date de naissance
adresse
jour
mois
année
Le modèle entité/association
-M. HAJJI-
13
Application Optique: conception d’une base de données destinée à
conserver des descriptions d’articles parus dans les journaux.
Réalité perçue:
Un éditeur édite des journaux. Il est caractérisé par un nom et une
adresse.
Un journal est édité par un éditeur et publie des articles dans ses numéros. On conservera le nom du journal et le nom de son rédacteur en chef.
Un numéro de journal contient une collection d’articles. Chaque article paru dans un numéro est signé par un auteur. On
désire conserver le titre et un résumé de l’article ainsi que le nom de son auteur.
Les auteurs sont connus par leur nom, leur prénom, leur adresse et
leur date de naissance.
Le modèle entité/association
-M. HAJJI-
14
Application
A partir de l’énoncé, Enumérez la liste des entités en
précisant pour chacune : Le nom, La définition, la liste d’attributs et l’identifiant de
l’entité Exemple
Pour une entité: - un nom - une définition
Ex: AUTEUR « Un auteur est une personne qui a écrit au moins un article Paru dans un journal qui Nous intéresse »
- une liste d’attributs
Nom auteur, prénom auteur, adresse auteur
- au moins identifiants
(nom auteur, prénom auteur)
Le modèle entité/association
Mariem FARHAT JAOUANI
-M. HAJJI-
15
16
Application
Et pour chaque attribut, vous spécifiez le nom, la définition, la structure, le domaine de valeurs et si l’attribut est obligatoire ou non,
Pour un attribut: - un nom - une définition
- une structure (atomique ou composé, monovalué ou multivalué)
Ex: adresse auteur « nom de la ville dans laquelle réside l’auteur »
atomique et monovalué
- Un domaine de valeurs
chaîne de caractères
- attribut obligatoire ou
facultatif
facultatif
Le modèle entité/association
-M. HAJJI-
16
Association
Définition: “Une association est une correspondance entre deux ou plusieurs occurrences d’entités à propos de laquelle on veut conserver des informations”.
L’existence d’une association est contingente à
l’existence des occurences d’entités qu’elle met en correspondance.
Chaque occurrence d’entité joue un rôle particulier dans
l’association.
On dit aussi que les occurrences d’entités mises en
correspondance par l’association participent à l’association
Le modèle entité/association
-M. HAJJI-
17
Association
Exemple: L’écriture (association) de l’article “L’ordinateur va-t’il changer notre mode de penser?” par Gustave Moeckli exprime la correspondance qui existe entre Gustave Moeckli et l’article “L’ordinateur...”.
le rôle joué par l’occurrence de l’entité auteur Gustave
Moeckli: il écrit l’article “L’ordinateur...”
le rôle joué par l’occurrence de l’entité article “L’ordinateur...”: il est écrit par Gustave Moeckli.
Le modèle entité/association
-M. HAJJI-
18
Association, type d’association
Définition: “Un type d’association est la classe de toutes
les associations possibles de la réalité perçue qui vérifient la définition constitutive du type”.
Définition constitutive d’un type d’association (schéma): un nom et une liste d’entités (non nécessairement distinctes)
qui participent au type d’association avec leurs rôles respectifs; notation: A(ro1: E1,ro2: E2,..., ron: En)
notation simplifiée: A(E1, E2,..., En) une description qui précise la signification que nous voulons retenir de ce type d’association dans le cadre de la base de données.
Le modèle entité/association
-M. HAJJI-
19
20
Association, type d’association
Exemple: ECRITURE(écrit : AUTEUR, est écrit par : ARTICLE) Le type d’association ECRITURE exprime le fait qu’un
auteur écrit un ou plusieurs articles ou, symétriquement, qu’un article est écrit par un auteur.
Simplification de la terminologie:
on appellera association un type d’association on appellera occurrence d’association toute correspondance qui existe entre deux ou plusieurs occurrences d’entités.
Le modèle entité/association
-M. HAJJI-
20
Extension d’une association
L’ensemble des occurrences d’une association qui existent (dans la base de données) à un instant particulier dans le temps s’appelle l’extension de l’association.
Le modèle entité/association
-M. HAJJI-
21
Extension d’une association
Exemple: une extension de l’association “écriture”
Le modèle entité/association
-M. HAJJI-
22
Représentation graphique du schéma d’une association
Représentées par un losange contenant le nom de
l'association
Souvent nommé par un verbe ou un substantif Les entités participantes de chaque association sont
Publicité
rattachées à l'association au moyen de lignes continues. Chacune de ces lignes est étiquetée par la cardinalité et
les rôles des entités.
Entité 2
Rôle E2 (min, max)
Nom assocication
Rôle E1 (min, max)
Entité 1
Le modèle entité/association
-M. HAJJI-
23
24
Représentation graphique du schéma d’une association
Personne
Propriétaire
Possède
Possédée
Voiture
Fournisseur
Vend
Produit
Vendeur
Vendu
Le modèle entité/association
-M. HAJJI-
24
Représentation graphique du schéma d’une association
Le lien (l’arc) n'est pas orienté : les commandes
comportent des produits veut dire également que les produits peuvent être commandés.
Commande
Comporte
Possède
Est commandé
Produit
Le modèle entité/association
-M. HAJJI-
25
Autre formalisme
Entité
Nom de la classe d’entités
Association
Nom de l’association
Le modèle entité/association
-M. HAJJI-
26
Autre formalisme
ACTEURS
RÔLE
RÔLE
FILMS
JOUE
Le modèle entité/association
-M. HAJJI-
27
Degré d’une association
Degré d’une association: nombre d’entités qui participent
à une association
cas fréquent: degré 2 (association binaire) qui relie deux
entités.
Exemple : l’association écriture relie les deux entités
Article et Auteur; elle est dite binaire.
Auteur
Ecrivain
Possède
A été écrit
Article
Le modèle entité/association
-M. HAJJI-
28
Cardinalité d'une association
One to one
Personne
1
Habite
Habite
1
Adresse
Est habité par
One to many
Personne
N
Possède
1
Voiture
Possède
Est possédé par
Many to many
Vendeur
N
Vend
Vend
M
Produit
Vendu par
Le modèle entité/association
-M. HAJJI-
29
Cardinalité (min,max)
But: exprimer le nombre minimum et le nombre
maximum de participations de chaque occurrence d’entité à une association.
Exemple:
on exprime la contrainte que tous les auteurs doivent écrire au moins un article. On écrira min=1 et max=N (N veut dire nombre indéterminé).
on exprime la contrainte que tout article doit être écrit par
un et un seul auteur. On écrira min=1 et max=1.
Le modèle entité/association
-M. HAJJI-
30
Cardinalité (min,max)
Plus généralement: Soit A(ro1: E1, ro2: E2,..., ron: En) une association. La contrainte de cardinalité de A est définie par un ensemble de couple (mini, maxi) 1≤ i ≤n.
Mini: indique le nombre minimum de fois, qu’à tout
moment toute occurrence de Ei doit assumer le rôle roi.
Maxi: indique le nombre maximum de fois qu’à tout
moment toute occurrence de Ei peut assumer le rôle roi.
Le modèle entité/association
-M. HAJJI-
31
30
Cardinalité (min,max)
Valeur
mini = 0
mini = 1
maxi = k (k>1) maxi = N
Signification
Toute occurrence de Ei peut exister indépendamment de A; on parle de participation partielle de Ei à A aucune occurrence de Ei ne peut exister indépendamment de A; on parle de participation totale de Ei à A toute occurrence de Ei assume au plus k fois le rôle roi toute occurrence de E peut assumer un nombre non limité de fois le rôle roi
(min,max) (0,2)
Personne
conduire
(min,max) (1,n)
Voiture
Le modèle entité/association
-M. HAJJI-
32
Cardinalité (min,max)
Valeur
mini = 0
mini = 1
maxi = 1 maxi = N
Signification
Toute occurrence de Ei peut exister indépendamment de A; on parle de participation partielle de Ei à A aucune occurrence de Ei ne peut exister indépendamment de A; on parle de participation totale de Ei à A toute occurrence de Ei assume au plus 1 fois le rôle roi toute occurrence de Ei assume au plus une fois le rôle roi
(min,max) (0,n)
Personne
possède
(min,max) (1,1)
Voiture
Le modèle entité/association
-M. HAJJI-
33
Représentation graphique du schéma d’une association
Exemple: association “écriture”
Une occurrence de l’entité auteur a écrit au moins une fois Une occurrence de l’entité auteur a écrit au plus N fois Une occurrence de l’entité article a été écrite au moins une fois Une occurrence de l’entité article a été écrite au plus une fois
Le modèle entité/association
-M. HAJJI-
34
Instance de l’association « écriture »
AT1
AT2
AT3
AT4
Le modèle entité/association
E1
E2
E3
E4
E5
E6
E7
E8
E8
AR1
AR2
AR3
AR4
AR5
AR6
AR7
AR8
-M. HAJJI-
35
Application
Donnez le rôle de chaque entité qu’elle joue dans
l’association.
Expliquez la cardinalité (min, max) de chaque entité en donnant un exemple et déduire le type de l’association.
Ville
(1,1)
capitale
(1,1)
Pays
Journaliste
(1,N)
travaille
(1,N)
Journal
Le modèle entité/association
-M. HAJJI-
36
Application
Le modèle entité/association
-M. HAJJI-
37
Application
Acteurs vers Films : le rôle de type 1,N (1) un acteur a joué dans au moins un film (N) un acteur peut avoir joué dans plusieurs films
De Films vers Acteurs 0,N:
(0) : un film n’ayant pas d’acteurs, possible si c’est un film
documentaire
(N) : un film peut avoir plusieurs acteurs
De Films vers Réalisateurs :
Un film a au moins un réalisateur min=1 d’ailleurs souvent Il y a au plus un réalisateur (max=1). Un film a un seul
réalisateur
Le modèle entité/association
-M. HAJJI-
38
Application
Selon le schéma suivant
Est-ce qu’: un patient peut effectuer
plusieurs visites,
un médecin peut recevoir plusieurs patients pendant la même consultation,
un médecin peut prescrire plusieurs médicaments lors d'une même consultation, deux médecins différents
Publicité
peuvent prescrire le même médicament, Le modèle entité/association
-M. HAJJI-
39
Attributs d’une association
Une association peut avoir ses attributs propres Exemple:
le nombre de médicament qui a été prescrit dans une
consultation
Notation:
Prescrit(prescrit : consultation, a été prescrit :
médicament, nbrPrise)
Le modèle entité/association
-M. HAJJI-
40
40
Exemple
Code
NbrPrise
Numéro
Médicament
préscrit
Consultation
Date
Le modèle entité/association
-M. HAJJI-
41
Application
Schématisez les associations suivantes:
Un joueur peut participer dans plusieurs matchs et gagner. On souhaite enregistrer les matchs joués et ceux qui ont été gagné ainsi que le score.
Un joueur peut participer dans plusieurs matchs, il peut perdre ou gagner, on souhaite enregistrer le total des scores des matchs qu’il a joués.
Un joueur peut participer dans plusieurs matchs, on souhaite enregistrer la date de chaque match joué.
Le modèle entité/association
-M. HAJJI-
42
Identification d’une association
L’identifiant est implicite. Par définition, une association est identifiée par
l’ensemble des rôles assumés par les entités qu’elle met en correspondance.
Exemple:
ECRITURE(écrit: AUTEUR, est écrit par: ARTICLE) Identifiant: (écrit: AUTEUR, est écrit par: ARTICLE)
Le modèle entité/association
-M. HAJJI-
43
Cas particulier
Association (lien) réflexive Association entre plusieurs entités (plus que deux) Plusieurs associations entre deux entités
Le modèle entité/association
-M. HAJJI-
44
Association (lien) réflexive
Appelée aussi cyclique ou récursive Une association "réflexive" est une association qui lie des occurrences d'une même entité entre elles (c'est un cas particulier de la dimension 2)
Exemple:
FILIATION(père: PERSONNE, fils: PERSONNE) où dans une occurrence d’association une personne peut assumer un des deux rôles père ou fils.
Le modèle entité/association
-M. HAJJI-
45
Représentation graphique d’une association réflexive
Est père de
Personne
préscrit
Est fils de
Le modèle entité/association
-M. HAJJI-
46
Association entre plusieurs entités (plus que deux)
On peut envisager des associations entre plus de deux
entités
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.
Quelques difficultés:
elles sont plus difficiles à comprendre, et surtout la
signification des cardinalités devient beaucoup plus ambigue.
La définition des contraintes
Le modèle entité/association
-M. HAJJI-
48
Association entre plusieurs entités (plus que deux)
Exemple: un film peut être projeté dans plusieurs salle à
certains horaires différentes
Chaque instance de cette association lie un film, un
horaire et une salle.
les cardinalités sont, implicitement, (0,N). Il n’est pas
possible de dire qu’une entité ne participe qu’une fois à l’association.
horaire
Film
projeté
Salle
Le modèle entité/association
-M. HAJJI-
49
Association entre plusieurs entités (plus que deux)
elle ne permet pas d’imposer certaines contraintes
comme, par exemple, le fait que dans une salle, pour un horaire donné, il n’y a qu’un seul film. Comme le montre la figure il est tout à fait possible de créer deux liens distincts qui s’appuient sur le même horaire et la même salle.
Le modèle entité/association
-M. HAJJI-
50
50
Association entre plusieurs entités (plus que deux)
Les associations de degré supérieur à deux sont donc difficiles à manipuler et à interpréter. Il est toujours possible de remplacer cette association par un type d’entité.
Film
(1,n)
projection
horaire
(1,n)
réalisé
(1,1)
Séance
(1,1)
(1,1)
Salle
(1,n)
S’effectue
Le modèle entité/association
-M. HAJJI-
51
Association entre plusieurs entités (plus que deux)
Soit A une association entre les types d’entité (E1, E2,
…). La transformation de A en type d’entité s’effectue en trois étapes :
1. On attribue un identifiant à A. 2. On crée une association Ai de type (1,n) entre A et
chacun des Ei. La contrainte minimale, du côté de A , est toujours à 1.
3.
Le modèle entité/association
-M. HAJJI-
52
Association entre plusieurs entités (plus que deux)
On reprend l'exemple précédent: L’association projection peut être transformée en un type d’entité Séance. On lui attribue un identifiant idSeance et des associations (1,n) avec Film, Horaire et Salle.
Le modèle entité/association
-M. HAJJI-
53
Autre exemple
Le modèle entité/association
-M. HAJJI-
54
Plusieurs associations entre deux entités
On peut définir plusieurs associations
entre deux entités qui vont faire correspondre différentes occurrences Exemple: Entre deux entités personnes
et voiture on peut définir Association ‘possède’ qui fait correspondre
Personne
(0,n)
(0,n)
chaque personne aux voitures qu’ils possèdent
Possède
Conduit
Association ‘conduire’ qui fait correspondre chaque personne aux différentes voitures qu’il peut conduire
(1,n)
Voiture
Le modèle entité/association
-M. HAJJI-
55
Exemple
P1 P2 P3 P4 P5 P6 P7 P8 P9
Po1 Po2 Po3 Po4
C1 C2 C3 C4 C5
V1 V2 V3 V4 V5 V6 V7
Le modèle entité/association
-M. HAJJI-
56
Exemple
Le modèle entité/association
-M. HAJJI-
57
Application: est-ce un bon modèle? Analyser ce schéma et discuter
ses cardinalités. Est-ce qu’un tournoi permet les
matchs de double?
Est-ce que les joueurs peuvent gagner des matchs auxquels ils n'ont pas participé
Est-ce que deux matchs
différents peuvent se dérouler sur le même terrain à la même heure
pensez vous que ce modèle soit un bon modèle pour la gestion d'un tournoi de tennis?
Le modèle entité/association
-M. HAJJI-
58
Application Un avion a un numéro d'immatriculation, un type et une localisation (la ville de l'aéroport d'attache de l'avion). Chaque type d'avion est décrit par son nom (Boeing 747, Airbus A340 ...), son poids, sa capacité et son rayon d'action.
Un technicien de la compagnie a un nom, un matricule, une adresse (la ville de résidence), un numéro de téléphone, un salaire et est expert sur un ou plusieurs types d'avion pendant une période donnée (date début et date fin).
Un pilote est décrit par les mêmes attributs qu'un technicien. De plus il
doit passer un examen médical annuel.
Chaque avion doit également passer un certain nombre de tests de bon
fonctionnement.
Chaque test a un numéro qui l'identifie, un nom et une valeur minimale (un seuil à atteindre). Nous souhaitons conserver la date et l'état de chacun des tests.
Chaque vol est commandé par un seul pilote et concerne un seul avion. Un vol a une ville de départ (ville_dep) une ville d'arrivée (ville_arr) et une heure de départ (h_dep) une heure d'arrivée (h_arr)
Le modèle entité/association
-M. HAJJI-
59
Application
Le modèle entité/association
-M. HAJJI-
60
Application
Un éditeur édite des journaux. Il est caractérisé par un
nom et une adresse.
Un journal est édité par un éditeur et publie des articles dans ses numéros. On conservera le nom du journal et le nom de son rédacteur en chef.
Un numéro de journal contient une collection d’articles. Chaque article paru dans un numéro est signé par un auteur. On désire conserver le titre et un résumé de l’article ainsi que le nom de son auteur.
Les auteurs sont connus par leur nom, leur prénom, leur
adresse et leur date de naissance.
Le modèle entité/association
-M. HAJJI-
61
Application
A partir de l’énoncé, Enumérez la liste des associations en
précisant pour chacune :
Le nom, La définition, la liste des entités qui participent,
les rôles et les cardinalités et la liste des attributs
Exemple
Le modèle entité/association
-M. HAJJI-
62
Notion d’entité faible
Certaines entités dites "faibles" n'existent qu'en référence
à d'autres entités dites « forte ».
Une entité de type faible, également appelée entité non identifiée, possède une clé locale (appelée identifiant relatif) qui permet d'identifier une de ses occurrences parmi l'ensemble des occurrences associées à une occurrence de l'entité identifiante.
La clé complète d'une entité faible est la concaténation
de la clé de l'entité identifiante et de sa clé locale.
Le modèle entité/association
-M. HAJJI-
63
Exemple
L'entité Tâche est complètement dépendante de l'entité Projet et sa clé locale (No_tâche) n'est pas suffisante à l'identifier de façon absolue.
NomProjet
N°tâche
N°Projet
Projet
Publicité
(1,n)
contenir
(1,1)
Tâche
duréeProjet
N°Projet
NomTâche
Remarque: La cardinalité du rôle de l’entité faible au sein
de l’association est (1,1)
Le modèle entité/association
-M. HAJJI-
64
Contraintes d’intégrité
But: spécifier des propriétés sémantiques du réel perçu
qui ne sont pas exprimables avec le modèle E.A.
Définition: “Une contrainte d’intégrité (C.I.) est une propriété non représentée par les concepts de base du modèle E.A. que données appartenant à la base de doivent satisfaire les données”.
Effet:
limiter les occurrences possibles des
structures
d’information.
Le modèle entité/association
-M. HAJJI-
70
Contrainte d’intégrité statique / dynamique
Statique: propriété qui doit être vérifiée à tout moment. Ex.
un auteur doit écrire au moins un article (cardinalité) date de mariage d’une personne >date de naissance Dynamique: propriété que doit respecter tout
changement d’état de la base de données –> définit les séquences possibles des changements d’état de la BD
Ex.
le salaire d’un employé ne peut que croître
Le modèle entité/association
-M. HAJJI-
71
70
C.I. statiques obligatoires Elles complètent obligatoirement la description d’un
schéma.
3 types de C.I. obligatoires : identification, cardinalité,
attribut obligatoire ou facultatif.
1. Contrainte d’identification:
Toute entité ou association doit avoir un identifiant: il permet de repérer de manière univoque chaque occurrence de ce type.
2. Contrainte de cardinalité(ou de connectivité):
Définit le nombre minimum et le nombre maximum de
participations de chaque occurrence d’entité à une association.
3. Attribut obligatoire ou facultatif
Le modèle entité/association
-M. HAJJI-
72
71
Notion de sous-typage
Si l’entité F est un sous-type de l’entité E, alors toutes les occurrences de F sont aussi des occurrences de E dont elles héritent les attributs et les associations auxquelles participe E.
Pour des raisons de simplicité, nous considérons qu’une
entité ne peut avoir qu’un seul sur-type. Corollaire: la structure des sous-types constitue une
arborescence.
La contrainte de sous-typage est dérivée du mécanisme
d’abstraction de généralisation et de spécialisation
Le modèle entité/association
-M. HAJJI-
73
Exercice 1. Bibliothèque La Bibliothèque d'un syndicat intercommunal consiste en 5 centres de prêt. Ces centres disposent d’ordinateurs personnels interconnectés qui doivent permettre de gérer les emprunts.
L'interview des bibliothécaires permet de déterminer les faits suivants :
une personne qui s'inscrit à la bibliothèque verse une caution. Suivant le montant
de cette caution elle aura le droit d'effectuer en même temps de 1 à 10 emprunts ;
les emprunts durent au maximum 15 jours ; un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son
titre, son éditeur et son (ses) auteur(s) ;
on veut pouvoir obtenir, pour chaque abonné les emprunts qu'il a effectué
(nombre, numéro et titre du livre, date de l'emprunt) au cours des trois derniers mois ;
toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse de l’abonné, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s) ; on veut enfin pouvoir connaître pour chaque livre sa date d'achat, son état et s'il
est disponible dans quel centre.
Le modèle entité/association
-M. HAJJI-
74
Exercice 1. Bibliothèque
Livre
numéro titre auteur centre éditeur état date-achat-jour date-achat-mois date-achat-année
Emprunt
date-emprunt-jour date-emprunt-mois date-emprunt-année date-retour-jour date-retour-mois date-retour-année
Abonné
numéro nom prénom caution adresse-rue adresse-ville adresse-NPA
Contraintes d’intégrité
Pour chaque occurrence d’Emprunt si la date-retour existe, alors elle doit être supérieure
à la date-emprunt.
Pour chaque occurrence de Livre, la date-achat doit être inférieure à la date-emprunt de
toutes les occurrences d’Emprunt qui lui sont liées.
Pour chaque occurrence de Livre, si l'attribut centre est vide alors la première occurrence
de Emprunt qui lui est liée a son attribut date-retour vide, et vice-versa.
Le modèle entité/association
-M. HAJJI-
75
Exercice 2. Editeur Un éditeur souhaite installer une base de données pour
mémoriser les informations suivantes : les livres sont identifiés par leur numéro ISBN. Un livre possède un titre et un prix de vente. Il est écrit par un ou plusieurs auteurs.
Chaque livre est tiré en une ou plusieurs éditions, datées et
identifiées par leur ordre (première édition, seconde édition, etc.). Chaque édition comporte un certain nombre d'exemplaires. Le prix de vente peut changer d'une édition à l'autre. Un livre peut être primé (Goncourt, Fémina etc.). les auteurs sont identifiés par leur nom et prénoms et peuvent avoir un pseudonyme. Pour chaque livre, un auteur perçoit des droits d'auteur annuels, calculés comme un pourcentage des ventes (il est aussi fonction du nombre d'auteurs).
les libraires (identifiés par leur nom et adresse complète) commandent des livres en précisant l’édition et le nombre d’exemplaires désiré.
Le modèle entité/association
-M. HAJJI-
76
Exercice 2. Editeur
Auteur
nom prénoms pseudonyme
Droits
année montant
Livre
no-ISBN titre prix-littéraire-nom prix-littéraire-prénom
Paru
Librairie
nom adresse-rue adresse-ville adresse-NPA
Commande qté date-jour date-mois date-année
Edition
numéro année nb-exempl prix-vente
Le modèle entité/association
-M. HAJJI-
77
Exercice 3. Les courses de chevaux Un parieur assidu des champs de courses et des bases de données, voudrait
mémoriser dans une base de données les courses de chevaux, les paris qu'il a faits et les résultats. Plus précisément, il veut enregistrer les informations suivantes pour chaque course:
le nom et la date (exemple: Prix d'Amérique, 21-07-2004) le numéro, le nom et la cote des chevaux partants (exemple: <1, Salicorne, 20/1>, <2, Solstice, 8/1>, <3, Samovar, 17/1> ...) ses paris, avec pour chacun: le type de pari (couplé, tiercé, quarté, quinté ...) la somme jouée et les numéros de chevaux dans l'ordre du pari (exemple: <tiercé, 20 Frs, 13-2-8>)
Une fois la course jouée, on enregistre aussi :
le résultat : l'ordre d'arrivée des chevaux (exemple: <1er, 13>, <2ème, 8>, <3ème, 14>, ...) et les rapports pour chacun des types de pari (exemple: <tiercé dans l'ordre, 900 Frs>, <tiercé dans le désordre : 112 Frs>, <quarté dans l'ordre : 5430 Frs>, <quarté dans le désordre : 750 Frs> ...) le gain total du parieur pour la course.
Les noms de chevaux sont uniques, et les noms de courses sont uniques (à un
instant donné).
Proposer deux diagrammes entité-association, l'un contenant un seul type
d'entité (Course), l'autre en contenant plusieurs (Course, Cheval...) ainsi que des types d'association. Préciser les contraintes d'intégrité.
Le modèle entité/association
-M. HAJJI-
78
Exercice 3. Les courses de chevaux
Possède
Course
nom date
Concerne
Rapports
montant-ordre montant-désordre type
Participe num cote place-arrivée
Pari
type somme
Cheval
nom
Contient
Le modèle entité/association
-M. HAJJI-
79
Exercice 3. Les courses de chevaux
Contraintes d’intégrité
Pour chaque valeur de l’attribut rapports, la valeur de l’attribut
montant-désordre doit être inférieure à celle de l’attribut montant-ordre.
Le domaine de l'attribut type est {"tiercé", "quarté", "quinté"}. Pour chaque occurrence de Pari, le nombre d'occurrences de Contient doit être de 3 si type="tiercé", de 4 si type="quarté", de 5 si type="quinté"
Le modèle entité/association
-M. HAJJI-
80
Exercice 4. Club Vidéo
Dix magasins de location de cassettes vidéo se sont regroupés pour mettre en commun les
cassettes dont ils disposent et ont fondé un club de location.
A la suite d'une rencontre avec les représentants de ce club, il ressort que chaque point de vente disposera d'un ordinateur personnel relié à un site central et qu'il faudra pouvoir prendre en compte les éléments suivants:
un client qui s'inscrit au club verse une caution. Suivant le montant de cette caution il aura le droit d'emprunter en même temps de 1 à 6 cassettes; les cassettes empruntées doivent être retournées dans un délai de 3 jours dans n'importe quelle boutique du club; plusieurs cassettes peuvent contenir le même film; un film est rattaché à un genre cinématographique (défini par un nom et le type de public auquel il est destiné). Il est caractérisé par sa durée, son réalisateur et la liste des acteurs principaux; une location n'est permise que si le client est en règle (pas de dépassement du nombre d'emprunts maximum, pas de cassette en retard); la consultation d'un client permettra d'obtenir son nom, son adresse, son nombre d'emprunts en cours, la liste des numéros de cassettes et des titres qu'il a actuellement empruntés; la consultation d'un genre permettra d'obtenir la liste des films de ce genre disponibles dans un magasin donné; périodiquement, on veut obtenir la liste des retardataires; on veut pour chaque cassette non retournée à temps les informations suivantes : nom et adresse du client, date de l'emprunt, numéro(s) de cassette et titre du (des) film(s) concerné(s); on veut pouvoir connaître pour chaque cassette (identifiée par une numérotation commune aux dix magasins) où elle est, quand elle a été mise en service, quel film y est enregistré, combien de fois elle a déjà été louée, et quel est son état (de très bon à mauvais).
Le modèle entité/association
-M. HAJJI-
81
Exercice 4. Club Vidéo
Cassette
numéro magasin date-achat nb-locations état
Contient
Film
genre-nom genre-type réalisateur
Emprunt date-jour date-mois date-année
Client
nom prénom caution adresse-num adresse-rue adresse-ville adresse-code-post
Acteurs
Liste
nom-acteur
Le modèle entité/association
-M. HAJJI-
82
Exercice 5. Club sportif
Le club sportif d’une école veut enregistrer les informations sur ses adhérents. Il lui importe de connaître, pour chaque adhérent, le nom et prénom, la date de naissance, la commune et canton de naissance, la section et année d'études (pour le étudiants), le département (pour les enseignants), le service (pour les administratifs). On veut aussi connaître les années d'adhésion précédentes, les sports pratiqués pour l'année en cours ainsi que le niveau de l'adhérent dans chacun de ces sports.
Proposer deux diagrammes entité-association, l’un sans
lien de généralisation/spécialisation, l’autre avec.
Le modèle entité/association
-M. HAJJI-
83
Exercice 5. Club sportif
Sans liens de généralisation/spécialisation
Adhérent
nom prénom année-adhésion date-nais-jour date-nais-mois date-nais-année adresse-code-post lieu-nais-canton lieu-nais-commune sport-type sport-niveau inscription-section inscription-année service département
Le modèle entité/association
-M. HAJJI-
84
Exercice 5. Club sportif
Avec liens de
généralisation / spécialisation
Adhérent
nom prénom année-adhésion date-nais-jour date-nais-mois date-nais-année adresse-code-post lieu-nais-canton lieu-nais-commune sport-type sport-niveau
Etudiant
Enseignant
Administratif
section année
département
service
Le modèle entité/association
-M. HAJJI-
85
Merci…
Le modèle entité/association
-M. HAJJI-
86