Хороший инструмент для визуализации схемы базы данных? [закрыто]
137
Есть ли хорошие инструменты для визуализации уже существующей схемы базы данных? Я использую MySQL, если это имеет значение.
В настоящее время я использую MySQL Workbench для обработки дампа сценария создания SQL, но это неуклюжий, медленный и ручной процесс перетаскивания всех таблиц (что было бы неплохо, если бы он не был таким медленным).
Спасибо, я думал, что интерфейс командной строки был чем-то вроде боли, конечно, как только я заставил его работать, я заметил ссылку на 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, которая просто использует файл дампа для создания структурного графа.
+1 для sqlfairy не требуется JRE (как и большинство других ответов).
mikewaters
Я только что получил то, что мне нужно от sqlfairy. Просто и быстро.
Fivedogit
sqlfairy может использовать огромное количество дискового пространства для больших баз данных. Я запустил его для базы данных размером 615 МБ, и она сломалась после заполнения 18 ГБ, оставшихся свободными на моем жестком диске.
Паскаль
Это старый комментарий ... Эти инструменты находятся в стадии разработки?
Hons
11
Мне нравится этот инструмент, который называется просто DbSchema . Он написан на Java, поэтому работает на OS X, Windows или Linux. Это немного неуклюже, особенно когда дело доходит до печати, но по моему опыту они все такие. Этот лучший из нескольких, которые я пробовал. Это делает хорошие, четкие диаграммы. Бесплатная пробная версия. Стоит около 120 долларов в зависимости от того, сколько лицензий вы покупаете.
Спасибо @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.svg4.) При желании конвертируйте сгенерированный SVG в JPG или PNG с помощью любого инструмента по вашему выбору (Inkscape, ImageMagick, GraphicsMagick и т. Д.)
Стоит попробовать, я всегда заканчиваю тем, что устраиваю себя тоже - но иногда это может заставить меня начать.
Брайан Фишер
2
DeZign для баз данных может быть интересным для вас. Вы можете перепроектировать и изменить существующие базы данных. Имеет функцию автоматической разметки, и разметка диаграммы не мешает при синхронизации вашей модели данных с базой данных.
Обратите внимание, что функция автоматического размещения не подходит для больших баз данных - это просто большой беспорядок. (например, пространство для диаграммы кажется ограниченным, и поэтому на правой границе много таблиц (в нашем случае 75 таблиц в одном месте). Я поиграл с разными вариантами компоновки, но результат не очень хорош в любом из опций
Lonzak
2
В Visio professional встроен инструмент реинжиниринга баз данных. Вы должны иметь возможность использовать его с MySQL через драйвер ODBC. Это работает лучше всего, когда вы перепроектируете базу данных, а затем создаете диаграммы, перетаскивая их с панели таблиц и представлений. Он будет перетаскивать любые объекты внешних ключей и помещать их на диаграмму.
Будучи Java, он является кроссплатформенным (я запускаю его на Linux без проблем) и будет подключаться к любой базе данных, для которой вы можете получить драйвер JDBC. То есть: практически любая база данных .
Импортировать вашу базу данных и получить визуальную ( ERM ) схему базы данных довольно просто . Функция автоматической разметки также хороша, но обратите внимание, что она не выполняется автоматически, и вам нужно нажать кнопку «автоматическая разметка» после импорта объектов в диаграмму.
Приложение также является довольно хорошим универсальным инструментом администрирования / просмотра баз данных. В качестве одного небольшого примера я использую его вместо pgadmin для некоторых базовых работ по разработке из-за простых тонкостей, таких как ширина столбца результатов SQL-запроса, автоматически подгоняемая под содержание (что сводит меня с ума в pgadmin).
Я согласен с этим. Я искал какой-либо инструмент с графическим интерфейсом для визуализации баз данных postgresql в linux, и большинство из них не сработало. Я только начал использовать SQL Developer, но это лучший бесплатный вариант, который я нашел до сих пор.
Адам Пламб
1
Я не могу дать новый ответ, поскольку вопрос сейчас закрыт, но на самом деле вам нужен инструмент DbVisualizer ( dbvis.com ). Это фантастика ... намного лучше, чем я рекомендовал в своем вопросе (если мое использование в течение последних нескольких лет является каким-либо показателем).
В любом случае в моем наборе инструментов есть DBIx :: Class, и объединение его с SQL :: Translator позволяет мне конвертировать схему во множество различных форматов. В основном инициализационные SQL-скрипты для разных серверов баз данных (что облегчает разработку на SQLite и переход на Postgresql для производства), но он также может выводить данные GraphViz, поэтому генерировать диаграммы тривиально.
ER / Studio от Embarcadero - один из более дорогих, но иерархический режим, который он представляет, безусловно, лучший для понимания моделей баз данных. Это делает написание запросов самой легкой задачей в мире.
Это также невероятно с нормализацией, денормализацией, складированием, документацией и т. Д.
Недостатком является то, что это довольно дорогой инструмент, особенно если вы используете мультиплатформенность.
Может быть, это работает для тривиальных схем, но я попробовал это на схеме с 28 таблицами, и это просто дало мне чисто вертикальный список всех таблиц в алфавитном порядке, с путаницей вертикальных линий, пытающихся проиллюстрировать отношения. Не может быть более бесполезным.
Dolph
Собственно, в моем случае 40 таблиц. Вы можете нажать, чтобы перетащить его, но как только вы выберите, вы не можете выбрать.
Зиян Джунайдин
0
Когда вы говорите, визуализируйте схему базы данных, вы имеете в виду текстовый документ со всеми вашими таблицами, sprocs и т. Д., Или вы имеете в виду визуальное представление вашей схемы и зависимостей?
Я знаю, что вы упомянули MySQL (и вполне возможно, что он поддерживается сейчас, но я не уверен), но RedGate имеет ряд инструментов, которые делают это довольно просто. Это программа SQL Doc, которая может взять всю вашу базу данных и создать для нее полноценную документацию. SQL Dependency Tracker может дать вам визуальное представление всех ваших таблиц и показать их связи, или вы можете загрузить только определенные таблицы или sprocs, чтобы показать, что их использует или что они используют сами.
Я хотел получить визуальное графическое представление, а не полноценный документ по базе данных, но все равно это звучит интересно (даже если это только SQL Server - есть другие вещи, использующие это).
Мат
0
Несколько лет назад я использовал Data Architect. Я не знаю, если это все еще там.
Вы можете перепроектировать существующую схему в диаграмму реляционной таблицы.
Или вы можете пойти еще дальше и перепроектировать модель Entity-Relationship с прилагаемой диаграммой. Диаграммы ER были действительно полезны для меня при обсуждении данных с людьми, которые не были ни программистами, ни экспертами по базам данных.
Иногда необходимо было несколько ручных исправлений модели ER и диаграммы ER, прежде чем она стала полезным инструментом связи с заинтересованными сторонами.
Попробуйте PHPMyAdmin, который имеет некоторые действительно хорошие возможности визуализации и редактирования. Я уверен, что вы даже можете экспортировать из него ссылки.
Ответы:
Я нашел SchemaSpy довольно хорошо - вы должны запускать скрипт каждый раз, когда меняется схема, но это не так уж сложно.
Как указано в комментариях, для него также есть графический интерфейс .
Еще один приятный инструмент - SchemaCrawler .
источник
Я обычно использую SchemaSpy для этого, но недавно я нашел действительно простую статью о sqlfairy, которая просто использует файл дампа для создания структурного графа.
источник
Мне нравится этот инструмент, который называется просто DbSchema . Он написан на Java, поэтому работает на OS X, Windows или Linux. Это немного неуклюже, особенно когда дело доходит до печати, но по моему опыту они все такие. Этот лучший из нескольких, которые я пробовал. Это делает хорошие, четкие диаграммы. Бесплатная пробная версия. Стоит около 120 долларов в зависимости от того, сколько лицензий вы покупаете.
источник
в Mac OS X вы можете использовать Sequel Pro
источник
+1
Sequel Pro очень рекомендуется.sudo port install graphviz
) и Homebrew (brew install graphviz
). 2.) Экспорт файла Dot (в SequelPro перейдите в «Файл»> «Экспорт»> «Graphviz Dot» и экспортируйте свою базу данных) 3.) Откройте терминал и конвертируйте точечный файл в SVGdot -Tsvg your_database.dot > your_database.svg
4.) При желании конвертируйте сгенерированный SVG в JPG или PNG с помощью любого инструмента по вашему выбору (Inkscape, ImageMagick, GraphicsMagick и т. Д.)Я бы порекомендовал Toad Data Modeller
источник
Как насчет SQuirreL SQL Client ? Как уже упоминалось в другом вопросе SO , эти программы могут генерировать простую диаграмму ER.
источник
Вы пробовали упорядочить> функцию автоматической компоновки в MySQL Workbench. Это может спасти вас от перемещения столов вручную.
источник
DeZign для баз данных может быть интересным для вас. Вы можете перепроектировать и изменить существующие базы данных. Имеет функцию автоматической разметки, и разметка диаграммы не мешает при синхронизации вашей модели данных с базой данных.
источник
В Visio professional встроен инструмент реинжиниринга баз данных. Вы должны иметь возможность использовать его с MySQL через драйвер ODBC. Это работает лучше всего, когда вы перепроектируете базу данных, а затем создаете диаграммы, перетаскивая их с панели таблиц и представлений. Он будет перетаскивать любые объекты внешних ключей и помещать их на диаграмму.
источник
Я начинаю создавать собственный Perl-скрипт на основе модуля SQL :: Translator (GraphViz). Вот первые результаты .
источник
Другой подход, но если вы используете Ruby on Rails, попробуйте RailRoad: http://railroad.rubyforge.org
источник
gem install railroady
Я долго искал достойный и, желательно, бесплатный инструмент для Linux, и нашел это Java-приложение весьма неплохим (наконец-то !!):
http://sqldeveloper.solyp.com/
Будучи Java, он является кроссплатформенным (я запускаю его на Linux без проблем) и будет подключаться к любой базе данных, для которой вы можете получить драйвер JDBC. То есть: практически любая база данных .
Импортировать вашу базу данных и получить визуальную ( ERM ) схему базы данных довольно просто . Функция автоматической разметки также хороша, но обратите внимание, что она не выполняется автоматически, и вам нужно нажать кнопку «автоматическая разметка» после импорта объектов в диаграмму.
Приложение также является довольно хорошим универсальным инструментом администрирования / просмотра баз данных. В качестве одного небольшого примера я использую его вместо pgadmin для некоторых базовых работ по разработке из-за простых тонкостей, таких как ширина столбца результатов SQL-запроса, автоматически подгоняемая под содержание (что сводит меня с ума в pgadmin).
источник
Я использую SQL :: Translator с DBIx :: Class
В любом случае в моем наборе инструментов есть DBIx :: Class, и объединение его с SQL :: Translator позволяет мне конвертировать схему во множество различных форматов. В основном инициализационные SQL-скрипты для разных серверов баз данных (что облегчает разработку на SQLite и переход на Postgresql для производства), но он также может выводить данные GraphViz, поэтому генерировать диаграммы тривиально.
источник
ER / Studio от Embarcadero - один из более дорогих, но иерархический режим, который он представляет, безусловно, лучший для понимания моделей баз данных. Это делает написание запросов самой легкой задачей в мире.
Это также невероятно с нормализацией, денормализацией, складированием, документацией и т. Д.
Недостатком является то, что это довольно дорогой инструмент, особенно если вы используете мультиплатформенность.
источник
Adminer (ранее phpMinAdmin), веб-приложение для управления базами данных MySQL, рисует простую диаграмму.
Само программное обеспечение похоже на phpMyAdmin, но имеет больше возможностей, легок и поставляется в одном PHP-файле.
источник
Когда вы говорите, визуализируйте схему базы данных, вы имеете в виду текстовый документ со всеми вашими таблицами, sprocs и т. Д., Или вы имеете в виду визуальное представление вашей схемы и зависимостей?
Я знаю, что вы упомянули MySQL (и вполне возможно, что он поддерживается сейчас, но я не уверен), но RedGate имеет ряд инструментов, которые делают это довольно просто. Это программа SQL Doc, которая может взять всю вашу базу данных и создать для нее полноценную документацию. SQL Dependency Tracker может дать вам визуальное представление всех ваших таблиц и показать их связи, или вы можете загрузить только определенные таблицы или sprocs, чтобы показать, что их использует или что они используют сами.
источник
Несколько лет назад я использовал Data Architect. Я не знаю, если это все еще там.
Вы можете перепроектировать существующую схему в диаграмму реляционной таблицы.
Или вы можете пойти еще дальше и перепроектировать модель Entity-Relationship с прилагаемой диаграммой. Диаграммы ER были действительно полезны для меня при обсуждении данных с людьми, которые не были ни программистами, ни экспертами по базам данных.
Иногда необходимо было несколько ручных исправлений модели ER и диаграммы ER, прежде чем она стала полезным инструментом связи с заинтересованными сторонами.
источник
SchemaBall делает визуализацию по-своему.
источник
Я пробовал DBSchema. Хорошие возможности, но очень медленные для базы данных с 75 таблицами. Непригодно.
источник
Попробуйте PHPMyAdmin, который имеет некоторые действительно хорошие возможности визуализации и редактирования. Я уверен, что вы даже можете экспортировать из него ссылки.
источник