2

Мне нужно создать диаграмму сущности базы данных MSSQL 2005.Создание диаграммы сущности базы данных без каких-либо внешних ключей

Отношения определяются с использованием первичных ключей последовательно, но внешних ключей нет. Я попробовал функцию «Обратный инженер» Microsoft Visio, которая, конечно, не удалась из-за отсутствия внешних ключей.

Поэтому мне нужен инструмент диаграммы, который не только полагается на внешние ключи при рисовании отношений.

+0

Мне бы очень хотелось узнать ответ на этот вопрос. Я имею дело с коммерческой продуктовой базой данных (в данном случае с IBM DB2) с чем-то вроде тысячи таблиц и без определения внешних ключей. Тем не менее, столбцы называются последовательно, поэтому должно быть возможно, чтобы инструмент сравнивал идентификаторы столбцов и делал выводы о связях. –

ответ

1

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

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

[EDIT] Если существует определенное правило, как названы столбцы внешнего ключа, вы можете использовать язык сценариев для генерации SQL для вас.

Если это также не удается, любой инструмент проектирования должен позволять вам создавать отсутствующие отношения. Это означает, что вы, вероятно, столкнетесь с несогласованностью данных. Решением здесь является создание моментального снимка определений таблиц и воссоздание базы данных (без данных) на сервере частной базы данных. Там вы можете возиться с дизайном столько, сколько хотите, не нарушая исходную систему.

Когда вы закончите установку дизайна, вы можете извлечь команды для создания внешних ключей и применить их к реальной системе - если хотите. Таким образом, вы можете почувствовать, насколько велик беспорядок в базе данных. Если нет, то вы можете просто сохранить новую копию, внести там какие-либо изменения в конструкцию, и после того, как они были проверены, вы можете перенести изменения в производственную базу данных.

В моих собственных системах у меня всегда есть сценарии для быстрого создания клона текущей базы данных разработки и производства. Обычно я использую встроенную базу данных, такую ​​как Derby или HSQL. Но если вы добавите фильтр в процесс, вы можете использовать $(SCHEMA) в файлах DDL и установить одну и ту же базу данных в разные схемы на одном сервере. Мы использовали это с большим успехом во время проекта миграции данных, где мы сохранили результаты каждого теста миграции в новой схеме (TABLE_DATE_XX, где XX - это двузначное число, чтобы вы могли создавать более одного теста в день).

Это позволило нам проверить различные исправления, сравнить две миграции и т. Д. Поскольку весь процесс был автоматизирован на 100%, для создания новой схемы стало дешевле, чем исправить существующую схему.

+0

Я надеялся уйти с инструментом и не должен иметь дело с любыми несогласованностями данных, так как база данных содержит около 100 + таблиц. – TFM

Смежные вопросы