Générer automatiquement un diagramme de base de données MySQL [fermé]

349

Je suis fatigué d'ouvrir Dia et de créer un diagramme de base de données au début de chaque projet. Existe-t-il un outil qui me permettra de sélectionner des tables spécifiques, puis de créer pour moi un diagramme de base de données basé sur une base de données MySQL? De préférence, cela me permettrait de modifier le diagramme par la suite, car aucune des clés étrangères n'est définie ...

Voici ce que j'imagine sous forme de diagramme (veuillez excuser la conception horrible des données, je ne l'ai pas conçue. Concentrons-nous sur le concept du diagramme et non sur les données réelles qu'il représente pour cet exemple;)):

diagramme voir le diagramme en taille réelle

cmcculloh
la source
vous pouvez utiliser phpmyadmin designer
Tamer Awad
Vous pouvez également utiliser le concepteur de base de données intégré dans dbForge Studio pour MySQL à cet effet.
Devart

Réponses:

425

Essayez MySQL Workbench, anciennement DBDesigner 4:

http://dev.mysql.com/workbench/

Il a un mode "Base de données d'ingénierie inverse":

Base de données -> Reverse engineering

entrez la description de l'image ici

Michael Stum
la source
7
@James: fonctionne toujours bien, cliquez sur Download Workbench 5.2.16 (coin supérieur droit), puis sur "Non merci, amenez-moi simplement aux téléchargements" et cela devrait fonctionner - au moins pour Windows, je n'ai essayé aucune autre plateforme .
Michael Stum
5
@ michael-stum Je trouve le plan de travail MySQL très utile, mais je trouve que la fonction de base de données de rétro-ingénierie ne lie pas automatiquement les tables, donc les tables nécessitent toujours un réarrangement.
David LeBauer
5
Notez que cela se trouve dans les référentiels Ubuntu en tant que mysql-workbench.
mlissner
37
Vous le trouverez dans le menu "Base de données -> Reverse engineering" sous les onglets DB.
h2ooooooo
11
Vous n'avez même pas besoin de vous connecter à la base de données pour cela. Exportez votre base de données MySQL en utilisant l'option "structure uniquement". Dans MySQL Workbench, allez dans "Fichier -> Nouveau modèle", puis "Fichier -> Importer -> Reverse engineering MySQL Create Script ..." et cochez la case "Placer les objets importés sur un diagramme".
Liam
65

J'ai récemment commencé à utiliser http://schemaspy.sourceforge.net/ . Il utilise GraphViz, et il me semble avoir un bon équilibre entre convivialité et simplicité.

Reinderien
la source
3
Je l'utilise aussi c'est un excellent outil, voici comment le configurer progrnotes.blogspot.com/2011/05/…
Sergey
1
schemaspy crée un schéma interactif (voir schemaspy.sourceforge.net/sample ) qui est simplement des fichiers HTML statiques qui peuvent être stockés et utilisés partout. MySQL Workbench ne crée pas de schéma interactif (uniquement des fichiers image ou pdf) et en plus de cela ne réorganise pas automatiquement et correctement les tables. Pour l'automatisation (les versions nocturnes créent un schéma mis à jour), schemaspy convient également car il est entièrement en ligne de commande.
Long Vu
+1 C'est le seul outil qui a fait ce que je voulais: générer automatiquement la documentation DB au moment de la sortie.
Lennart Rolland
Cela me frappe avec la quantité d'erreurs que je reçois et les installations que je dois faire pour le faire fonctionner sous Linux.
Damir Olejar
1
@DamirOlejar vous devez avoir une version stable de graphviz (alias dot) installée, je ne recommande pas de la compiler vous-même. cela conduira à une version différente qui ne reconnaît pas les pngs et échouera donc schemaspy. / de toute façon, une fois qu'il est configuré, cet outil est plutôt soigné +1
phil294
24

Sur un Mac, SQLEditor fera ce que vous voulez.

mlambie
la source
Il semble avoir le même problème que j'ai eu avec MySQLWorkbench, la relation entre les tables n'est pas affichée.
Est-ce important
6

