Merise
Guide pratique
(Modélisation des données et des traitements, manipulations avec le langage SQL, conception d'une application mobile)
3e édition
Avant-propos
1. Introduction13
2. Historique de la méthode Merise14
Chapitre 1
Présentation de la méthode Merise
1. Présentation générale de la méthode Merise15
2. La systémique15
2.1 Les caractéristiques d'un système16
2.2 La représentation schématique des systèmes de l'entreprise16
2.2.1 Le système de pilotage17
2.2.2 Le système d'information18
2.2.3 Le système opérant18
3. La séparation des données et des traitements18
3.1 Les données (ou informations)18
3.1.1 L'interview18
3.1.2 L'étude des documents internes19
3.1.3 L'étude des documents externes19
3.2 Les différents types d'informations19
3.2.1 Les informations élémentaires et mémorisables19
3.2.2 Les informations calculées20
3.2.3 Les traitements20
4. Une approche par niveaux21
4.1 Le niveau conceptuel21
4.2 Le niveau organisationnel21
4.3 Le niveau logique22
4.4 Le niveau physique22
4.5 Tableau récapitulatif23
5. Les apports de Merise23
Chapitre 2
Les dépendances fonctionnelles
1. Des données aux dépendances fonctionnelles25
1.1 Le dictionnaire des données26
2. Les dépendances fonctionnelles30
2.1 Dépendances fonctionnelles composées31
2.2 Dépendance fonctionnelle élémentaire31
2.3 Dépendance fonctionnelle élémentaire directe32
2.4 Méthodologie d'élaboration des dépendances fonctionnelles33
3. Cas pratique33
3.1 Dictionnaire des données35
3.2 Détermination des dépendances fonctionnelles ou DF36
3.3 Graphe des dépendances fonctionnelles38
3.4 Matrice des dépendances fonctionnelles38
4. Conclusion40
Chapitre 3
Le Modèle Conceptuel des Données
1. Introduction au Modèle Conceptuel des Données41
1.1 Les propriétés41
1.2 Les entités ou objets42
1.2.1 L'identifiant42
1.3 Les relations ou associations43
1.3.1 Les cardinalités44
1.3.2 Les relations porteuses47
1.3.3 Les relations réflexives48
1.4 Règles d'usages49
1.5 Notion d'entité forte et d'entité faible51
1.5.1 Entité forte51
1.5.2 Entité faible51
1.6 Notion de contrainte d'intégrité fonctionnelle52
1.7 Notion d'identifiant relatif53
2. Conception d'un Modèle Conceptuel des Données pas à pas55
2.1 Le dictionnaire des données56
2.2 Les dépendances fonctionnelles58
2.2.1 Dépendances élémentaires58
2.2.2 Dépendances isolées59
2.3 Élaboration du Modèle Conceptuel des Données61
2.4 Recherche d'identifiants relatifs68
3. Conclusion69
Chapitre 4
Le Modèle Logique des Données
1. Introduction au Modèle Logique des Données71
1.1 Cas (0, n), (1,1) ou (l,n), (0,1)71
1.2 Cas (0,n), (0,n) ou (1,n), (1,n)73
1.3 Modèle Logique des Données sur une relation réflexive76
1.4 Règles simples de passage du MCD au MLD77
2. Conception d'un Modèle Logique des Données pas à pas78
3. Conclusion83
Chapitre 5
Le Modèle Physique des Données
1. Introduction au Modèle Physique des Données85
2. Transcription SQL du modèle physique88
3. Conclusion89
Chapitre 6
Les formes normales
1. Introduction aux formes normales91
1.1 1FN - Première forme normale91
1.2 2FN - Deuxième forme normale93
1.3 3FN - Troisième forme normale94
1.4 BCNF - Forme normale de Boyce - Codd96
1.5 4FN - Quatrième forme normale97
1.6 5FN - Cinquième forme normale99
2. Conclusion99
Chapitre 7
Les diagrammes des flux
1. Introduction aux diagrammes des flux101
1.1 Définitions101
1.1.1 Domaine d'étude101
1.1.2 L'acteur101
1.1.3 Les flux102
1.2 Représentation graphique des acteurs102
2. Conception d'un diagramme des flux pas à pas104
2.1 Identification des flux104
2.2 Diagramme finalisé105
2.3 Remarques et règles d'usages106
2.3.1 Un flux ne doit pas être bidirectionnel106
2.3.2 Le flux ne doit pas être réflexif106
2.3.3 Pas de flux entre des acteurs externes106
3. Le modèle de contexte107
3.1 Le Modèle de Flux Conceptuel (de niveau 1, de niveau N)108
4. Conclusion109
Chapitre 8
Les Modèles Conceptuels des Traitements
1. Le Modèle Conceptuel des Traitements111
1.1 Objectifs du Modèle Conceptuel des Traitements111
1.1.1 Les évènements111
1.1.2 Les opérations112
1.1.3 La synchronisation112
1.1.4 Représentation schématique d'un Modèle Conceptuel des Traitements113
2. Conception d'un Modèle Conceptuel des Traitements pas à pas114
3. Le Modèle Conceptuel des Traitements Analytiques117
4. Conclusion119
Chapitre 9
Le Modèle Organisationnel des Traitements
1. Introduction au Modèle Organisationnel des Traitements121
1.1 Objectifs121
2. Conception d'un Modèle Organisationnel des Traitements pas à pas123
2.1 Le diagramme des flux (ou modèle conceptuel de communication)123
2.2 Le Modèle Conceptuel des Traitements124
2.3 Le Modèle Organisationnel des Traitements125
3. Conclusion126
Chapitre 10
Les extensions Merise/2
1. Introduction aux extensions Merise/2127
1.1 Présentation127
1.2 L'héritage (ou la généralisation - spécialisation)128
2. Contraintes ensemblistes132
2.1 La contrainte de couverture132
2.2 La contrainte de disjonction132
3. La formalisation des contraintes entre associations134
3.1 La totalité (couverture + non-disjonction)135
3.2 Partition (couverture + disjonction)136
3.3 Exclusion (non-couverture + disjonction)136
3.4 Égalité137
3.5 Inclusion137
4. Agrégation sur les associations (ou associations d'associations)138
Chapitre 11
Le cycle de vie des objets
1. Introduction au cycle de vie des objets141
1.1 Les objectifs de la gestion du cycle de vie d'un objet141
1.1.1 État de l'objet142
1.1.2 Événement142
1.1.3 Transition142
1.2 Mise en oeuvre143
1.2.1 L'itération143
1.2.2 La transition conditionnelle143
1.2.3 La création143
1.2.4 La suppression144
2. Conception d'un CVO pas à pas144
3. Positionnement du CVO par rapport au MCTA145
Chapitre 12
Merise et UML
1. UML147
1.1 Présentation d'UML147
1.1.1 Les diagrammes statiques148
1.1.2 Les diagrammes comportementaux148
1.1.3 Les diagrammes dynamiques149
2. Merise par rapport à UML149
2.1 Une séparation des données et des traitements150
3. Analogie Merise/UML150
3.1 Modèle de contexte (diagramme des flux) - Diagramme des cas d'utilisation150
3.2 Le diagramme des cas d'utilisation151
3.3 Modèle Conceptuel des Données/Diagramme de classes155
3.3.1 Les cardinalités155
3.3.2 Associations porteuses157
3.3.3 Associations ternaires158
3.3.4 Représentation de la réflexivité159
3.3.5 L'héritage160
3.4 Les contraintes162
3.4.1 La contrainte de partition162
3.4.2 L'exclusion163
3.4.3 La contrainte de totalité164
3.4.4 Aucune contrainte165
3.5 Le Modèle Conceptuel des Traitements166
3.6 Le Modèle Organisationnel des Traitements166
Chapitre 13
SQL (Structured Query Language)
1. Présentation du langage SQL171
1.1 Historique171
1.2 Structuration172
2. Le langage de manipulation des données173
2.1 Sélection des données174
2.1.1 La projection175
2.1.2 La restriction178
2.1.3 Les tris181
2.1.4 Les jointures181
2.1.5 Les fonctions statistiques185
2.1.6 Les opérations portant sur des ensembles186
2.1.7 Les regroupements187
2.1.8 Les sous-requêtes189
2.2 L'insertion des données191
2.2.1 Insertion simple191
2.2.2 Insertion en masse192
2.3 La modification des données193
2.4 La suppression des données193
3. Le langage de définition des données194
3.1 La création de tables194
3.1.1 Définition de la clé primaire194
3.1.2 Définition des clés étrangères195
3.2 La suppression physique de tables195
3.3 Modification d'une structure de table195
3.3.1 Ajouter un champ195
3.3.2 Redimensionner un champ196
3.3.3 Supprimer un champ196
3.3.4 Supprimer une clé sur une table existante196
3.4 Renommer une table196
4. Le langage de contrôle des données197
4.1 L'ordre GRANT197
4.2 L'ordre REVOKE198
5. Mise en pratique avec MySQL199
5.1 Installation du serveur de base de données200
5.2 Création d'une base de données202
Chapitre 14
Étude de cas détaillée
1. Étude des besoins209
2. Analyse des besoins214
3. Le dictionnaire des données complet223
4. Les dépendances fonctionnelles225
4.1 Dépendances fonctionnelles élémentaires et directes226
4.2 Dépendances fonctionnelles à partie gauche composée226
5. Création du Modèle Conceptuel des Données avec WinDesign227
5.1 Conception du Modèle Conceptuel des Données227
5.2 Conception du Modèle Logique des Données233
5.3 Conclusion237
Chapitre 15
Exercices
1. Exercices applicatifs239
2. Premier exercice241
2.1 Solutions242
2.1.1 Le Modèle Conceptuel des Données242
2.1.2 Le Modèle Logique des Données244
2.1.3 Le modèle relationnel244
3. Deuxième exercice246
3.1 Solutions247
3.1.1 Le Modèle Logique des Données247
3.1.2 Le Modèle Conceptuel des Données248
4. Troisième exercice249
4.1 Solutions250
4.1.1 Dictionnaire des données simplifié250
4.1.2 Le Modèle Conceptuel des Données251
4.1.3 Le Modèle Logique des Données252
4.1.4 Le Modèle Physique des Données253
5. Quatrième exercice253
5.1 Solutions254
5.1.1 Le Modèle Conceptuel des Données254
5.1.2 Le Modèle Logique des Données254
5.1.3 Le Modèle Physique des Données254
6. Cinquième exercice255
6.1 Solutions256
6.1.1 Le Modèle Conceptuel des Données256
6.1.2 Le Modèle Physique des Données257
7. Sixième exercice258
7.1 Solutions259
7.1.1 Le Modèle Conceptuel des Données259
7.1.2 Le Modèle Logique des Données260
8. Septième exercice261
8.1 Solutions262
8.1.1 Le dictionnaire des données262
8.1.2 Le Modèle Conceptuel des Données263
8.1.3 Le Modèle Logique des Données267
8.1.4 Le modèle relationnel des données270
8.1.5 Le modèle de contexte de niveau 0270
8.1.6 Le modèle de flux conceptuel de niveau 1271
8.1.7 Le Modèle Organisationnel des Traitements272
8.1.8 Requête SQL listant l'ensemble des sportifs habitant Perpignan273
Chapitre 16
Mise en oeuvre des concepts
1. Introduction275
1.1 Contexte275
2. Le Modèle Conceptuel des Données276
3. Création de l'application sous WINDEV Mobile277
3.1 Le modèle logique287
3.2 Création du MLD288
4. Création de l'interface de l'application294
4.1 Création d'une requête303
4.2 Remplissage d'une combobox316
4.3 Gestion des matériels317
4.4 Création d'une procédure locale318
5. Conclusion323
Index325