IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo dvp
  • Forums
  • Tutoriels
  • FAQ
  • Blogs
  • Chat
  • Newsletter
  • Emploi
  • Études
  • Droit
  • Club
  • DI/DSI Solutions d'entreprise
    • DI/DSI Solutions d'entreprise
    • Big Data
    • BPM
    • Business Intelligence
    • Data Science
    • ERP / PGI
    • CRM
    • SAS
    • SAP
    • Sécurité
    • Droit informatique et entreprise
    • OnlyOffice
  • Cloud
    • Cloud Computing
    • Oracle
    • Azure
    • IBM Cloud
  • IA
    • Intelligence artificielle
  • ALM
    • ALM
    • Agile
    • Merise
    • UML
  • Microsoft
    • Microsoft
    • .NET
    • Microsoft Office
    • Visual Studio
    • Windows
    • ASP.NET
    • TypeScript
    • C#
    • VB.NET
    • Azure
  • Java
    • Java
    • Java Web
    • Spring
    • Android
    • Eclipse
    • NetBeans
  • Dév. Web
    • Développement et hébergement Web
    • AJAX
    • Apache
    • ASP
    • CSS
    • Dart
    • Flash / Flex
    • JavaScript
    • NodeJS
    • PHP
    • Ruby & Rails
    • TypeScript
    • Web sémantique
    • Webmarketing
    • (X)HTML
  • EDI
    • EDI
    • 4D
    • Delphi
    • Eclipse
    • JetBrains
    • LabVIEW
    • NetBeans
    • MATLAB
    • Scilab
    • Visual Studio
    • WinDev
    • Visual Basic 6
    • Lazarus
    • Qt Creator
  • Programmation
    • Programmation
    • Débuter - Algorithmique
    • 2D - 3D - Jeux
    • Assembleur
    • C
    • C++
    • C#
    • D
    • Go
    • Kotlin
    • Objective C
    • Pascal
    • Perl
    • Python
    • Rust
    • Swift
    • Qt
    • XML
    • Autres
  • SGBD
    • SGBD & SQL
    • 4D
    • Access
    • Big Data
    • Data Science
    • DB2
    • Firebird
    • InterBase
    • MySQL
    • NoSQL
    • PostgreSQL
    • Oracle
    • Sybase
    • SQL-Server
    • MongoDB
  • Office
    • Microsoft Office
    • Access
    • Excel
    • Word
    • Outlook
    • PowerPoint
    • SharePoint
    • Microsoft Project
    • OpenOffice & LibreOffice
    • OnlyOffice
  • Mobiles
    • Mobiles
    • Android
    • iOS
  • Systèmes
    • Systèmes
    • Windows
    • Linux
    • Arduino
    • Hardware
    • HPC
    • Mac
    • Raspberry Pi
    • Réseau
    • Green IT
    • Sécurité
    • Systèmes embarqués
    • Virtualisation
    • Informatique quantique
    • Crypto, NFT & Blockchain
  • ALM
  • Agile
  • Merise
  • UML
  • FORUMS ALM
  • TUTORIELS ALM
  • FAQ ALM
  • FAQ GIT
  • LIVRES ALM

Modéliser les données avec MySQL Workbench

Image non disponible

