Bon outil pour visualiser le schéma de base de données? [fermé]

137

Existe-t-il de bons outils pour visualiser un schéma de base de données préexistant? J'utilise MySQL si cela compte.

J'utilise actuellement MySQL Workbench pour traiter un vidage de script de création SQL, mais c'est maladroit, lent et un processus manuel pour faire glisser toutes les tables (ce qui serait bien si ce n'était pas si lent).

Tapis
la source
il n'y a pas d'alternative à la lecture de la chose ... sauf si vous pensez que cela est utile apidocs.sugarcrm.com/schema/6.5.14/ce/tables/campaign_log.html
gcb
2
J'ai posé cette question à nouveau, sur softwarerecs.stackexchange.com , et je salue vivement toute alternative à ma propre solution actuelle.
Jeroen
Visualisez les schémas mysql à l' aide de dbForge Studio pour MySQL. Database Designer est inclus dans l'édition gratuite Express.
Devart

Réponses:

83

J'ai trouvé SchemaSpy assez bon - vous devez exécuter le script chaque fois que le schéma change, mais ce n'est pas si grave.

Comme indiqué dans les commentaires, il existe également une interface graphique .

Un autre outil intéressant est SchemaCrawler .

rkj
la source
3
Merci, je pensais que l'interface de ligne de commande était un peu pénible, bien sûr, une fois que je l'ai fait fonctionner, j'ai remarqué le lien vers l'interface graphique sur la page d'accueil, joachim-uhl.de/projekte/schemaspygui . Il convient également de noter que le programme insère des annonces Google dans le HTML résultant.
James McMahon le
1
C'est bon. Et il est intéressant de noter que beaucoup de rasage du yak doit être fait pour le faire fonctionner.
Ken Prince
C'est bien! C'était facile de le faire fonctionner. Suivez simplement les instructions. En outre, il convient de noter que cela fonctionne non seulement avec MySQL et: DB2, Derby, Firebird, HSQLDB, Informix, MaxDB, MS SQL, Oracle, PostgreSQL, SQLite, Sbase, Teradata.
iled le
Enregistrez-vous le travail et utilisez DbVisualizer ( dbvis.com ). Il fonctionne avec une variété de bases de données, y compris SQLite, et leur CLUF permet à la version gratuite d'être utilisée pour des projets commerciaux.
Aralox le
14

J'utilise habituellement SchemaSpy pour ce faire, mais j'ai récemment trouvé un article très simple sur sqlfairy qui utilise simplement le fichier de vidage pour créer le graphique de structure

Hons
la source
2
+1 pour sqlfairy pas requis le JRE (comme la plupart des autres réponses).
mikewaters
Je viens de recevoir ce dont j'avais besoin de sqlfairy. Simple et rapide.
fivedogit
sqlfairy peut utiliser d'énormes quantités d'espace disque pour les grandes bases de données. Je l'ai exécuté pour une base de données de 615 Mo et elle est tombée en panne après avoir rempli les 18 Go qui restaient libres sur mon disque dur.
Pascal
C'est un vieux commentaire ... Ces outils sont-ils encore en développement?
Hons
11

J'aime cet outil, appelé simplement DbSchema . Il est écrit en Java et fonctionne donc sous OS X, Windows ou Linux. C'est un peu maladroit, surtout en ce qui concerne l'impression, mais d'après mon expérience, ils sont tous comme ça. Celui-ci est le meilleur des nombreux que j'ai essayés. Il fait de beaux diagrammes clairs. Essai gratuit. Coûte environ 120 $ selon le nombre de licences que vous achetez.

Ethan
la source
Excellent outil. Il existe également une édition gratuite qui possède la plupart des fonctionnalités intéressantes (synchronisation avec live db par exemple).
wheleph
c'est un excellent outil, il peut même générer des clés étrangères virtuelles, wow!
Nassim le
10

sur Mac OS X, vous pouvez utiliser Sequel Pro


la source
1
+1Sequel Pro est fortement recommandé.
Anne
6
Je pense que cette réponse nécessite une explication supplémentaire: norbauer.com/rails-consulting/notes/…
fguillen
1
Merci @fguillen! Ajoutons l'explication ici (avant que le lien ne se brise…). Ce n'est que 4 étapes faciles: 1.) Installez graphviz , il est disponible dans MacPorts ( sudo port install graphviz) et dans Homebrew ( brew install graphviz). 2.) Exporter le fichier Dot (dans SequelPro, allez dans Fichier> Exporter> Graphviz Dot et exportez votre base de données) 3.) Ouvrez le terminal et convertissez le fichier dot en SVG dot -Tsvg your_database.dot > your_database.svg 4.) Convertissez éventuellement le SVG généré en JPG ou PNG en utilisant n'importe quel outil de votre choix (Inkscape, ImageMagick, GraphicsMagick, etc.)
Arvid
2

