Documente Academic
Documente Profesional
Documente Cultură
fr
- Sance 2 -
- 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).
- Sance 2 -
2.1.
Entit
ABONN
Jean Martin Patrice Petit Marc Dubois Paul Leroy X X X X
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.
- 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
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.
- 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.
- 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
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.
- 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.
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
- 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.
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
- 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.
- 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
- 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
- Sance 2 -
ANNEXE
Les diffrents formalismes de la modlisation de donnes :
12