Le modèle Entité/Association

Database Design, Data Modeling · course

Voir tous les documents en bases de données

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