Table des matièresPlier Déplier


    • 1. Rappels généraux à propos de la modélisation des données
      • 1-1. Types d'entités
      • 1-2. L'entité-type forte
      • 1-3. L'entité-type faible
      • 1-4. L'entité-type associative

    • 2. Pour débuter avec MySQL Workbench
      • 2-1. Bienvenue
      • 2-2. Créer un modèle
        • 2-2-1. Accès à l'onglet « File »
        • 2-2-2. Nouveau diagramme

    • 3. Définir la structure des tables
      • 3-1. Icône « New Table »
      • 3-2. En-tête de table (et clé primaire)
      • 3-3. Notation « Workbench simplifiée »
      • 3-4. Clés alternatives

    • 4. Définir les associations entre les tables (plusieurs à plusieurs)
      • 4-1. En amont de MySQL Workbench
      • 4-2. Avec MySQL Workbench
      • 4-3. Cardinalité minimale 0
      • 4-4. Clés étrangères
      • 4-5. Afficher le nom des associations
      • 4-6. Notation UML
      • 4-7. Notation « à la ACCESS »
      • 4-8. Ordre des colonnes dans les clés
      • 4-9. Ajout de colonnes
      • 4-10. Index redondants

    • 5. Associations de un à plusieurs
      • 5-1. Associations de un à plusieurs entre types d'entités indépendantes
        • 5-1-1. Entité-type indépendante (rappel)
        • 5-1-2. Icône « 1:n Non-Identifying Relationship »
      • 5-2. Associations de un à plusieurs (entre entités-types fortes et dépendantes)
        • 5-2-1. Associations binaires
          • 5-2-1-1. A la vie à la mort
          • 5-2-1-2. Identification absolue / relative
      • 5-3. Retour sur les associations de plusieurs à plusieurs : associations ternaires

    • 6. Associations de un à un (généralisation/spécialisation)
      • 6-1. Rappels
      • 6-2. Icône « 1:1 Identifying Relationship »
      • 6-3. Diagramme final

    • 7. Associations réflexives (nomenclatures, hiérarchies)
      • 7-1. Nomenclatures
      • 7-2. Hiérarchies

    • 8. Génération du code SQL
      • 8-1. Commande « Export »
      • 8-2. Définition du nom du fichier contenant le code SQL
      • 8-3. Types d'objets à exporter
      • 8-4. Choix des tables à faire figurer dans le code SQL
      • 8-5. Affichage du résultat par MySQL Workbench
      • 8-6. Enregistrement du fichier

    • 9. Rétro-conception
      • 9-1. Objet de la rétro-conception
      • 9-2. A partir du code SQL
      • 9-3. A partir de DBDesigner 4

    • 10. Annexes
      • 10-1. Afficher/cacher la grille
      • 10-2. Changer la couleur d'un objet
      • 10-3. Réduire la taille des objets à l'affichage
      • 10-4. Noms et types par défaut
        • 10-4-1. MySQL Workbench et les éléments par défaut
        • 10-4-2. Nom par défaut de la 1re colonne d'une table
        • 10-4-3. Nom et type par défaut d'une colonne banale
        • 10-4-4. Types par défaut
        • 10-4-5. Nom par défaut des clés étrangères
        • 10-4-6. Note à propos des actions de compensation (ON UPDATE, ON DELETE)
        • 10-4-7. Nom par défaut des tables associatives
      • 10-5. Changer l'ordre des colonnes d'une table
      • 10-6. Urbanisation des diagrammes
        • 10-6-1. Diagrammes comportant un grand nombre d'objets
        • 10-6-2. A la manoeuvre avec MySQL Workbench
        • 10-6-3. Ajouter un diagramme
        • 10-6-4. Renommer un diagramme
        • 10-6-5. Peupler un diagramme à partir du catalogue
        • 10-6-6. Masquer une table ou un lien dans un diagramme
        • 10-6-7. Les couches de peinture (layers)
      • 10-7. Définir une clé alternative
      • 10-8. Changer l'ordre des colonnes d'une clé
      • 10-9. Rendre un lien facultatif
      • 10-10. Supprimer un objet (sans s'énerver)
      • 10-11. Afficher le nom des associations entre tables
      • 10-12. MySQL Workbench 5.2 : Accueil
        • 10-12-1. Écran d'accueil
        • 10-12-2. Créer un nouveau modèle

Avant-propos

    L'objet est ici de rassembler, harmoniser et compléter les réponses faites aux questions des forumeurs de Developpez.com ayant déjà un minimum de connaissances en modélisation, soucieux de représenter correctement les structures de leurs bases de données sans devoir investir dans un AGL onéreux, alors que la version gratuite de MySQL Workbench¹ (MWB) permet de répondre de façon satisfaisante à leur besoin.

    Du point de vue de l'abstraction, un diagramme MWB est en théorie un cran en dessous d'un MCD de Merise ou d'un diagramme de classes UML — il se situe au niveau MLD (modèle logique des données) de Merise —, il ne prend donc pas formellement en compte des concepts tels que la généralisation/spécialisation, l'agrégation, la composition, mais ça n'est pas vraiment un problème, l'outil offrant ce qui est nécessaire et suffisant pour leur mise en oeuvre. Par contre les diverses contraintes telles que l'exclusion, l'inclusion, la totalité ne sont pas considérées ici.

    L'objet étant la modélisation des données, les possibilités offertes par l'outil qui ressortissent à l'administration de la base de données sont passées sous silence (structures physiques d'accueil des tables, partitioning), mais abordées quand c'est inévitable (index en relation avec les clés). Plus généralement pour tout ce qui relève du physique, à chacun (ou plutôt à son DBA préféré) de s'en préoccuper en fonction de son SGBD cible. La manipulation des données (requêtes SQL) n'est pas non plus prise en considération, on en reste à la structurel et à l'intégrité des données.

    L'article s'adresse donc à celui qui a besoin de disposer d'une représentation graphique de la base de données, à partir de quoi il pourra produire de façon automatique un script SQL conforme de création des tables, compte non tenu toutefois de l'ensemble des caractéristiques physiques de la base de données.

    N.B. On utilise ici la version gratuite (open source) de MySQL Workbench 6.0 : l'outil ne vérifie pas la validité des modèles (tables en double, clés non définies ou incohérentes, etc.), mais cela ne doit pas gêner celui qui travaille avec sérieux. De toute façon, lors de l'exécution des instructions SQL CREATE/ALTER TABLE, le SGBD se chargera de rappeler à l'ordre l'étourdi.

    A toutes fins utiles, signalons encore qu'on utilise ici MySQL Workbench pour Windows.

    Un très grand merci à Fabien (f-leb) qui a bien voulu accepter de relire l'article et n'a pas ménagé sa peine, ainsi qu'à Kropernic dont l'oeil vaut celui du lynx.

Documentation officielle du produit : http://dev.mysql.com/doc/index-gui.html (PDF téléchargeable).

(Si le lien n'est pas trouvé, rechercher : « MySQL Workbench Reference Manual »).

Pour l'ensemble des fonctionnalités (version open source / commerciale) : http://www.mysql.fr/products/workbench/features.html

Questions et commentaires à propos de cet article sont les bienvenus. Rendez-vous autour de la discussion ad-hoc : 9 commentaires Donner une note à l´article (5)

________________________________________________________________

¹ © 2013, Oracle Corporation and/or its affiliates.

Lire l'article.

Article lu   fois.

L'auteur

François de Sainte Marie Profil Pro

L'article

Publié le 30 janvier 2014 

Version en ligne

Version PDF

Lire l'article


suivant

Copyright © 2014 - François de Sainte Marie. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique ALM
  • Nous contacter
  • Soutenir Developpez.com
  • Participez
  • Hébergement
  • Publicité / Advertising
  • Informations légales

© 2000-2025 - www.developpez.com