Avez-vous essayé la fonction organiser> arranger automatiquement dans MySQL Workbench. Cela peut vous éviter de déplacer manuellement les tables.

Brian Fisher
la source
2
Ouais, ça a un peu aidé mais ce n'était pas génial.
Mat
Ça vaut le coup d'essayer, je finis toujours par m'arranger moi-même - mais parfois cela peut me permettre de démarrer.
Brian Fisher
2

DeZign pour les bases de données pourrait être intéressant pour vous. Vous pouvez procéder au reverse engineering et modifier les bases de données existantes. Possède une fonction de mise en page automatique et la mise en page du diagramme n'est pas maillée lors de la synchronisation de votre modèle de données avec la base de données.


la source
Veuillez noter que la fonction de mise en page automatique n'est pas adaptée aux bases de données plus volumineuses - c'est juste un gros désordre. (par exemple, l'espace pour le diagramme semble être limité et il y a donc beaucoup de tableaux entassés sur la bordure droite (dans notre cas 75 tableaux au même endroit). J'ai joué avec les différentes options de mise en page mais le résultat n'est pas bon dans aucun des options.
Lonzak
2

Professionnel de Visio un outil de rétro-ingénierie de base de données. Vous devriez pouvoir l'utiliser avec MySQL via un pilote ODBC. Cela fonctionne mieux lorsque vous procédez à l'ingénierie inverse de la base de données, puis que vous créez les diagrammes en les faisant glisser hors du panneau des tables et des vues. Il fera glisser tous les objets de clé étrangère et les placera également sur le diagramme.

ConcernedOfTunbridgeWells
la source
2

Je commence à créer mon propre script Perl basé sur le module SQL :: Translator (GraphViz). Voici les premiers résultats .

mj41
la source
2

J'ai longtemps cherché un outil décent, et de préférence gratuit, pour Linux et j'ai trouvé cette application java qui est plutôt bonne (enfin !!):

http://sqldeveloper.solyp.com/

Étant Java, il est multiplateforme (je l'exécute sous Linux sans problème) et il se connectera à n'importe quelle base de données pour laquelle vous pouvez obtenir un pilote JDBC. ie: à peu près n'importe quelle base de données .

Il est assez facile d'importer votre base de données et d'obtenir un visuel ( ERM ) du schéma de la base de données. La fonction de mise en page automatique est également bonne, mais notez qu'elle ne se fait pas automatiquement et que vous devez cliquer sur le bouton "mise en page automatique" après avoir importé vos objets dans le diagramme.

L'application est également un très bon outil générique d'administration / navigation de base de données. À titre d'exemple, je l'utilise à la place de pgadmin pour certains travaux de développement de base en raison de subtilités simples comme la largeur de colonne des résultats de requête SQL dimensionnés automatiquement pour s'adapter au contenu (ce qui me rend fou dans pgadmin).

Russ
la source
Je suis d'accord avec ça. J'ai recherché n'importe quel outil d'interface graphique pour visualiser les bases de données postgresql sur Linux et la plupart d'entre elles tombent à plat sur leur visage. Je viens de commencer à utiliser SQL Developer mais c'est la meilleure option gratuite que j'ai trouvée jusqu'à présent.
Adam Plumb
1
Je ne peux pas fournir de nouvelle réponse car la question est maintenant fermée, mais l'outil que vous voulez réellement est DbVisualizer ( dbvis.com ). C'est fantastique ... bien mieux que ce que j'ai recommandé dans ma question (si mon utilisation au cours des dernières années est une indication).
Russ
1

J'utilise SQL :: Translator avec DBIx :: Class

J'ai de toute façon DBIx :: Class dans ma chaîne d'outils, et le combiner avec SQL :: Translator me permet de convertir le schéma en de nombreux formats différents. Principalement des scripts d'initialisation SQL pour différents serveurs de base de données (ce qui facilite le développement sur SQLite et le passage à Postgresql pour la production), mais il peut également générer des données GraphViz, de sorte que les diagrammes sont faciles à générer.

Quentin
la source
1

ER / Studio par Embarcadero est l'un des plus coûteux, mais le mode hiérarchique qu'il présente est de loin le meilleur pour comprendre les modèles de base de données. Cela fait de l'écriture de requêtes la tâche la plus simple au monde.

C'est aussi incroyable avec la normalisation, la dénormalisation, l'entreposage, la documentation, etc.

L'inconvénient est que c'est un outil assez coûteux, surtout lorsque vous utilisez une multiplateforme.

Raj Plus
la source
1

Adminer (anciennement phpMinAdmin), l'application Web de gestion des bases de données MySQL, dessine un diagramme simple.

Le logiciel lui-même est similaire à phpMyAdmin, mais a plus de fonctionnalités, il est léger et il est livré dans un seul fichier PHP.

texte alternatif

Tom Pažourek
la source
1
Peut-être que cela fonctionne pour les schémas triviaux, mais je l'ai essayé sur un schéma avec 28 tables et cela m'a juste donné une liste purement verticale de toutes les tables par ordre alphabétique, avec un désordre de lignes verticales essayant d'illustrer les relations. Ça ne pouvait plus être inutile.
Dolph
Exactement, dans mon cas, 40 tables. Vous pouvez cliquer pour le faire glisser, mais une fois que vous avez sélectionné, vous ne pouvez pas le sélectionner.
Ziyan Junaideen
0

Lorsque vous dites visualiser le schéma de la base de données, faites-vous référence à un document texte de toutes vos tables, sprocs, etc., ou faites-vous référence à une représentation visuelle de votre schéma et de vos dépendances?

Je sais que vous avez mentionné MySQL (et il est très possible qu'il soit pris en charge maintenant, mais je ne suis pas sûr), mais RedGate a un certain nombre d'outils qui rendent cela assez simple. Son programme SQL Doc peut prendre toute votre base de données et créer une documentation complète sur la base de données. SQL Dependency Tracker peut vous donner une représentation visuelle de toutes vos tables et afficher leurs liens, ou vous pouvez charger uniquement certaines tables ou sprocs pour montrer ce qui les utilise ou ce qu'ils utilisent eux-mêmes.

TheTXI
la source
Les outils de Red Gate ne sont que SQL Server, j'en ai peur.
Dave R.
J'étais à la recherche d'une représentation graphique visuelle plutôt que d'un document de base de données à part entière, mais cela semble toujours intéressant (même si ce n'est que SQL Server - ayez d'autres choses à utiliser).
Mat
0

Il y a des années, j'utilisais Data Architect. Je ne sais pas si c'est toujours là-bas.

Vous pouvez rétroconcevoir un schéma existant dans un diagramme de table relationnelle.

Ou vous pouvez aller encore plus loin et procéder à l'ingénierie inverse d'un modèle Entité-Relation avec un diagramme d'accompagnement. Les diagrammes ER m'ont été très utiles lorsque j'ai discuté des données avec des personnes qui n'étaient ni des programmeurs ni des experts en bases de données.

Parfois, quelques corrections manuelles du modèle ER et du diagramme ER étaient nécessaires avant que ce ne soit un outil de communication utile avec les parties prenantes.

Walter Mitty
la source
0

SchemaBall fait de la visualisation sa propre manière intéressante.

mj41
la source
0

J'ai essayé DBSchema. Belles fonctionnalités, mais extrêmement lentes pour une base de données avec environ 75 tables. Inutilisable.

deeeptext
la source
0

Essayez PHPMyAdmin qui a de très bonnes fonctionnalités de visualisation et d'édition. Je suis presque sûr que vous pouvez même exporter pour en extraire.

byteSlayer
la source