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


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 для MySQL. Дизайнер баз даних включений до безкоштовного видання Express.
Деварт

Відповіді:


83

Я вважав SchemaSpy досить хорошим - вам потрібно запускати сценарій щоразу, коли схема змінюється, але це не так вже й багато.

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

Ще один приємний інструмент - SchemaCrawler .


3
Дякую, я подумав, що інтерфейс командного рядка був біль, але, звичайно, коли я працював, я помітив посилання на GUI з першої сторінки, joachim-uhl.de/projekte/schemaspygui . Слід також зазначити, що програма вставляє об’яви Google в HTML, що виходить.
Джеймс Макмахон

1
Це добре. І варто зауважити, що для того, щоб він працював, потрібно зробити велику кількість гоління як.
Кен Принс

Це чудово! Це було легко працювати. Просто дотримуйтесь інструкцій. Також слід зазначити, що він працює не тільки з MySQL і: DB2, Derby, Firebird, HSQLDB, Informix, MaxDB, MS SQL, Oracle, PostgreSQL, SQLite, Sbase, Teradata.
iled

Збережіть собі роботу та перейдіть за допомогою DbVisualizer ( dbvis.com ). Він працює з різними базами даних, включаючи SQLite, і їх EULA дозволяє використовувати безкоштовну версію для комерційних проектів.
Аралокс

14

Я зазвичай використовую SchemaSpy для цього, але нещодавно я знайшов дійсно просту статтю про sqlfairy, яка просто використовує дамп-файл для створення структурного графіка


2
+1 для sqlfairy не вимагається JRE (як і більшість інших відповідей).
mikewaters

Я щойно отримав те, що мені потрібно від sqlfairy. Просто і швидко.
п'ятьдогіт

sqlfairy може використовувати величезну кількість дискового простору для великих баз даних. Я запустив його в базу даних, що була величиною 615 Мб, і вона вийшла з ладу після того, як я заповнив 18 Гбіт, що залишився вільним на моєму жорсткому диску.
Паскаль

Це старий коментар ... Чи ці інструменти ще розробляються?
Відзначено

11

Мені подобається цей інструмент, який називається просто DbSchema . Він написаний на Java, тому він працює в OS X, Windows або Linux. Це трохи незграбно, особливо якщо мова йде про друк, але, з мого досвіду, вони всі такі. Цей найкращий із кількох, які я пробував. Це робить приємні, чіткі діаграми. Безкоштовне випробування. Коштує близько 120 доларів, залежно від того, скільки ліцензій ви купуєте.


Відмінний інструмент. Є також безкоштовне видання, яке має більшість чудових функцій (наприклад, синхронізація з прямим 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 тощо)
Арвід



2

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


2
Так, це ніби допомогло, але не було великим.
Мат

Варто спробувати, я завжди також домовляюся про себе, але іноді це може мене почати.
Брайан Фішер

2

DeZign для баз даних може бути цікавим для вас. Ви можете змінити інженер і змінити існуючі бази даних. Отримала функцію автоматичного компонування, і схема синхронізації вашої моделі даних із базою даних не змішується.


Зауважте, що функція авторозміщення не підходить для великих баз даних - це просто великий безлад. (наприклад, місце для діаграми, здається, обмежене, і тому на правій межі є багато таблиць (у нашому випадку 75 таблиць в одному місці). Я розігрувався з різними варіантами компонування, але результат не гарний в будь-якому з варіантів.
Lonzak

2

Visio professional має вбудований у нього інструмент зворотного проектування бази даних. Ви повинні мати можливість використовувати його з MySQL через драйвер ODBC. Він найкраще працює, коли ви реверсуєте інженерну базу даних, а потім створюєте діаграми, перетягуючи їх із таблиць і панелей переглядів. Він перетягне будь-які сторонні ключові об'єкти і також поставить їх на діаграму.




2

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

http://sqldeveloper.solyp.com/

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

Імпортувати вашу базу даних досить просто і отримати візуальну ( ERM ) схему бази даних. Функція автоматичного компонування також хороша, але зауважте, що вона не виконується автоматично, і вам потрібно натиснути кнопку "автоматична компонування" після імпорту ваших об'єктів у діаграму.

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


Я згоден з цим. Я шукав будь-який інструмент GUI для візуалізації баз даних postgresql на Linux, і більшість з них падають на обличчя. Я щойно почав використовувати SQL Developer, але це найкращий безкоштовний варіант, який я знайшов поки що.
Адам Плумб

1
Я не можу надати нову відповідь, оскільки питання закрите, але інструмент, який ви насправді хочете, - це DbVisualizer ( dbvis.com ). Це фантастично ... набагато краще, ніж те, що я рекомендував у своєму питанні (якщо моє використання протягом останніх декількох років є ознакою).
Russ

1

Я використовую SQL :: Translator з DBIx :: Class

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


1

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

Це також неймовірно з нормалізацією, денормалізацією, складуванням, документацією тощо.

Мінусом є те, що це досить дорогий інструмент, особливо коли ви переходите на багатоплатформну платформу.


1

Веб-додаток для управління базами даних MySQL адміністратор (раніше phpMinAdmin) малює просту схему.

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

alt текст


1
Можливо, це працює для тривіальних схем, але я спробував це на схемі з 28 таблицями, і це просто дало мені чисто вертикальний список усіх таблиць в алфавітному порядку, з безладом вертикальних ліній, що намагаються проілюструвати відносини. Не може бути більше марним.
Дельф

Точно в моєму випадку 40 таблиць. Ви можете натиснути, щоб перетягнути його, але як тільки ви виберете, ви не можете вибрати.
Зіян Джунайдін

0

Коли ви кажете візуалізувати схему бази даних, ви посилаєтесь на текстовий документ усіх ваших таблиць, проростів тощо, чи маєте на увазі візуальне подання вашої схеми та залежностей?

Я знаю, ви згадали про MySQL (і цілком можливо, що він зараз підтримується, але я не впевнений), але RedGate має ряд інструментів, які роблять це досить просто. Це програма SQL Doc може взяти всю вашу базу даних і створити повноцінну документацію на базу даних для неї. Відстежувач залежностей SQL може надати вам візуальне зображення всіх ваших таблиць та показати їх зв’язки, або ви можете завантажити лише певні таблиці або проростки, щоб показати, що їм використовується або що вони використовують самі.


Боюся інструментів Red Gate - це SQL Server.
Дейв Р.

Я був після візуального графічного подання, а не повномасштабного документа бази даних, але все ще звучить цікаво (навіть якщо це лише SQL Server - мати деякі інші речі, використовуючи це).
Мат

0

Роки тому я використовував Data Architect. Я не знаю, чи все ще там.

Ви можете повернути інженеру існуючу схему до діаграми реляційної таблиці.

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

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



0

Я спробував DBSchema. Приємні функції, але дико повільні для бази даних з приблизно 75 таблицями. Непридатний.


0

Спробуйте PHPMyAdmin, який має дуже гарну функцію візуалізації та редагування. Я впевнений, що ви навіть можете експортувати його в заграю.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.