Existe-t-il de bons outils pour visualiser un schéma de base de données préexistant? J'utilise MySQL si ça compte.
J'utilise actuellement MySQL Workbench pour traiter un dump 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).
J'ai trouvé SchemaSpy plutôt 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 un GUI .
Un autre outil de Nice est SchemaCrawler .
J'utilise généralement SchemaSpy pour faire cela, mais récemment, j'ai trouvé 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 en ce qui concerne l'impression, mais d'après mon expérience, ils sont tous comme ça. Celui-ci C’est le meilleur de ceux que j’ai essayés. Il donne des diagrammes clairs et agréables. Un essai gratuit coûte environ 120 $ selon le nombre de licences que vous achetez.
sur Mac OS X, vous pouvez utiliser Sequel Pro
Je recommanderais modélisateur de données Toad
Que diriez-vous du SQuirreL SQL Client ? Comme mentionné dans ne autre SO question , ce programme a la capacité de générer un diagramme ER simple.
Je commence à créer mon propre script Perl basé sur le module SQL :: Translator (GraphViz). Voici premiers résultats .
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). Il fonctionne mieux lorsque vous procédez au reverse engineering de la base de données, puis vous créez les diagrammes en les faisant glisser du panneau de tables et de vues. les objets de clé étrangère et les mettre sur le diagramme aussi.
Je cherchais depuis longtemps un outil décent, et de préférence gratuit, pour linux et trouvais ceci Java qui est plutôt 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. Par exemple: à peu près tout 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 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" après avoir importé vos objets dans le diagramme.
L'application est également un très bon outil d'administration/de 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 du contenu (ce qui me rend fou dans pgadmin).
DeZign for Databases pourrait être intéressant pour vous. 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.
Une approche différente, mais si vous utilisez Ruby sur Rails, essayez RailRoad: http://railroad.rubyforge.org =
Avez-vous essayé la fonction organiser> organiser automatiquement dans MySQL Workbench. Vous éviterez peut-être de déplacer manuellement les tables.
J'utilise SQL :: Translator avec DBIx :: Class
De toute façon, j'ai DBIx :: Class dans ma chaîne d'outils, et le combiner avec SQL :: Translator me permet de convertir le schéma dans 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 son mode hiérarchique 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 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 allez multiplateforme.
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.
SchemaBall effectue la visualisation de manière intéressante.
J'ai essayé DBSchema. Fonctionnalités intéressantes, mais extrêmement lentes pour une base de données contenant environ 75 tables. Inutilisable.
Il y a des années, j'utilisais Data Architect. Je ne sais pas si c'est toujours là-bas.
Vous pouvez effectuer un reverse engineering 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 au modèle ER et au diagramme ER étaient nécessaires avant que cela ne soit un outil de communication utile avec les parties prenantes.
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 a plus de fonctionnalités, il est léger et il vient en fichier simple PHP.
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 que cela soit supporté à présent, mais je ne suis pas sûr), mais RedGate possède 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 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.