Vous êtes sur la page 1sur 21

Modlisation Entit Association

M. Boughanem

Modle entit association


Concepts de base Entits Associations Proprits Identifiant Cardinalits des rles Exemple Dmarche de conception Passage du modle Entit/Association au modle relationnel

M. Boughanem

Pourquoi le modle Entit Association? dmarche de construction d une BD


Pour construire une base de donnes, il faut 1. Construire un schma conceptuel, modlis sous forme dentits et dassociations 2. transformer le schma E/A en schma relationnel 3. Mettre en uvre via un SGBD

Interview Document

Modlisation Entit association

Traitement

schma Entit-Association

Rsultat

Transformation en relationnel

Traitement

Schma logique en relationnel

Rsultat

M. Boughanem

Le modle Entit/ Association Concepts de base

LE modle E/A est un Formalisme graphique pour la modlisation de donnes Origine : Travaux de Chen (USA), Tardieu(France), en 74/75 Succs dus :

langage graphique concepts simples : Choses (objets)->entits liens entre les choses (objets)-> association regroupement des choses de mme nature : classes dentits, classes dassociation.

M. Boughanem

Entits

Une entit : est un objet, un vnement, un lieu, une personne, , une chose, identifiable sans ambigut

Exemple : le cinma ABC, le cinma le GAUMONT, lacteur Woody Allen, le film le bonheur est dans le pr , le film coups de feu sur Broadway , 37.2

Classe dentits : cest un regroupement dentits de mme nature. Un ensemble dentits


Exemple : Cinma, Acteurs, Films, etc. Formalisme de classe d entit : reprsentation graphique

Nom de la classe d Entits

Exemple de 4 classes dentits : FILMS, CINEMA, ACTEURS, REALISATEURS CINEMA REALISATEURS

FILMS

ACTEURS

Une entit est une valeur particulire dune classe dentits. Nous nous intressons bien sr la classe dentits

M. Boughanem

Associations

Une association : Cest un lien entre 2 ou plusieurs entits

Exemple :
woody allen a jou dans Coups de feu sur brodway Tannenbaum a crit louvrage Rseaux Informatique

Classe dassociation :

Cest un lien entre 2 ou plusieurs classes dentits. Exemple : Jouer (entre FILMS et ACTEURS), Affiche(entre CINEMA et FILMS),. REALISE (entre REALISATEURS et FILMS) Chaque Entit joue un rle dans une association Formalisme graphique

Nom de l association

Exemple ACTEURS

Rle
JOUE

Rle FILMS

Nous nous intressons bien sr la notion de classe dassociations, qui regroupe toutes les associations possibles entre deux entits
M. Boughanem 6

Convention

Souvent pour simplifier les choses :

On parle dentit pour dsigner une classe dentits et dassociation pour dsigner une classe dassociation

M. Boughanem

Proprits = Attributs

Proprit :

une donne lmentaire que l on peroit sur une entit ou une association Exemple : Pour les entits
Nom, prnom pour lentit ACTEURS Titre et Metteur en scne pou FILMS Nom et Adresse Pour CINEMA

Formalisme graphique

ACTEURS Nom Prnom

CINEMA Nom Adresse

FILM Titre Metteur_En_ scne

Pour les associations : FAIRE ATTENTION, les proprits que lon met dans une association doivent obligatoirement relier les entits
Par exemple le Rle dun acteur. Le rle relie, un acteur et le film dans lequel il a jou Graphiquement cela donne

JOUE Rle

M. Boughanem

Proprits

Schma global

ACTEURS
Nom Prnom

JOUE
Rle

FILMS
Titre Metteur_en _scne

REALISE

AFFICHE
REALISATEURS

Date

Nom Prnom

CINEMA
Nom Adresse

M. Boughanem

Identifiant

Objectif : chaque occurrence doit pouvoir tre repre de manire unique et sans ambigut, pour tre distingue de toutes les autres Identifiant : proprit ou groupe de proprits dont la valeur identifie sans ambigut une entit ou une liaison dune classe (identifiant=cl primaire). Identifiant d une classe dentits :

Attributs ou groupe dattributs qui permet de reprer une occurrence de manire unique. On souligne lidentifiant. Un seul identifiant. On privilgie lidentifiant le plus court, le plus naturel (nbon de commande, n tudiant,) On peut crer un identifiant artificiel par commodit. Dans le cas de notre exemple il est intressant de crer un identifiant artificiel pour chaque entit Identifiant non variable dans le temps.

Identifiant dune association :

implicite, obtenu en juxtaposant les identifiants des entits qui participent la liaison.

M. Boughanem

10

Exemple

Schma global

ACTEURS

JOUE NumActeur

FILMS

NumActeur Nom Prnom

NumFilm, Rle

NumFilm Titre Metteur_en _scne

REALISE NumReal NumFilm


REALISATEURS

AFFICHE NumCinma NumFilm Date

NumReal Nom Prnom

CINEMA

NumCinma

Attention : souvent quand une date figure dans une association, elle fait partie de la cl

Nom Adresse

M. Boughanem

11

Typologie des associations : cardinalits des rles (1)


Une association permet de relier, une ou plusieurs entits. Le rle dtermine la faon dont les entits sont relies. 3 types dassociation

