Merise
Guide pratique
(modélisation des données et des traitements, manipulations avec le langage SQL, conception d'une application mobile Android ou iOS)
4e édition
Jean-Luc BAPTISTE
Avant-propos
Chapitre 1
Présentation de la méthode Merise
1. Présentation générale de la méthode Merise 13
2. L'approche systémique 13
2.1 Les caractéristiques d'un système 14
2.2 Représentation schématique des systèmes de l'entreprise 14
2.2.1 Le système de pilotage 15
2.2.2 Le système d'information 16
2.2.3 Le système opérant 16
3. La séparation des données et des traitements 16
3.1 Les données (ou informations) 16
3.1.1 L'interview 16
3.1.2 L'étude des documents internes 17
3.1.3 L'étude des documents externes 17
3.2 Les différents types d'informations 17
3.2.1 Les informations élémentaires et mémorisables 17
3.2.2 Les informations calculées 18
3.3 Les traitements 18
4. L'approche par niveaux 19
4.1 Le niveau conceptuel 19
4.2 Le niveau organisationnel 19
4.3 Le niveau logique 20
4.4 Le niveau physique 20
4.5 Tableau récapitulatif 21
5. Les apports de Merise 21
Chapitre 2
Les dépendances fonctionnelles
1. Le dictionnaire des données 23
2. Les dépendances fonctionnelles 28
2.1 Dépendances fonctionnelles composées 29
2.2 Dépendances fonctionnelles élémentaires 29
2.3 Dépendances fonctionnelles élémentaires directes 30
2.4 Détermination des dépendances fonctionnelles 31
3. Cas pratique 31
3.1 Dictionnaire des données 33
3.2 Détermination des dépendances fonctionnelles (DF) 34
3.3 Graphe des dépendances fonctionnelles 36
3.4 Matrice des dépendances fonctionnelles 36
4. Conclusion 38
Chapitre 3
Le modèle conceptuel des données
1. Introduction 39
1.1 Les propriétés 39
1.2 Les entités ou objets 40
1.3 Les relations ou associations 41
1.3.1 Les cardinalités 42
1.3.2 Les relations porteuses 45
1.3.3 Les relations réflexives 47
1.4 Les règles d'usage 47
1.5 Entité forte et entité faible 50
1.5.1 Les entités fortes 50
1.5.2 Les entités faibles 50
1.6 Les contraintes d'intégrité fonctionnelles 50
1.7 Les identifiants relatifs 51
2. Conception pas à pas d'un modèle conceptuel des données 54
2.1 Le dictionnaire des données 55
2.2 Les dépendances fonctionnelles 56
2.2.1 Les dépendances élémentaires 56
2.2.2 Les dépendances isolées 57
2.3 Élaboration du modèle conceptuel des données 59
2.4 Recherche d'identifiants relatifs 66
3. Conclusion 67
Chapitre 4
Le modèle logique des données
1. Introduction au modèle logique des données 69
1.1 Cas (0, n), (1,1) ou (l, n), (0,1) 69
1.2 Cas (0, n), (0, n) ou (l, n), (l, n) 71
1.3 Modèle logique des données sur une relation réflexive 74
1.4 Quelques règles simples de passage du MCD au MLD 75
2. Conception pas à pas d'un modèle logique des données 76
3. Conclusion 81
Chapitre 5
Le modèle physique des données
1. Introduction au modèle physique des données 83
2. Transcription SQL du modèle physique 86
3. Conclusion 87
Chapitre 6
Les formes normales
1. Introduction aux formes normales 89
1.1 1FN - Première forme normale 89
1.2 2FN - Deuxième forme normale 91
1.3 3FN - Troisième forme normale 92
1.4 BCNF - Forme normale de Boyce-Codd 94
1.5 4FN - Quatrième forme normale 95
1.6 5FN - Cinquième forme normale 97
2. Conclusion 97
Chapitre 7
Les diagrammes des flux
1. Introduction 99
1.1 Définitions 99
1.2 Représentation graphique des acteurs 100
2. Conception pas à pas d'un diagramme des flux 102
2.1 Identification des flux 102
2.2 Diagramme finalisé 103
2.3 Remarques et règles d'usage 104
2.3.1 Un flux ne doit pas être bidirectionnel 104
2.3.2 Le flux ne doit pas être réflexif 104
2.3.3 Il n'y a pas de flux entre des acteurs externes 104
3. Le modèle de contexte 105
4. Conclusion 108
Chapitre 8
Le modèle conceptuel des traitements
1. Le modèle conceptuel des traitements 109
1.1 Les événements 109
1.2 Les opérations110
1.3 La synchronisation 110
1.4 Représentation schématique d'un modèle conceptuel des traitements 111
2. Conception d'un modèle conceptuel des traitements 112
3. Le modèle conceptuel des traitements analytiques (Merise/2) 115
4. Conclusion 117
Chapitre 9
Le modèle organisationnel des traitements
1. Introduction 119
2. Conception pas à pas d'un modèle organisationnel des traitements 121
2.1 Le diagramme des flux (ou modèle conceptuel de communication) 121
2.2 Le modèle conceptuel des traitements 122
2.3 Le modèle organisationnel des traitements 123
3. Conclusion 124
Chapitre 10
Les extensions Merise/2
1. Présentation 125
2. L'héritage (ou la généralisation - spécialisation) 125
3. Les contraintes ensemblistes 130
4. La formalisation des contraintes entre associations 132
4.1 La totalité (couverture + non-disjonction) 133
4.2 Partition (couverture + disjonction) 134
4.3 Exclusion (non-couverture + disjonction) 134
4.4 Égalité 135
4.5 Inclusion 135
5. Agrégation sur les associations (ou associations d'associations) 136
Chapitre 11
Le cycle de vie des objets
1. Introduction au cycle de vie des objets 139
1.1 Les objectifs de la gestion du cycle de vie d'un objet 139
1.1.1 État de l'objet 140
1.1.2 Événement 140
1.1.3 Transition 140
1.2 Mise en oeuvre du cycle de vie des objets 141
1.2.1 L'itération 141
1.2.2 La transition conditionnelle 141
1.2.3 La création 142
1.2.4 La suppression 142
2. Conception pas à pas d'un CVO 143
3. Positionnement du CVO par rapport au modèle conceptuel des traitements analytiques 144
Chapitre 12
Merise et UML
1. Présentation d'UML 145
2. Merise par rapport à UML 147
3. Les analogies Merise/UML 148
3.1 Modèle de contexte (diagramme des flux) - Diagramme des cas d'utilisation 148
3.2 Le diagramme des cas d'utilisation 149
3.3 Le modèle conceptuel des données/le diagramme de classes 152
3.3.1 Les cardinalités 152
3.3.2 Les associations porteuses 154
3.3.3 Les associations ternaires 155
3.3.4 Représentation de la réflexivité 156
3.3.5 L'héritage 157
3.4 Les contraintes 159
3.4.1 La contrainte de partition 159
3.4.2 La contrainte d'exclusion 160
3.4.3 La contrainte de totalité 161
3.4.4 Aucune contrainte 162
3.5 Le modèle conceptuel des traitements 163
3.6 Le modèle organisationnel des traitements 163
Chapitre 13
SQL (Structured Query Language)
1. Présentation du langage SQL 167
1.1 Historique 167
1.2 Structuration 169
2. Le langage de manipulation des données 170
2.1 Sélection des données 171
2.1.1 La projection 172
2.1.2 La restriction 175
2.1.3 Les tris 177
2.1.4 Les jointures 178
2.1.5 Les fonctions statistiques 181
2.1.6 Les opérations portant sur des ensembles 183
2.1.7 Les regroupements 184
2.1.8 Les sous-requêtes 185
2.2 L'insertion des données 188
2.2.1 L'insertion simple 188
2.2.2 L'insertion en masse 189
2.3 La modification des données 189
2.4 La suppression des données 190
3. Le langage de définition des données 190
3.1 La création de tables 190
3.1.1 Définition de la clé primaire 191
3.1.2 Définition des clés étrangères 191
3.2 La suppression physique de tables 192
3.3 La modification d'une structure de table 192
3.3.1. Ajouter un champ 192
3.3.2 Redimensionner un champ 192
3.3.3 Supprimer un champ 192
3.3.4 Supprimer une clé sur une table existante 193
3.4 Renommer une table 193
4. Le langage de contrôle des données 193
4.1 L'ordre GRANT 194
4.2 L'ordre REVOKE 195
5. Mise en pratique avec MySQL 196
5.1 Installation du serveur de base de données 197
5.2 Création d'une base de données 199
Chapitre 14
Étude de cas détaillée
1. Étude des besoins 205
2. Analyse des besoins 209
3. Le dictionnaire des données complet 216
4. Les dépendances fonctionnelles 218
4.1 Dépendances fonctionnelles élémentaires et directes 219
4.2 Dépendances fonctionnelles à partie gauche composée 220
5. Création du modèle conceptuel des données avec WinDesign 220
5.1 Conception du modèle conceptuel des données 221
5.2 Conception du modèle logique des données 226
5.3 Conclusion ? 230
Chapitre 15
Exercices
1. Exercices applicatifs 231
2. Premier exercice 232
2.1 Énoncé 232
2.2 Solution 233
2.2.1 Le modèle conceptuel des données 233
2.2.2 Le modèle logique des données 236
2.2.3 Le modèle relationnel 236
3. Deuxième exercice 238
3.1 Énoncé 238
3.2 Solutions 239
3.2. 1 Le modèle logique des données 239
3.2. 2 Le modèle conceptuel des données 1 240
4. Troisième exercice 241
4.1 Énoncé 241
4.2 Solution 242
4.2.1 Le dictionnaire des données simplifié 242
4.2.2 Le modèle conceptuel des données 243
4.2.3 Le modèle logique des données 244
4.2.4 Le modèle physique des données 245
5. Quatrième exercice 245
5.1 Énoncé 245
5.2 Solution 246
5.2.1 Le modèle conceptuel des données 246
5.2.2 Le modèle logique des données 246
5.2.3 Le modèle physique des données 246
6. Cinquième exercice 247
6.1 Énoncé 247
6.2 Solution 248
6.2.1 Le modèle conceptuel des données 248
6.2.2 Le modèle physique des données 249
7. Sixième exercice 250
7.1 Énoncé 250
7.2 Solution 251
7.2.1 Le modèle conceptuel des données 251
7.2.2 Le modèle logique des données 252
8. Septième exercice 253
8.1 Énoncé 253
8.2 Solution 255
8.2.1 Le dictionnaire des données 255
8.2.2 Le modèle conceptuel des données 256
8.2.3 Le modèle logique des données 260
8.2.4 Le modèle relationnel des données 263
8.2.5 Le modèle de contexte 263
8.2.6 Le modèle de flux conceptuel de niveau 1 264
8.2.7 Le modèle organisationnel des traitements 265
8.2.8 Requête SQL listant l'ensemble des sportifs habitant Perpignan 266
Chapitre 16
Mise en oeuvre des concepts
1. Introduction 267
2. Le modèle conceptuel des données 268
3. Création de l'application sous WINDEV Mobile 269
3.1 Le modèle logique des données 277
3.2 Création du MLD 278
4. Création de l'interface de l'application 285
4.1 Création d'une requête 294
4.2 Remplissage d'une combobox 307
4.3 Gestion des matériels 308
4.4 Création d'une procédure locale 310
5. Conclusion 314
Index 315