Vous êtes sur la page 1sur 12

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.

fr

- Sance 2 -

Conception des bases de donnes : Modle Entit-Association


La modlisation dun problme, cest--dire le passage du monde rel sa reprsentation informatique, se dfinit en plusieurs tapes pour parvenir son intgration dans un SGBD-R et permettre la manipulation des donnes par le langage SQL. Classiquement, le processus de modlisation des donnes passe par deux phases : - Ralisation dun modle conceptuel - Traduction en un modle relationnel Le premier niveau de modlisation, dit conceptuel, consiste en une phase danalyse du problme rel. Cette phase est assez dlicate et permet de dfinir les donnes utiliser, leur mode dvolution dans le temps et les relations entre elles. Cest le moment o lon se pose les questions essentielles comme celle de savoir quel usage on destine le modle informatique que lon est entrain de constituer. Ce travail est ralis par des spcialistes de lanalyse. Il sexprime dans un formalisme de type entit-association. Il existe dautres types de formalismes comme le formalisme UML ou Merise (cf. ANNEXE). Le second niveau de modlisation, dit relationnel, conduit laborer lensemble des objets manipulables par un SGBD-R. Ce travail est souvent ralis par larchitecte de donnes, ou un administrateur de SGBD. Il peut tre dcoup en deux tapes : - la conception de modle logique (reprsentation en tables indpendantes du SGBD) - la traduction en un modle physique (propre un SGBD spcifique). Tous les SGBD nont pas les mmes caractristiques du langage SQL.

1. Le Modle Conceptuel de donnes (MCD)


Un schma conceptuel reprsente : - Les faits et les vnements qui dcrivent le monde modliser. Exemple : une compagnie arienne, ses avions et ses pilotes. - Certaines contraintes. Exemple : un pilote ne doit vole que sil dtient une licence en cours de validit et une qualification correspondant au type davion. Les diffrentes techniques de MCD : - Entit-Association (en anglais E-R pour Entity Relationship) - Modle binaire - Modle Z 1

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

Un MCD est un diagramme avec des entits et des associations que nous voyons dans la section suivante. Pour raliser un tel digramme, il faut saider doutils graphiques informatiques spcialiss (particulirement dans le monde de lentreprise). Ces mmes outils gnrent le modle logique (le plus souvent le modle relationnel cf. sances 4 & 5 du cours) de la base. On se sert ensuite dun script (le plus souvent SQL) pour crer les diffrentes tables et contraintes. Quelques outils : Avec licence Microsoft Visio Maestro SQL Oracle Designer PowerAMC (de Sybase) ERwin ER/Studio Libres MySQL Workbench DBDesigner

Le problme le plus couramment rencontr au sein des bases de donnes mal conues est la redondance. Cette faute entrane, terme, des incohrences en modification, insertion et suppression de donnes, et rend la base peu performante.

2. Le modle Entit-Association
Lide force du modle entit-association est de reprsenter, par un schma standardis, les diffrents lments constitutifs du systme dinformation, appels attributs (exemple : nom, ge, ...), et les relations qui les unissent, appeles associations. Une manire simple de modliser est de dcrire la ralit par une phrase : Le sujet et le complment reprsentent des entits, et le verbe lassociation. Exemple : un utilisateur (entit) poste (association) une news (entit).

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

2.1.

Entit

ABONN
Jean Martin Patrice Petit Marc Dubois Paul Leroy X X X X

Type entit Entit Entit Entit Entit

Ce schma montre 4 entits du type-entit ABONN. Dfinition : Une entit est un objet, une chose concrte ou abstraite qui peut tre reconnue distinctement et qui est caractrise par son unicit. Il faut noter que les entits ne sont pas reprsentes sur un modle entit-association. Dfinition : Un type-entit dsigne un ensemble de dentits qui possdent une smantique et proprits communes. Les personnes, les livres, les voitures sont des type-entits. Dans le cas dune personne, par exemple, les informations associes (ou proprits) comme le nom, le prnom, ne changent pas de nature en fonction des personnes. Dans un diagramme entit-association, un type-entit est reprsent par un rectangle cartouche. Le nom du type-entit est plac dans le cartouche : il est recommand de choisir un nom commun dcrivant le type-entit (exemple : ETUDIANT, ENSEIGNANT, MATIERE). Le nom du type-entit est crit en majuscules dans le cartouche. Les attributs prendront place dans la partie basse. ABONN

Une entit est une occurrence ou instance de son type-entit. Par abus de langage, le terme entit est rgulirement utilis pour dsigner le type-entit et ses entits. Il ne faut cependant pas confondre ces deux notions.

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

2.2.

Association

