Merise: Guide Pratique
Merise: Guide Pratique
Merise: Guide Pratique
Merise
méthode Merise et le langage SQL. Merise • Les dépendances fonctionnelles •
Guide pratique
- Manipuler, filtrer, trier, regrouper les données. concepts
- Créer, modifier, supprimer des tables.
- Affecter ou enlever des droits à certains utilisateurs.
L’auteur n’a volontairement gardé que le côté concret de la méthode Merise
et du langage SQL, pour permettre au lecteur une immersion immédiate. Il
propose également de nombreux exercices dont une étude de cas détaillée
et guidée pour faciliter cette assimilation.
(modélisation des données et des traitements,
Cette nouvelle édition du livre s’enrichit d’un chapitre vous offrant la possibilité
de mettre en pratique les notions étudiées à travers la conception et le Téléchargement
manipulations avec le langage SQL,
conception d’une application mobile)
développement d’une application mobile avec WINDEV Mobile. www.editions-eni.fr
.fr
3 édition
b Le code source de l’application e
Ancien responsable informatique et développeur d’applications stratégiques,
mobile développée.
Jean-Luc BAPTISTE a également créé et géré une société de service en
informatique pendant plusieurs années. Il est aujourd’hui professeur en
informatique, en filière BTS SIO, au Lycée Jean Lurçat de
Perpignan. Très proche des interrogations des apprenants et
fort de son expérience pédagogique et de ses compétences
techniques, il propose au lecteur un ouvrage efficace et complet Pour plus
Nouvelle édition
ISBN : 978-2-409-01534-2
Jean-Luc BAPTISTE
Table des matières 1
Avant-propos
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Historique de la méthode Merise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Chapitre 1
Présentation de la méthode Merise
1. Présentation générale de la méthode Merise. . . . . . . . . . . . . . . . . . . . 15
2. La systémique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1 Les caractéristiques d'un système . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 La représentation schématique des systèmes de l'entreprise . . . 16
2.2.1 Le système de pilotage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Le système d'information. . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.3 Le système opérant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3. La séparation des données et des traitements. . . . . . . . . . . . . . . . . . . 18
3.1 Les données (ou informations) . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1 L'interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.2 L'étude des documents internes. . . . . . . . . . . . . . . . . . . . . 19
3.1.3 L'étude des documents externes . . . . . . . . . . . . . . . . . . . . 19
3.2 Les différents types d'informations . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1 Les informations élémentaires et mémorisables. . . . . . . . 19
3.2.2 Les informations calculées . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.3 Les traitements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2 Merise
Guide pratique
Chapitre 2
Les dépendances fonctionnelles
1. Des données aux dépendances fonctionnelles . . . . . . . . . . . . . . . . . . 25
1.1 Le dictionnaire des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2. Les dépendances fonctionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1 Dépendances fonctionnelles composées . . . . . . . . . . . . . . . . . . . 31
2.2 Dépendance fonctionnelle élémentaire . . . . . . . . . . . . . . . . . . . . 31
2.3 Dépendance fonctionnelle élémentaire directe. . . . . . . . . . . . . . 32
2.4 Méthodologie d'élaboration des dépendances fonctionnelles . . 33
3. Cas pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1 Dictionnaire des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Détermination des dépendances fonctionnelles ou DF . . . . . . . 36
3.3 Graphe des dépendances fonctionnelles . . . . . . . . . . . . . . . . . . . 38
3.4 Matrice des dépendances fonctionnelles. . . . . . . . . . . . . . . . . . . 38
4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Chapitre 3
Le Modèle Conceptuel des Données
1. Introduction au Modèle Conceptuel des Données. . . . . . . . . . . . . . . 41
1.1 Les propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.2 Les entités ou objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.2.1 L'identifiant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table des matières 3
Chapitre 4
Le Modèle Logique des Données
1. Introduction au Modèle Logique des Données . . . . . . . . . . . . . . . . . . 71
1.1 Cas (0, n), (1,1) ou (1,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éflexive . . . . . . 76
1.4 Règles simples de passage du MCD au MLD . . . . . . . . . . . . . . . 77
2. Conception d'un Modèle Logique des Données pas à pas . . . . . . . . . 78
3. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4 Merise
Guide pratique
Chapitre 5
Le Modèle Physique des Données
1. Introduction au Modèle Physique des Données . . . . . . . . . . . . . . . . . 85
2. Transcription SQL du modèle physique . . . . . . . . . . . . . . . . . . . . . . . 88
3. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Chapitre 6
Les formes normales
1. Introduction aux formes normales . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
1.1 1FN - Première forme normale . . . . . . . . . . . . . . . . . . . . . . . . . . 91
1.2 2FN - Deuxième forme normale . . . . . . . . . . . . . . . . . . . . . . . . . 93
1.3 3FN - Troisième forme normale . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.4 BCNF - Forme normale de Boyce - Codd . . . . . . . . . . . . . . . . . . 96
1.5 4FN - Quatrième forme normale . . . . . . . . . . . . . . . . . . . . . . . . . 97
1.6 5FN - Cinquième forme normale. . . . . . . . . . . . . . . . . . . . . . . . . 99
2. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Chapitre 7
Les diagrammes des flux
1. Introduction aux diagrammes des flux . . . . . . . . . . . . . . . . . . . . . . . 101
1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
1.1.1 Domaine d'étude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
1.1.2 L'acteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
1.1.3 Les flux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
1.2 Représentation graphique des acteurs. . . . . . . . . . . . . . . . . . . . 102
2. Conception d'un diagramme des flux pas à pas . . . . . . . . . . . . . . . . 104
2.1 Identification des flux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.2 Diagramme finalisé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Table des matières 5
Chapitre 8
Les Modèles Conceptuels des Traitements
1. Le Modèle Conceptuel des Traitements . . . . . . . . . . . . . . . . . . . . . . 111
1.1 Objectifs du Modèle Conceptuel des Traitements. . . . . . . . . . 111
1.1.1 Les évènements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
1.1.2 Les opérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
1.1.3 La synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
1.1.4 Représentation schématique
d’un Modèle Conceptuel des Traitements . . . . . . . . . . . 113
2. Conception d'un Modèle Conceptuel des Traitements pas à pas . . 114
3. Le Modèle Conceptuel des Traitements Analytiques . . . . . . . . . . . 117
4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Chapitre 9
Le Modèle Organisationnel des Traitements
1. Introduction au Modèle Organisationnel des Traitements . . . . . . . 121
1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2. Conception d'un Modèle Organisationnel
des Traitements pas à pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.1 Le diagramme des flux (ou modèle conceptuel
de communication) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.2 Le Modèle Conceptuel des Traitements . . . . . . . . . . . . . . . . . . 124
6 Merise
Guide pratique
Chapitre 10
Les extensions Merise/2
1. Introduction aux extensions Merise/2 . . . . . . . . . . . . . . . . . . . . . . . 127
1.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
1.2 L'héritage (ou la généralisation - spécialisation) . . . . . . . . . . . . 128
2. Contraintes ensemblistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
2.1 La contrainte de couverture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
2.2 La contrainte de disjonction . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3. La formalisation des contraintes entre associations. . . . . . . . . . . . . 134
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 Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
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 objets . . . . . . . . . . . . . . . . . . . . . . . 141
1.1 Les objectifs de la gestion du cycle de vie d'un objet . . . . . . . . 141
1.1.1 État de l'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
1.1.2 Événement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
1.1.3 Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
1.2 Mise en œuvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
1.2.1 L'itération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
1.2.2 La transition conditionnelle. . . . . . . . . . . . . . . . . . . . . . . 143
1.2.3 La création. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Table des matières 7
Chapitre 12
Merise et UML
1. UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.1 Présentation d'UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.1.1 Les diagrammes statiques. . . . . . . . . . . . . . . . . . . . . . . . . 148
1.1.2 Les diagrammes comportementaux. . . . . . . . . . . . . . . . . 148
1.1.3 Les diagrammes dynamiques . . . . . . . . . . . . . . . . . . . . . . 149
2. Merise par rapport à UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
2.1 Une séparation des données et des traitements . . . . . . . . . . . . 150
3. Analogie Merise/UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3.1 Modèle de contexte (diagramme des flux) -
Diagramme des cas d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . 150
3.2 Le diagramme des cas d'utilisation . . . . . . . . . . . . . . . . . . . . . . 151
3.3 Modèle Conceptuel des Données/Diagramme de classes . . . . 155
3.3.1 Les cardinalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
3.3.2 Associations porteuses . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
3.3.3 Associations ternaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
3.3.4 Représentation de la réflexivité . . . . . . . . . . . . . . . . . . . . 159
3.3.5 L'héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
3.4 Les contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
3.4.1 La contrainte de partition . . . . . . . . . . . . . . . . . . . . . . . . 162
3.4.2 L'exclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
3.4.3 La contrainte de totalité. . . . . . . . . . . . . . . . . . . . . . . . . . 164
3.4.4 Aucune contrainte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.5 Le Modèle Conceptuel des Traitements . . . . . . . . . . . . . . . . . . 166
3.6 Le Modèle Organisationnel des Traitements . . . . . . . . . . . . . . 166
8 Merise
Guide pratique
Chapitre 13
SQL (Structured Query Language)
1. Présentation du langage SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
1.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
1.2 Structuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
2. Le langage de manipulation des données . . . . . . . . . . . . . . . . . . . . . 173
2.1 Sélection des données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
2.1.1 La projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
2.1.2 La restriction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
2.1.3 Les tris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
2.1.4 Les jointures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
2.1.5 Les fonctions statistiques. . . . . . . . . . . . . . . . . . . . . . . . . 185
2.1.6 Les opérations portant sur des ensembles. . . . . . . . . . . . 186
2.1.7 Les regroupements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
2.1.8 Les sous-requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
2.2 L'insertion des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
2.2.1 Insertion simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
2.2.2 Insertion en masse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
2.3 La modification des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
2.4 La suppression des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
3. Le langage de définition des données . . . . . . . . . . . . . . . . . . . . . . . . 194
3.1 La création de tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
3.1.1 Définition de la clé primaire . . . . . . . . . . . . . . . . . . . . . . 194
3.1.2 Définition des clés étrangères . . . . . . . . . . . . . . . . . . . . . 195
3.2 La suppression physique de tables. . . . . . . . . . . . . . . . . . . . . . . 195
3.3 Modification d'une structure de table . . . . . . . . . . . . . . . . . . . . 195
3.3.1 Ajouter un champ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
3.3.2 Redimensionner un champ . . . . . . . . . . . . . . . . . . . . . . . 196
3.3.3 Supprimer un champ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
3.3.4 Supprimer une clé sur une table existante . . . . . . . . . . . 196
3.4 Renommer une table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Table des matières 9
Chapitre 14
Étude de cas détaillée
1. Étude des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
2. Analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
3. Le dictionnaire des données complet. . . . . . . . . . . . . . . . . . . . . . . . . 223
4. Les dépendances fonctionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
4.1 Dépendances fonctionnelles élémentaires et directes . . . . . . . 226
4.2 Dépendances fonctionnelles à partie gauche composée. . . . . . 226
5. Création du Modèle Conceptuel des Données avec WinDesign . . . 227
5.1 Conception du Modèle Conceptuel des Données . . . . . . . . . . 227
5.2 Conception du Modèle Logique des Données. . . . . . . . . . . . . . 233
5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Chapitre 15
Exercices
1. Exercices applicatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
2. Premier exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
2.1 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
2.1.1 Le Modèle Conceptuel des Données . . . . . . . . . . . . . . . . 242
2.1.2 Le Modèle Logique des Données . . . . . . . . . . . . . . . . . . . 244
2.1.3 Le modèle relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10 Merise
Guide pratique
Chapitre 16
Mise en œuvre des concepts
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
2. Le Modèle Conceptuel des Données . . . . . . . . . . . . . . . . . . . . . . . . . 276
3. Création de l’application sous WINDEV Mobile . . . . . . . . . . . . . . . 277
3.1 Le modèle logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
3.2 Création du MLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
4. Création de l’interface de l’application . . . . . . . . . . . . . . . . . . . . . . . 294
4.1 Création d’une requête. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
4.2 Remplissage d’une combobox . . . . . . . . . . . . . . . . . . . . . . . . . . 316
4.3 Gestion des matériels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
4.4 Création d’une procédure locale . . . . . . . . . . . . . . . . . . . . . . . . 318
5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
41
Chapitre 3
Le Modèle Conceptuel
des Données
Le Modèle Conceptuel des Données
Les propriétés disposent d'un type. Elles peuvent être numériques, représenter
une date, leur longueur peut être aussi définie. Par exemple : le nom est une
propriété de type alphabétique et de longueur 50, c'est-à-dire que la valeur
saisie ne comportera aucun chiffre et ne dépassera pas cinquante caractères.
Les types ne sont pas décrits au niveau conceptuel, car ce niveau est trop
proche de la définition du système physique. Nous y reviendrons plus tard.
Comme il est aisé de le constater, les clients sont définis par certaines proprié-
tés (numéro, nom, prénom…). Le fait de les regrouper amène naturellement à
créer une entité Clients. Le symbolisme retenu est le suivant :
1.2.1 L'identifiant
Une de ces propriétés a un rôle bien précis, c'est l'identifiant nommé aussi la
clé.
L'identifiant permet de connaître de façon sûre et unique l'ensemble des pro-
priétés qui participent à l'entité. Par exemple, le fait de connaître la ville d'un
Ainsi, lorsque le numéro du client est connu, son nom, son prénom et toutes
les valeurs des autres propriétés qui s'y rattachent sont connues de façon sûre
et unique.
Au niveau du formalisme, cette propriété se souligne.
Voici le schéma modifié de l'entité Clients.
Par exemple :
Voilà la première étape, première car la lecture du schéma doit être améliorée
en incorporant une notion importante : les cardinalités.
Il faut que nous nous posions les mêmes questions pour l'article :
– Combien de fois au minimum un article peut-il être commandé par un
client ?
– Combien de fois au maximum un article peut-il être commandé par un
client ?
Pour le minimum, nous pouvons l'interpréter de la façon suivante :
A-t-on des articles qui ne peuvent jamais être commandés ?
Si nous répondons oui dans ce cas la cardinalité minimale est 0.
Pour le maximum :
A-t-on des articles qui peuvent être commandés plusieurs fois ?
Nous pouvons espérer que oui, dans ce cas la cardinalité maximale sera n.
Voici le schéma finalisé :
Définitions
Remarque
Si le maximum est connu, il faut inscrire sa valeur. Par exemple, si dans les
règles de gestion le client n'a le droit de commander qu'un maximum de 3
articles en tout et pour tout, dans ce cas-là les cardinalités s'exprimeront de
cette façon : 1,3.
Autre exemple :
Des cardinalités :
Une mère peut élever un ou plusieurs enfants.
Un enfant peut être élevé par une et une seule mère.