Хороший инструмент для визуализации схемы базы данных?

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

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

Ответ 1

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

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

Другим приятным инструментом является SchemaCrawler.

Ответ 2

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

Ответ 3

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

Ответ 5

в Mac OS X вы можете использовать Sequel Pro

Ответ 7

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

Ответ 8

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

Ответ 9

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

Ответ 10

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

Ответ 11

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

Ответ 12

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

http://sqldeveloper.solyp.com/

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

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

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

Ответ 13

Я использую SQL:: Переводчик с DBIx:: Class

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

Ответ 14

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

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

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

Ответ 15

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

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

Ответ 16

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

Вы можете преобразовать существующую схему в реляционную таблицу.

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

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

Ответ 17

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

Ответ 18

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

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

alt text http://img256.imageshack.us/img256/1112/adminer.png

Ответ 19

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

Ответ 20

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