Comme pour lentit, le terme dassociation est utilis pour dsigner un type-association. Dfinition : Une association (ou relation) est un lien entre plusieurs entits. Exemple : LABONN Paul Leroy Emprunte le LIVRE Le horla . Nous reprsentons ce lien de manire informelle, ci-dessous :
Instance du type-association Emprunter

ABONN

LIVRE
X le horla X Learning SQL X Boule de suif X Bases de donnes Instance du type-entit ABONN

Jean Martin X Patrice Petit X Marc Dubois X Paul Leroy X

Instance du type-entit LIVRE

Et maintenant selon le modle entit-association : ABONN


Emprunter

Patte de lassociation Emprunter

LIVRE

Les proprits ne sont pas reprsentes. Dans le modle entit-association, le type-association est reprsent par une ellipse cartouche. Le nom du type-association est plac dans le cartouche. Ce nom doit tre un verbe linfinitif, la forme passive ou bien accompagn dun adverbe. Exemple : Enseigner, AvoirLieuDans. Notez que linitiale du nom de lassociation est en majuscule. Les attributs de lassociation sont placs dans la partie infrieure au cartouche.

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

Dfinition : Les type-entits intervenant dans un type-association sont appels participants. Dfinition : Lensemble de participants dun type-association est appel la collection de type-association. La collection dun type-association peut ne comporter dun seul typeentit. Dfinition : La dimension ou larit dun type-association est le nombre de type-entits contenu dans la collection. Un type-association est dit : - N-aire : dans le cas gnral, - Binaire : dans le cas o n=2 (la collection contient deux type-entits), - Ternaire : dans le cas o n=3. Les type-associations avec n>2, bien quexistants, sont rares et problmatiques.

2.3.

Attribut et valeur

Dfinition : Un attribut (ou proprit) est une caractristique associe un type-entit ou un type association. ABONN
nomAbonn prnomAbonn dateNaissance

Attributs

Le nom des attributs est compos de deux morphmes accols : le premier tout en minuscule et la premire lettre du second en majuscule. Dfinition : Une valeur au niveau du type-entit ou de type-association, chaque attribut possde un domaine qui dfinit lensemble des valeurs possibles qui peuvent tre choisies pour lui (entier, chane de caractres, boolen). Au niveau de lentit, chaque attribut possde une valeur compatible avec son domaine. Rgles : Dans le modle entit-association, chaque attribut est destin recevoir une valeur. Un attribut ne peut tre partag par plusieurs types-entit ou type-associations. Un attribut est une donne lmentaire, ce qui exclut les donnes calcules ou drives. Un attribut peut tre plac dans un type-association uniquement lorsquil dpend de toutes les entits lies par le type-association.

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

Un type-association peut ne pas possder dattribut explicite et cela est relativement frquent, mais nous verrons quil possde au moins des attributs implicites.

2.4.

Identifiant

Dfinition : Un identifiant (ou cl) dun type-entit ou dun type-association, est un ensemble minimal dattributs qui permet didentifier chaque entit ou association de manire unique. Par exemple dans le cas du type-entit ABONN, si nous choisissons nomAbonn et prnomAbonn comme identifiants(ou cls) et que lon a des homonymes dans la liste des abonns, il y aura doublons dans les cls choisies ce qui est interdit. Par contre si nous prenons comme cl une entit numroSecuritSociale, nous aurons la garantie de ne pas avoir de doublons. Deux abonns peuvent avoir le mme nom et prnom mais pas le mme numro de scurit sociale.

ABONN
170022506862114 : Martin : Jean X 182032632198742 : Petit : Patrice X 146892301259421 : Martin : Jean X 184012345678901 : Leroy : Paul X

Un identifiant est reprsent comme suit dans le modle entit-association : ABONN


numroScuritSociale nomAbonn prnomAbonn

Identifiant ou Cl

Nous pouvons donc voir quun identifiant est reprsent dans ce modle comme un attribut la seule diffrence quil est soulign. Ce qui permet de le distinguer des autres attributs. Les identifiants sont galement placs en tte des autres attributs.

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

Rgle : Chaque type-entit possde au moins un identifiant, ventuellement form de plusieurs attributs. Tout type-entit, et type-association possde au moins un identifiant. Il ne peut y avoir la mme valeur didentifiants pour deux instances dun typeentit (ou type-association).

2.5.

Cardinalits dun type-association

Dfinition : Les cardinalits dune patte reliant un type-association et un typeentit prcisent le nombre de fois minimal et maximal dinterventions dune entit du type-entit dans une association de type-association. La cardinalit minimale doit tre infrieure ou gale la maximale.

Exemple :

ABONN
numroScuritSociale nomAbonn prnomAbonn

0,n

Emprunter
dateEmprunt

0,1

LIVRE
numroISBN titre diteur