De 0,1 : une entit de A peut tre relie aucune ou une seule entit de B

0,1

De 1,1 : une entit de A est relie une seule entit de B

1,1

De 0 plusieurs (0,N) : une entit de A peut tre relie aucune ou plusieurs entits de B

0,N

De 1 plusieurs (1,N) : une entit de A peut tre relie une ou plusieurs entits de B

1,N

M. Boughanem

12

Typologie des associations : cardinalits des rles (2)

Le rle dune association est dfini par deux nombres (min,max) reprsentant le nombre de fois minimum et le nombre de fois maximum qu une entit participe une association. Les valeurs possibles sont : (0,1), (1,1); (0,N), (1,N)
min, max min, max

Min : Correspond la rponse la question :

combien de fois au moins une entit de A est reli une entit de B combien de fois au plus une entit de A est reli une entit de B

Max : correspond la rponse la question :

Attention ces questions, il faut les poser dans les deux sens de A vers B puis de B vers A.

M. Boughanem

13

Exemple (1)

Schma globale (voir commentaires)

ACTEURS

1,N

JOUE NumActeur

0,N

FILMS

NumActeur Nom Prnom

NumFilm, Rle 1,1

NumFilm Titre Metteur_en _scne

REALISE NumReal NumFilm


REALISATEURS

AFFICHE NumCinma NumFilm Date

NumReal Nom Prnom

CINEMA

NumCinma Nom Adresse

M. Boughanem

14

Exemple (2)
Commentaires : Acteurs vers Films : le rle 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 nayant pas dacteurs, possible si cest un film documentaire (N) : un film peut avoir plusieurs acteurs De Films vers Ralisateurs : Un film a au moins un ralisateur min=1 dailleurs souvent Il y a au plus un ralisateur (max=1). Un film a un seul ralisateur Exercice : complter le schma ?

M. Boughanem

15

Rgles de compltude

Chaque classe d objets (entit , association, attribut) doit possder toutes les proprits requises par le modle EA. Pour une entit

Un nom Une liste d attributs Un identifiant Un nom La liste des entits qui participent l association Les rles et leur cardinalit La liste des attributs (ventuellement)

Pour une association


M. Boughanem

16

Dmarche de conception

Identifier les entits les plus naturelles (sujets, complments) Identifier les associations entre ces entits ( verbes nexprimant pas de dpendances fonctionnelles) . Identifier les attributs et les identifiant de ces entits et de ces association (complments de verbe exprimant des dpendances fonctionnelles). Exprimer les cardinalits et les rles (distinguer le singulier du pluriel). Enumrer des CI (Contraintes d Intgrit).

M. Boughanem

17

Lien entre le modle Entit Association et le modle relationnel

Modle E/A Association; Entit Proprit Identifiant

Modle relationnel Table(relation) Attribut Cl Primaire

M. Boughanem

18

Passage dun schma Entit/Association un Schma Relationnel (1)

Etape 1 : Toute classe dentits du diagramme entit/association est reprsente par une relation dans le schma relationnel quivalent. La cl de cette relation est lidentifiant de la classe dentits correspondante.
ACTEURS

NumActeur Nom Prnom

ACTEURS(NumActeur,Nom, Prnom)

Etape 2 : Toute classe dassociation est transforme en relation. La cl de cette relation est compose de tous les identifiants des entits participantes.

JOUE NumActeur NumFilm, Rle IMPORTANT : NumActeur et NumFilm sont des cls trangres dans JOUE

JOUE(NumActeur,NumFilm, Rle)

M. Boughanem

19

Passage dun schma Entit/Association un Schma Relationnel (2)

Etape 3 (optimisation) : Toute classe dassociations relie une classe d entits avec une cardinalit de type 0,1 ou 1,1 peut tre fusionne avec la classe d entits. Dans ce cas on dplace les attributs de la classe d associations vers ceux de la relation traduisant la classe d entits.

Notre schma peut tre optimis car il contient une association de type 1,1. A lissue de ltape de 2 de notre transformation nous aurons donc :

ACTEURS(NumActeur, Nom, Prnom) FILMS(NumFilm, Titre, MetteurEnScne) CINEMA(NumCinma, Nom, Adresse) REALISATEURS(NumReal,Nom, Prnom) JOUE(NumACteur, NumFilm, Rle) AFFICHE(NumFilm, NumCinema,Date) REALISE(NumFilm,NumRal)

Loptimisation dit :

La table qui traduit lassociation REALISE na pas lieu dtre. Il faut lliminer. On dplace les attributs de REALISE (NumFilm et NumReal) vers ceux de FILMS (ct duquel jai (1,1)). La table Films devient alors FILMS(NumFilm, Titre, MetteurEnScne,NumReal) Attention : mettre NumFilm une seule fois.

M. Boughanem

20

Passage dun schma Entit/Association un Schma Relationnel (3)

Rsultat le schma Final de la base de donnes est :

ACTEURS(NumActeur, Nom, Prnom) FILMS(NumFilm, Titre, MetteurEnScne,NumReal) CINEMA(NumCinma, Nom, Adresse) REALISATEURS(NumReal,Nom, Prnom) JOUE(NumACteur, NumFilm, Rle) AFFICHE(NumFilm, NumCinema,Date)

M. Boughanem

21