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

137

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

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

Мат
источник
нет альтернативы чтению этой вещи ... если вы не думаете, что это полезно apidocs.sugarcrm.com/schema/6.5.14/ce/tables/campaign_log.html
gcb
2
Я снова задал этот вопрос на softwarerecs.stackexchange.com и очень приветствую любые альтернативы моему нынешнему решению.
Йерун
Визуализируйте схемы mysql, используя dbForge Studio for MySQL. Database Designer включен в бесплатную экспресс-версию.
Деварт

Ответы:

83

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

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

Еще один приятный инструмент - SchemaCrawler .

Rkj
источник
3
Спасибо, я думал, что интерфейс командной строки был чем-то вроде боли, конечно, как только я заставил его работать, я заметил ссылку на GUI на первой странице, joachim-uhl.de/projekte/schemaspygui . Следует также отметить, что программа вставляет рекламные объявления Google в полученный HTML-код.
Джеймс МакМэхон
1
Это хорошо. И стоит отметить, что для того, чтобы это заработало, нужно много побриться.
Кен Принц
Это круто! Было легко заставить это работать. Просто следуйте инструкциям. Также следует отметить, что он работает не только с MySQL, но и: DB2, Derby, Firebird, HSQLDB, Informix, MaxDB, MS SQL, Oracle, PostgreSQL, SQLite, Sbase, Teradata.
отдыхал
Сохраните себе работу и отправляйтесь с DbVisualizer ( dbvis.com ). Он работает с различными базами данных, включая SQLite, и их лицензионное соглашение позволяет использовать бесплатную версию для коммерческих проектов.
Aralox
14

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

Hons
источник
2
+1 для sqlfairy не требуется JRE (как и большинство других ответов).
mikewaters
Я только что получил то, что мне нужно от sqlfairy. Просто и быстро.
Fivedogit
sqlfairy может использовать огромное количество дискового пространства для больших баз данных. Я запустил его для базы данных размером 615 МБ, и она сломалась после заполнения 18 ГБ, оставшихся свободными на моем жестком диске.
Паскаль
Это старый комментарий ... Эти инструменты находятся в стадии разработки?
Hons
11

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

Итан
источник
Отличный инструмент. Есть также бесплатная версия, которая имеет большинство замечательных функций (например, синхронизация с live db).
Wheleph
это отличный инструмент, он может даже генерировать виртуальные внешние ключи, вау!
Нассим
10

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


источник
1
+1Sequel Pro очень рекомендуется.
Энн
6
Я думаю , что этот ответ нуждается в дополнительных объяснениях: norbauer.com/rails-consulting/notes/...
fguillen
1
Спасибо @fguillen! Давайте добавим объяснение прямо здесь (до того, как ссылка может сломаться ...). Это всего лишь 4 простых шага: 1.) Установите graphviz , он доступен в MacPorts ( sudo port install graphviz) и Homebrew ( brew install graphviz). 2.) Экспорт файла Dot (в SequelPro перейдите в «Файл»> «Экспорт»> «Graphviz Dot» и экспортируйте свою базу данных) 3.) Откройте терминал и конвертируйте точечный файл в SVG dot -Tsvg your_database.dot > your_database.svg 4.) При желании конвертируйте сгенерированный SVG в JPG или PNG с помощью любого инструмента по вашему выбору (Inkscape, ImageMagick, GraphicsMagick и т. Д.)
Arvid
2

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

Брайан Фишер
источник
2
Да, это вроде помогло, но не очень.
Мат
Стоит попробовать, я всегда заканчиваю тем, что устраиваю себя тоже - но иногда это может заставить меня начать.
Брайан Фишер
2

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


источник
Обратите внимание, что функция автоматического размещения не подходит для больших баз данных - это просто большой беспорядок. (например, пространство для диаграммы кажется ограниченным, и поэтому на правой границе много таблиц (в нашем случае 75 таблиц в одном месте). Я поиграл с разными вариантами компоновки, но результат не очень хорош в любом из опций
Lonzak
2

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

ConcernedOfTunbridgeWells
источник
2

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

http://sqldeveloper.solyp.com/

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

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

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

Russ
источник
Я согласен с этим. Я искал какой-либо инструмент с графическим интерфейсом для визуализации баз данных postgresql в linux, и большинство из них не сработало. Я только начал использовать SQL Developer, но это лучший бесплатный вариант, который я нашел до сих пор.
Адам Пламб
1
Я не могу дать новый ответ, поскольку вопрос сейчас закрыт, но на самом деле вам нужен инструмент DbVisualizer ( dbvis.com ). Это фантастика ... намного лучше, чем я рекомендовал в своем вопросе (если мое использование в течение последних нескольких лет является каким-либо показателем).
Расс
1

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

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

Quentin
источник
1

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

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

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

Радж Море
источник
1

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

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

альтернативный текст

Том Пажурек
источник
1
Может быть, это работает для тривиальных схем, но я попробовал это на схеме с 28 таблицами, и это просто дало мне чисто вертикальный список всех таблиц в алфавитном порядке, с путаницей вертикальных линий, пытающихся проиллюстрировать отношения. Не может быть более бесполезным.
Dolph
Собственно, в моем случае 40 таблиц. Вы можете нажать, чтобы перетащить его, но как только вы выберите, вы не можете выбрать.
Зиян Джунайдин
0

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

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

TheTXI
источник
Боюсь, инструменты Red Gate - только SQL Server.
Дейв Р.
Я хотел получить визуальное графическое представление, а не полноценный документ по базе данных, но все равно это звучит интересно (даже если это только SQL Server - есть другие вещи, использующие это).
Мат
0

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

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

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

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

Уолтер Митти
источник
0

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

deeeptext
источник
0

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

byteSlayer
источник