Создать диаграмму взаимосвязи таблиц из существующей схемы (SQL Server) [закрыто]


199

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

Это для SQL Server 2008 Express Edition.


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

Ответы:


160

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


2
Любой способ сделать это с SQL Server Compact 3.5?
Скотт Андерсон

После того, как вы добавите все необходимые таблицы, вы также сможете увидеть все существующие отношения.
Вишвас С.Л.

53

Попробуйте DBVis - скачать по адресу https://www.dbvis.com/download - есть профессиональная версия (не нужна) и открытая версия, которой должно хватить.

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


1
Это было очень легко настроить и создало гораздо более удобочитаемую диаграмму, чем инструменты SQL Server. +1
davidtbernal

Очень легко настроить, если вы уже используете 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-совместимых SQL-92, поэтому, если ваш код не соответствует SQL-92, это может быть хорошим поводом для его проверки.
Дендини

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