Question

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

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

Était-ce utile?

La solution

J'ai trouvé SchemaSpy assez bon. Vous devez exécuter le script chaque fois que le schéma change, mais ce n'est pas le cas. grosse affaire.

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

Un autre outil intéressant est SchemaCrawler .

Autres conseils

J'utilise habituellement SchemaSpy pour cela, mais j'ai récemment découvert un article très simple sur sqlfairy qui utilise simplement le fichier de vidage pour créer le graphe de structure

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 quand il s'agit d'imprimer, mais d'après mon expérience, ils sont tous comme ça. Celui-ci est le meilleur de ceux que j'ai essayés. Cela fait de beaux diagrammes clairs. Essai gratuit. Coûte environ 120 $ selon le nombre de licences que vous achetez.

Sous Mac OS X, vous pouvez utiliser Sequel Pro

.

Je recommanderais le modélisateur de données Toad

.

Qu'en est-il du client SQL SQuirreL ? Comme mentionné dans la autre question SO , ce programme a la capacité de générer un diagramme ER simple.

Avez-vous essayé l'organisation > fonction d’organisation automatique dans MySQL Workbench. Vous éviterez peut-être de déplacer manuellement les tables.

DeZign pour les bases de données pourrait vous intéresser. Vous pouvez procéder au reverse engineering et à la modification de bases de données existantes. Possède une fonction de disposition automatique et la disposition du diagramme n'est pas maillée lors de la synchronisation de votre modèle de données avec la base de données.

Visio professional intègre un outil de reverse engineering de base de données. Vous devriez pouvoir l'utiliser avec MySQL via un pilote ODBC. Cela fonctionne mieux lorsque vous procédez à un reverse engineering 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.

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

Une approche différente, mais si vous utilisez Ruby on Rails, essayez RailRoad: http://railroad.rubyforge.org

J'ai longtemps cherché un outil décent, et de préférence gratuit, pour Linux et trouvé cette application Java assez bonne (enfin !!):

http://sqldeveloper.solyp.com/

Étant Java, il est multi-plateforme (je l’utilise sous Linux sans aucun problème) et il se connecte à toute base de données pour laquelle vous pouvez obtenir un pilote JDBC. c'est-à-dire: à peu près toutes les bases de données .

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

L’application est également un très bon outil d’administration / navigation de base de données générique. Comme petit exemple, je l’utilise au lieu de pgadmin pour certains travaux de développement de base en raison de simples subtilités telles que la largeur des colonnes des résultats de requêtes SQL, le dimensionnement automatique en fonction du contenu (ce qui me rend fou dans pgadmin).

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

De toute façon, j’ai DBIx :: Class dans mon ensemble d’outils, et le combiner avec SQL :: Translator me permet de convertir le schéma en de nombreux formats différents. Généralement des scripts d'initialisation SQL pour différents serveurs de base de données (facilitant ainsi le développement sur SQLite et le passage à Postgresql pour la production), mais ils peuvent également générer des données GraphViz. Les diagrammes sont donc faciles à générer.

ER / Studio de Embarcadero est l'un des plus coûteux, mais le mode hiérarchique il est de loin le meilleur pour comprendre les modèles de base de données. L’écriture de requête est la tâche la plus facile du monde.

C’est également incroyable avec la normalisation, la dénormalisation, l’entreposage, la documentation, etc.

L’inconvénient est qu’il s’agit d’un outil assez coûteux, en particulier lorsque vous utilisez plusieurs plateformes.

Lorsque vous dites visualiser le schéma de 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 supporté à présent, mais je ne suis pas sûr), mais RedGate possède un certain nombre d’outils qui rendent cela très simple. Son programme SQL Doc peut prendre toute votre base de données et créer une documentation complète sur celle-ci. SQL Dependency Tracker peut vous donner une représentation visuelle de toutes vos tables et montrer leurs liens, ou vous pouvez simplement charger certaines tables ou sprocs pour montrer ce qui les utilise ou ce qu'ils utilisent eux-mêmes.

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

Vous pouvez procéder à l'ingénierie inverse d'un schéma existant dans un diagramme de table relationnelle.

Vous pouvez également aller encore plus loin et procéder à une ingénierie inverse d'un modèle Entité-Relation avec un diagramme associé. Les diagrammes ER m'ont été très utiles pour discuter 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 et du diagramme des urgences étaient nécessaires avant que cela ne soit un outil de communication utile avec les parties prenantes.

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

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

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

texte de remplacement http://img256.imageshack.us/img256/1112/adminer .png

J'ai essayé DBSchema. Fonctionnalités intéressantes, mais extrêmement lentes pour une base de données contenant environ 75 tables. Inutilisable.

Essayez PHPMyAdmin qui offre une fonctionnalité de visualisation et d’édition vraiment intéressante. Je suis à peu près sûr que vous pouvez même exporter en exel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top