Створення діаграми зв’язків таблиці з існуючої схеми (SQL Server) [закрито]


199

Чи є спосіб скласти схему, що показує існуючі таблиці та їх взаємозв'язки з урахуванням підключення до бази даних?

Це для SQL Server 2008 Express Edition.


безкоштовний інструмент під назвою SchemaSpy може зробити це як шарм. Але, потребує невеликого налаштування. Я детально описав крок тут: blog.kmonsoor.com/generate-er-diagram-from-sql-database
kmonsoor

приємний: 60 інструментів інвертування
Джордж Бірбіліс,

Відповіді:


160

Так, ви можете використовувати сам SQL Server 2008, але вам потрібно встановити SQL Server Management Studio Express (якщо він не встановлений). Клацніть правою кнопкою миші Діаграми баз даних та створіть нову діаграму. Виберіть існуючі таблиці і якщо ви правильно вказали посилання у своїх таблицях. Ви зможете побачити повну схему вибраних таблиць. Для подальшого ознайомлення див. Початок роботи з діаграмами баз даних SQL Server


2
Будь-який спосіб зробити це за допомогою SQL Server Compact 3.5?
Скотт Андерсон

Ви повинні мати можливість бачити всі існуючі відносини, як тільки ви додаєте всі необхідні таблиці.
Vishwas SL

53

Спробуйте DBVis - завантажте за адресою https://www.dbvis.com/download - є версія Pro (не потрібна) та відкрита версія, якої має вистачити.

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


1
Це було дуже просто налаштувати, і було створено набагато більш читабельну діаграму, ніж інструменти SQL Server. +1
davidtbernal

Дуже просто налаштувати iff, коли ви вже працюєте з JDBC. Інакше потенційно у всіх знайомий конфігураційний хек .
ruffin

+ ∞ для цього. рятувальник життя!
Олайїнка

1
Спробував це в липні 2018 року, він все ще творить чудеса, і він все ще безкоштовний! +1
Андреа Скарчелла

Добре працює, якщо у вас є належні зовнішні ключові відносини.
фрад


8

Для операторів SQL ви можете спробувати зворотні сніжинки. Ви можете приєднатись до sourceforge або на демонстраційному сайті за адресою http://snowflakejoins.com/ .


Не виконує завдання (візуалізація схеми бази даних), але все ще досить круто. Я хотів би, щоб щось подібне генерувало охайну схему комп’ютерної мережі з текстового опису ...
Іван

4

Чому ви просто не використовуєте функціональну схему бази даних, вбудовану в SQL Server?


6
Він не завжди доступний .. деякі версії SSMS і SQL не дозволяють через ліцензування.
Пьотр Кула

Або ви можете знати, що ви знаходитесь у GNU / LInux або Macos фактично без будь-якої ліцензії, лише з обліковими даними підключення.
helvete

2

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

Зауважте, що Visio 2003 не дуже добре грає з SQL2005 або SQL2008 для зворотної інженерії - вам потрібно буде отримати 2007 рік.


7
На жаль, ця функція була видалена у Visio 2013.
Kjell-Åke Gafvelin


2

SchemaCrawler для SQL Server може створювати діаграми бази даних за допомогою GraphViz. Відображаються зовнішні ключові зв’язки (і навіть їх можна зробити з використанням конвенцій іменування), а таблиці та стовпці можна виключити за допомогою регулярних виразів.


1
"Зарубіжні ключові відносини виводяться з використанням конвенцій про іменування" - абсолютно не застосовуються в більшості реальних справ.
Іван

2
Ви здивувалися б, як часто це потрібно.
фрад

0

MySQL WorkBench - це вільне програмне забезпечення, яке розробляється Oracle, ви можете імпортувати файл SQL або вказати базу даних, і він створить діаграму SQL, по якій ви зможете пересуватися, щоб зробити її більш привабливою для візуалу. Він працює на GNU / Linux та Windows, і це безкоштовно, має професійний вигляд ..


Схоже, це більше не підтримує СУБД, крім MySQL. Крім того, його діаграма автоматичного компонування є жахливою.
Іван

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

Несумісність лежить скрізь від дуже основних речей, таких як використання цитат / дужок, до величезних відмінностей у DDL (таблиці / клавіші / обмеження / мова визначення індексів) та принципових відмінностей у типах (наприклад, використання окремого типу для рядків Unicode).
Іван
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.