Académique Documents
Professionnel Documents
Culture Documents
Christian Soutou
http://icare.iut-blagnac.fr/soutou
You cannot design databases without a familarity with the techniques of the ER diagramming R.J. Muller, Database Design for Smarties, Using UML for Data Modeling, Morgan & Kaufman, 1999
C. Soutou - 2006 2
Plan
Historique / Gnralits Face face Merise/UML Profil UML pour les bases de donnes Exercice Bibliographie, Webographie
C. Soutou - 2006
Historique
UML 1.2 UML 1.1 Rational, HP, Microsoft, Oracle, Unisys, etc UML 1.0 UML 0.9x
IBM et ObjecTime
Gnralits
UML (Unified Modeling Language) Objectifs
Reprsenter des systmes par une notation unifie base sur les concepts objets Langage de modlisation (analyse et conception) tablir un couplage entre concepts et code excutable (C++, Java)
C. Soutou - 2006
Les diagrammes
Statiques (structurel)
Diagrammes de classes Diagrammes dobjets Diagrammes de cas dutilisation (use cases) Diagrammes de composants Diagrammes de dploiement Diagrammes de squence Diagrammes de collaboration Diagrammes dtats-transitions Diagrammes dactivits
Dynamiques (comportemental)
C. Soutou - 2006
Diagrammes statiques
Classes : Description des classes et des relations (associations entre les classes) Objets : Description des objets et leurs liens, correspondent des diagrammes de collaboration simplifis, sans reprsentation des envois de messages Cas dutilisation (use cases) : Description des fonctions du systme du point de vue des utilisateurs Composants : Description des composants physiques du systme Dploiement : Description des composants sur les dispositifs matriels
C. Soutou - 2006
Niveaux de conception
Conceptuel : oui Logique : oui Physique : non Externe : trs peu
Conceptuel
Logique
Externe Physique
C. Soutou - 2006
C. Soutou - 2006
10
Historique de Merise
P. Moulin, J. Randon, S. Savoysky, S. Spaccapietra, H. Tardieu, M. Teboul, Conceptual model as database design tool, Proceedings of the IFIP Working conference on Modelling in Database Management Systems , G.M. Nijssen Ed., NorthHolland, 1976 P.P. Chen, The Entity-Relationship Model : Towards a Unified View of Data, ACM Transactions on Database Systems, Vol 1, N1, 1976
C. Soutou - 2006
11
C. Soutou - 2006
13
Associations Merise
un identifiant (simple ou compos) par entit pas didentifiant dassociation pas de proprit pour les associations binaires un--un et un--plusieurs Rles possibles
C. Soutou - 2006
14
Associations n-aires
Dans Merise : lues dune entit du sens entit concerne entits connectes
Dans le modle de P. Chen et pour UML : lues du sens entits connectes entit concerne Rles et attributs possibles dans tous les formalismes
C. Soutou - 2006
16
C. Soutou - 2006
17
Symbole losange
De plus en plus doutils le prenne en compte
C. Soutou - 2006
18
Classe strotype
Les liens doivent sinstancier simultanment
Mal support par les outils (ex. Rose / PowerAMC) dans la gnration SQL (cl primaire)
C. Soutou - 2006
19
Contrainte dunicit
Un employ prsent dans un aroport ne travaille que pour le compte dune seule compagnie arienne .
C. Soutou - 2006
20
Contrainte dinclusion
Un employ ne peut reprsenter que ses employeurs dans tout aroport o il travaille.
C. Soutou - 2006
21
Cumul de contraintes
Un employ ne peut reprsenter que ses employeurs dans tout aroport o il travaille. Un employ prsent dans un aroport ne travaille que pour le compte dune seule compagnie arienne .
C. Soutou - 2006
22
Agrgations
Lagrgation ( ) affine une association (rflexive, binaire ou n-aire) pour laquelle lune des extrmits joue un rle prdominant par rapport lautre Lagrgation concerne un seul rle dune association Agrgation forte : composition ( )
La notion dagrgation a t un des aspects les plus discuts de la notation UML Lagrgation se traduira au niveau de SQL par dclencheurs (triggers) ou contrainte CASCADE(sur des cls trangres)
C. Soutou - 2006 23
Agrgations
Il est prfrable dutiliser une agrgation dans les cas suivants
une classe fait partie dune autre classe une action sur une classe implique une action sur une autre classe les objets dune classe sont subordonns aux objets dune autre classe
C. Soutou - 2006
24
Contraintes
Objectif : plus de smantique un schma Contraintes Merise/2
Partition Exclusion Totalit Inclusion Simultanit Unicit (CIF)
XT X T I S CIF
Prises en compte par les outils mais pas de gnration automatique de code associe
C. Soutou - 2006 25
C. Soutou - 2006
26
Exclusivit : CHECK
X
<<Exclusivit>>
Totalit : CHECK
T
<<Totalit>>
Simultanit : CHECK
S
<<Simultanit>>
C. Soutou - 2006
27
C. Soutou - 2006
28
Merise/2
<<Sous-ensemble>>
C. Soutou - 2006 29
Contrainte dunicit
Merise/2 (CIF)
Associations binaires (un--plusieurs) Associations n-aires : inter-entits
Contraintes possibles
de partition (A) exclusion (B) totalit (C) aucune (D)
Personnel PNT Personnel Personnel PNT PNT
Les2
Personnel
PNT
PNC
PNC
PNC
B
C. Soutou - 2006
D
31
C. Soutou - 2006
32
Exclusion Partition
Totalit!!!
C. Soutou - 2006
33
C. Soutou - 2006
34
Profils UML
Un profil est une proposition dune communaut et regroupe un ensemble dlments UML
Composants Strotypes Icnes
C. Soutou - 2006
35
C. Soutou - 2006
36
Profil UML/BD
lments dune architecture
C. Soutou - 2006
37
Association un--plusieurs
C. Soutou - 2006
38
Association plusieurs--plusieurs
C. Soutou - 2006
39
Exercice
Un client dune banque est caractris par (num, nom, adresse). Il faudra pouvoir stocker ses diffrents numros de tlphone fixe, travail et portable (numtel). Un compte est rattach un client (ncompte, solde, dateouv). Un client peut disposer de plusieurs comptes. Un compte pargne est rmunr un taux (txInt). Un compte courant est caractris par un nombre dopration de carte bleue (nbopCB). On veut stocker les oprations faites par un client (signataire ou pas) sur un compte courant (dateop, montant). Quand le montant est positif il sagit dun dpt, quand il est ngatif il sagit dun retrait.
C. Soutou - 2006 40
Exercice
Un compte courant peut avoir plusieurs signataires (qui sont des clients de lagence). Pour un compte courant donn un signataire peut avoir diffrent droits (droit) : D signifie le droit de dbiter sur le compte R signifie le droit de retirer un chquier X signifie le droit de retirer et de clturer le compte Il est important de savoir quel employ de la banque (numEmp, nomEmp) a affect chaque droit.
C. Soutou - 2006
41
Bibliographie / Webographie
D. Nanci, B. Espinasse, B. Cohen, Ingnierie des systmes d'information : Merise, Vuibert, 2000 P.A. Muller, N. Gaertner, Modlisation objet avec UML, Eyrolles, 2003 P. Roques, UML par la pratique, Eyrolles, 2003 C. Soutou, De UML SQL, Eyrolles, 2002 Forum Modlisation, Mthodes,
http://www.developpez.net/forums/index.php
C. Soutou - 2006
42