Хороший инструмент для визуализации схемы БД? [закрытый]

есть ли хорошие инструменты для визуализации существующей схемы базы данных? Я использую MySQL, если это имеет значение.

в настоящее время я использую MySQL Workbench для обработки дампа сценария создания SQL, но это неуклюжий, медленный и ручной процесс перетаскивания всех таблиц (что было бы хорошо, если бы это было не так медленно).

20 ответов


нашел SchemaSpy довольно хорошо-вы должны запускать скрипт каждый раз, когда изменяется схема, но это не так важно.

Как указано в комментариях, также есть GUI для него.

еще один хороший инструмент SchemaCrawler.


Я обычно использую SchemaSpy для этого, но недавно я нашел очень простую статью о sqlfairy это просто использует файл дампа для создания графика структуры


Мне нравится этот инструмент, называется просто практическое руководство. Он написан на Java, поэтому он работает на OS X, Windows или Linux. Это немного неуклюже, особенно когда дело доходит до печати, но по моему опыту они все такие. Этот-лучший из тех, что я пробовал. Это делает хорошие, четкие схемы. Бесплатная пробная версия. Стоит около 120 $в зависимости от того, сколько лицензий вы покупаете.


Я бы порекомендовал жаба Data modeller


на Mac OS X вы можете использовать Продолжение Pro


как о клиент белку в SQL? Как упоминалось в еще один вопрос, эти программы имеют возможность генерировать простую диаграмму ER.


вы пробовали функцию arrange > auto arrange в MySQL Workbench. Это может спасти вас от ручного перемещения таблиц.


Dezignбыл для базы данных может быть интересно для вас. Вы можете перепроектировать и изменять существующие базы данных. Имеет функцию автоматического макета, а макет диаграммы не зацепляется при синхронизации вашей модели данных с базой данных.


Visio профессиональный имеет встроенный в него инструмент обратного проектирования базы данных. Вы должны иметь возможность использовать его с MySQL через драйвер ODBC. Он лучше всего работает при обратном проектировании базы данных, а затем создает диаграммы, перетаскивая их с панели таблицы и представления. Он будет перетаскивать любые объекты внешнего ключа и помещать их на диаграмму.


Я начинаю создавать собственный скрипт Perl на основе модуля SQL::Translator (GraphViz). Вот первые результаты.


другой подход, но если вы используете Ruby on Rails попробуйте RailRoad:http://railroad.rubyforge.org


Я долго искал приличный, и желательно бесплатный, инструмент для linux и нашел это java-приложение, которое довольно хорошо (наконец!!):

http://sqldeveloper.solyp.com/

будучи Java, это кросс-платформенный (я запускаю его на Linux без проблем), и он будет подключаться к любой базе данных, для которой вы можете получить драйвер JDBC. т. е.: в значительной степени любая база данных.

Это довольно легко импортировать базу данных и получить визуальный (эээ) схемы базы данных. Функция автоматической компоновки также хороша, но обратите внимание, что это не делается автоматически, и вам нужно нажать кнопку "автоматическая компоновка" после импорта ваших объектов в диаграмму.

приложение также является довольно хорошим общим инструментом администрирования базы данных / просмотра. В качестве одного небольшого примера я использую его вместо pgadmin для некоторой базовой разработки из-за простых тонкостей, таких как ширина столбца результатов SQL-запроса автоматически размер, чтобы соответствовать содержанию (что сводит меня с ума в pgadmin).


Я использую SQL:: Translator С DBIx:: Class

У меня есть DBIx::Class в моей цепочке инструментов в любом случае, и объединение его с SQL::Translator позволяет мне конвертировать схему во множество различных форматов. В основном инициализация SQL-скриптов для разных серверов баз данных (что упрощает разработку на SQLite и переход на Postgresql для производства), но он также может выводить данные GraphViz, поэтому диаграммы тривиальны для генерации.


ER / Studio by Embarcadero является одним из более дорогостоящих, но иерархический режим, который он представляет, безусловно, лучший для понимания моделей баз данных. Это делает написание запросов самой простой задачей в мире.

Это также невероятно с нормализацией, денормализацией, складированием, документацией и т. д.

недостатком является то, что это довольно дорогой инструмент, особенно когда вы идете multiplatform.


когда вы говорите визуализировать схему базы данных, вы ссылаетесь на текстовый документ всех ваших таблиц, sprocs и т. д. или вы имеете в виду визуальное представление схемы и зависимости?

Я знаю, что Вы упомянули MySQL (и очень возможно, что он поддерживается сейчас, но я не уверен), но RedGate имеет ряд инструментов, которые делают это довольно простым. Это программа SQL Doc может взять всю вашу базу данных и создать полномасштабную документацию базы данных для нее. язык SQL Dependency Tracker может дать вам визуальное представление всех ваших таблиц и показать их ссылки, или вы можете загрузить только определенные таблицы или sprocs, чтобы показать, что использует их или что они используют сами.


годы назад я использовал Data Architect. Я не знаю, все ли еще там.

вы можете перепроектировать существующую схему в диаграмму реляционной таблицы.

или вы могли бы пойти еще дальше и перепроектировать модель отношений сущности с сопутствующей диаграммой. Диаграммы ER были очень полезны для меня при обсуждении данных с людьми, которые не были ни программистами, ни экспертами по базам данных.

иногда несколько ручных исправлений в Модель ER и диаграмма ER были необходимы, прежде чем она стала полезным инструментом коммуникации с заинтересованными сторонами.


SchemaBall делает визуализацию-своему интересно.


Adminer (ранее phpMinAdmin), веб-приложение для управления базами данных MySQL, рисует простую схему.

само программное обеспечение похоже на phpMyAdmin, но имеет больше функций, его легкий вес и поставляется в одном файле PHP.

alt текст http://img256.imageshack.us/img256/1112/adminer.png


Я попробовал DBSchema. Хорошие функции, но дико медленные для базы данных с примерно 75 таблицами. Непригодный.


попробуйте PHPMyAdmin, который имеет очень хорошую визуализацию и функцию редактирования. Я уверен, что вы даже можете экспортировать в exel из него.