Il faut lire la cardinalit comme suit : - Un abonn peut Emprunter plusieurs livres. - Un livre ne peut tre Emprunt que par un seul abonn. Traduction en modle informel (ou une instance possible du modle ci-dessus): ABONN
02/05/2008 06/02/2008

LIVRE
X le horla X Learning SQL
20/01/2008 20/01/2008

Jean Martin X Patrice Petit X Marc Dubois X Paul Leroy X

X Boule de suif X Bases de donnes

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

Rgles : Lexpression de la cardinalit est obligatoire pour chaque patte dun typeassociation. Il ne peut y avoir de cardinalit maximale gale 0, car elle rendrait le typeassociation inutile. Une cardinalit minimale est toujours 0 ou 1 et une cardinalit maximale est toujours 1 ou n. Si une cardinalit est connue et vaut 2 ou plus, alors nous considrons quelle est indtermine et vaut n. En effet, si cette valeur est dfinie lors de la conception, il se peut quelle volue dans le futur. Il est donc considrer n comme inconnue ds la conception. Les seules cardinalits admises sont : o 0,1 : une occurrence du type-entit peut exister en tant implique soit dans aucune association soit au maximum dans une seule. o 0,n : une occurrence du type-entit peut exister en tant implique soit dans aucune association soit dans plusieurs associations (sans limite). o 1,1 : une occurrence du type-entit ne peut exister que si elle est implique dans exactement une association. o 1,n : une occurrence de type-entit ne peut exister que si elle est implique dans au moins une association.

2.6.

Identifiant dun type-association

Les type-associations peuvent tre catgoriss en fonction des cardinalits maximales de leurs pattes : Catgories de Type-association Binaire Fonctionnel maill Description Autre appellation

La cardinalit maximale sur chacune Type-association 1 vers 1 de ses pattes est 1. Une cardinalit maximale est 1 et Type-association 1 vers n une cardinalit maximale est n. La cardinalit maximale de chacune Type-association n vers n de ses pattes est n.

Seuls les type-associations maills ont des proprits. Rgles : Lidentifiant dun type-association maill est compos des identifiants de ses participants. Cet identifiant nest pas mentionn sur le modle, il est implicite. Explications : Soit le modle suivant. Il prcise quun livre peut tre Emprunt par plusieurs abonns, et quun abonn peut Emprunter plusieurs livres. 8

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ rchaabane@ai.univ-paris8.fr

- Sance 2 -

ABONN
numroScuritSociale nomAbonn prnomAbonn

0,n 0,

Emprunter
dateEmprunt

0,n

LIVRE
numroISBN titre diteur

Si un abonn Emprunte un mme livre deux diffrentes dates, alors lidentifiant du type association Emprunter comptera un doublon, ce qui est type-association impossible. Pour permettre notre modle dautoriser un tel emprunt, il faut rajouter un 3me identifiant dateEmprunt au type association Emprunter. Pour cela il faut type-association rajouter un type-entit DATE avec comme identifiant dateEmprunt. Ainsi nous obtenons le modle entit entit-association suivant :

Ce modle autorise donc lemprunt dun mme livre par un abonn des diffrentes dates.

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ rchaabane@ai.univ-paris8.fr

- Sance 2 -

Lidentifiant dun type-association fonctionnel est compos des identifiants du participant situ du ct de la cardinalit maximale de 1 Cet identifiant nest 1. pas mentionn sur le modle, il est implicite. Exemple : dans le modle ci dessous, un abonn peut emprunter autant de ci-dessous, livres quil le souhaite. Par contre un livre ne peut tre emprunt que par un souhaite. abonn.

Daprs la rgle dun type association fonctionnel, lidentifiant du type type-association typeassociation est celui du type entit de cardinalit maximale est gale 1. Soit type-entit donc lidentifiant numroISBN. Or si Emprunter pour cl (ou identifiant) numroISBN, lorsquun abonn emprunte un livre une deuxime fois, nous auront deux fois la mme occurrence de numroISBN. Ce qui est impossible. Le modle donn ici est donc inadapt la ralit.

10

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

Un type-association binaire dit 1 vers 1, possde deux identifiants candidats issus des deux participants. Il suffit den choisir un. Cet identifiant nest pas mentionn sur le modle, il est implicite. Dans un tel cas, labonn ne peut emprunter quun livre maximum, et un livre ne peut tre emprunt que par un seul abonn. Ce qui est assez limit comme mode demprunt. Une telle cardinalit du modle nest pas adapt la ralit.

11

L3-Informatique Paris 8 Base de donnes Rim Chaabane rchaabane@ai.univ-paris8.fr

- Sance 2 -

ANNEXE
Les diffrents formalismes de la modlisation de donnes :

12