Aller au contenu
M06 · B. Préparer l'environnement

Exploiter un outil de modélisation

Installer et utiliser un outil de modélisation (Looping, Mocodo, MySQL Workbench) pour dessiner le MCD, générer le MLD et le script SQL.

1Situer

Dessiner le MCD de Souk Atlas sur une feuille, c'est bien pour réfléchir. Mais quand la présidente demande d'ajouter une entité, il faut tout redessiner. Un outil de modélisation garde le modèle, vérifie les cardinalités et peut écrire tout seul le MLD et le script CREATE TABLE.

2Comprendre

Ce que fait un outil de modélisation
Saisie CLIENT: id, nom PASSER, 0N CLIENT, 11 COMMANDE MCD CLIENT PASSER COMMANDE MLD CLIENT(id, nom) COMMANDE(id, date, #id_client) SQL CREATE TABLE client (...) CREATE TABLE commande ( ... FOREIGN KEY ...) à relire !

On saisit le MCD dans l'outil (à la souris dans Looping, en texte dans Mocodo).

1 / 4

Pourquoi un outil

Trois outils courants, tous gratuits :

OutilCe qu’il faitPour qui
LoopingMCD Merise à la souris, MLD et script SQLDébuter avec Merise (Windows)
MocodoMCD à partir d’un texte, dans le navigateurAller vite, partager un modèle
MySQL WorkbenchDiagramme de tables (EER), génération et rétro-ingénierieTravailler avec un vrai serveur MySQL

Installer et prendre en main

  1. Télécharger l’outil sur son site officiel (jamais sur un site de téléchargement inconnu).
  2. Installer (Looping et Mocodo n’ont presque rien à configurer ; Workbench est installé avec MySQL, voir la leçon suivante).
  3. Créer un nouveau modèle et l’enregistrer tout de suite, avec un nom clair : souk_atlas_mcd.
  4. Saisir les entités, puis les associations, puis les cardinalités.
  5. Générer le MLD et le relire avant de générer le SQL.

Générer le script SQL

Exemple simple

Le traitement de texte du modèle

On peut écrire une lettre à la main, mais avec un traitement de texte on corrige sans tout recopier. Un outil de modélisation fait la même chose pour un MCD.

Exemple simple

Mocodo : le MCD en quelques lignes

Mocodo dessine le MCD à partir d'un texte très court : une ligne par entité ou association. Les cardinalités sont écrites devant le nom de l'entité.

CLIENT: id_client, nom, prenom, email
PASSER, 0N CLIENT, 11 COMMANDE
COMMANDE: id_commande, date_commande, statut

3Manipuler

Classez chaque outil ou action selon son rôle principal dans un projet de base de données.
Looping : dessiner un MCD Merise
Mocodo : générer un MCD à partir d'un texte
MySQL Workbench, onglet EER Diagram
Démarrer ou arrêter le service MySQL
Créer un compte utilisateur et ses droits
phpMyAdmin : lancer une requête SELECT
Le client en ligne de commande mysql
Forward Engineer : générer le script SQL depuis le diagramme

4Pratiquer

Exercice 1 · Le MCD en Mocodo

Écrivez en syntaxe Mocodo le MCD : PRODUIT (id_produit, nom, prix) appartient à une seule CATEGORIE (id_categorie, nom) ; une catégorie a 0 ou plusieurs produits.

Voir le corrigé
CATEGORIE: id_categorie, nom
APPARTENIR, 0N CATEGORIE, 11 PRODUIT
PRODUIT: id_produit, nom, prix

Exercice 2 · Les étapes dans Workbench

Dans quel ordre fait-on ces actions dans MySQL Workbench : Forward Engineer, créer les tables dans le diagramme, File > New Model, relier les tables, ouvrir Add Diagram ?

Voir le corrigé
1. File > New Model
2. Add Diagram
3. Créer les tables (colonnes, types, clé primaire)
4. Relier les tables (outil relation 1:n ou n:m)
5. Database > Forward Engineer : génère et exécute le script

Exercice 3 · Relire le script généré

L'outil a généré `id_ville INT NULL` dans la table client. D'après le MCD (CLIENT 0,1 — HABITER), est-ce juste ?

Voir le corrigé
Oui : 0,1 veut dire « une ville au plus, et ce n'est pas obligatoire ».
La clé étrangère peut donc être NULL.
Avec 1,1, il faudrait NOT NULL.

5Vérifier

1. Quel est l'avantage principal d'un outil de modélisation ?
2. Dans MySQL Workbench, « Forward Engineer » sert à...
3. Mocodo et Looping utilisent la notation...