Ce http://code.google.com/p/database-diagram/ inversera la conception de votre base de données. Faites juste une exportation 'structure seulement' puis collez le SQL dans l'outil.


la source
Ne connecte pas les clés étrangères (mysql), affiche simplement les tables avec des valeurs et ne permet pas un écran plus grand pour les assembler toutes ensemble.
Damir Olejar
4

Je crois que DB Designer fait quelque chose comme ça. Et je pense qu'ils ont même une version gratuite.

modifier Tant pis. Le lien de Michael est bien meilleur.

Mark Biek
la source
4

MySQL Workbench a fonctionné comme un charme.

Je viens de sauvegarder la structure de la base de données dans un script SQL et de l'utiliser dans "Créer un modèle EER à partir du script SQL" de MWB 5.2.37 pour Windows.

Tauri Alfa
la source
4

Dans MySql Workbench (6.0), il est possible de générer un diagramme basé sur les tables créées. Pour cela, vous devez accéder à la barre d'outils, appuyez sur Modéliser et transférer Créer un diagramme à partir des objets de catalogue et c'est fait!

Hugo Silva
la source
3

Visual Paradigm pour UML 9.0

C'est génial, je travaillais avec mysql bench mais pour les grandes bases de données (quelque chose comme plus de 300 tables) ne fonctionnera pas très bien mais la base de données inversée du paradigme visuel fonctionne tellement mieux

mb2015
la source
Quelle édition de VP possédez-vous? J'ai une ancienne copie de la v7, mais dans cette version, l'ingénierie inverse n'est disponible que dans l'édition d'entreprise (chère!).
Guy Rixon
Puis-je générer le diagramme à partir d'une base de données en direct à l'aide de l'édition communautaire?
David Ferenczy Rogožan
2

Essayez SchemaBank . Ils prennent également en charge l'ingénierie inverse.

Leigh Pyle
la source
semble être discontinué
Wolfgang Jacques
1

Essaie Vertabelo !

Il s'agit d'un modeleur de base de données en ligne qui prend en charge la génération inverse.

Créez simplement un compte Vertabelo gratuit , importez une base de données existante dans Vertabelo et le tour est joué - votre base de données est dans Vertabelo!

Il prend en charge les bases de données suivantes:

  • PostgreSQL,
  • MySQL,
  • Oracle,
  • IBM DB2,
  • HSQLDB,
  • MS SQL Server.
Bartek
la source
0

Voici un outil qui génère des diagrammes relationnels à partir de MySQL (sur Windows pour le moment). Je l'ai utilisé sur une base de données avec 400 tables. Si le diagramme est trop grand pour un seul diagramme, il se décompose en plus petits. Vous vous retrouverez donc probablement avec plusieurs diagrammes et vous pourrez naviguer entre eux en cliquant avec le bouton droit. Tout est expliqué dans le lien ci-dessous. L'outil est gratuit (comme dans la bière gratuite), l'auteur l'utilise lui-même pour consulter des missions et laisse d'autres personnes l'utiliser. http://www.scmlite.com/Quick%20overview

Ludovic Aubert
la source
2
Actuellement, ce domaine n'existe pas
dstudeba
-1

Le mode "Reverse Engineering Database" dans Workbench n'est qu'une partie de la version payante, pas la version gratuite.

John Downey
la source
37
Si c'était vrai, ce n'est plus.
Ian Hunter
1
Cela fonctionne très bien sur une nouvelle copie gratuite de Workbench téléchargée aujourd'hui.
Guy Rixon
Oui, cela fonctionne dans la version gratuite, mais comme il est assez avisé de modifier le schéma pour certains types de relations, il n'est donc pas aussi utile que vous pourriez le penser pour documenter un schéma existant qui ne suit pas ses conventions.
jerseyboy
Je ne sais pas où trouver la version de banc sql avec l'onglet de rétro-ingénierie, comme par lien, elle est prise en charge sur la version commerciale uniquement, pas sur la communauté dev.mysql.com/doc/workbench/en/wb-data-modeling-menus.html :(
Dreamweaver