600 столов в DDBB - PullRequest
       3

600 столов в DDBB

3 голосов
/ 05 января 2011

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

Я смотрю на таблицы базы данных и понимаю, что здесь нет ни модели данных, ни документации. Хуже всего то, что в среде разработчика есть около 1000 таблиц и около 600 в производстве. Я больше доверяю производственной среде, но в любом случае, что я могу сделать? Я имею в виду, я могу покончить с собой или что-то в этом роде, но есть ли хороший инструмент для обратного инжиниринга, чтобы, по крайней мере, я мог получить определение схемы с отношениями между таблицами и комментариями, извлеченными из полей? Можете мне что-нибудь посоветовать?

Заранее спасибо.

Ответы [ 4 ]

1 голос
/ 05 января 2011

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

Обновление: Я только что вспомнил, что Oracle SQL Developer имеет похожий инструмент (создайте соединение, щелкните правой кнопкой мыши по его значку и выберите «Создать документацию БД»), хотя он не рисует графики.

0 голосов
/ 05 января 2011

Попробуйте подключиться с помощью инструмента под названием TOAD - прошло уже несколько лет с тех пор, как я его использовал, но IIRC вы могли выбрать подходящую схему, которую вы хотите проверить, и она даст вам древовидное представление со всемитаблицы и представления, и вы можете развернуть узлы таблицы, чтобы увидеть детали столбца.Без сомнения, инструмент значительно продвинулся с тех пор, как я последний раз использовал его.

0 голосов
/ 05 января 2011

Вы можете извлечь комментарии следующим образом:

select * from dba_tab_comments 
 where owner not in ('SYS', 'SYSTEM')

и

select * from dba_col_comments 
 where owner not in ('SYS', 'SYSTEM')

Что касается обратного инжиниринга: если вы собираетесь рисовать ERD с таблицами 600+,(вероятно) будет слишком большим в любом случае.Сначала я попытаюсь найти «кластеры» связанных таблиц, а затем использовать специализированный инструмент для рисования этих кластеров.

Очевидно, вы хотите убедиться, что вся схема имеет внешние ключиисполнение.Возможно, вы захотите взглянуть на

select * from dba_constraints 
 where constraint_type = 'R' and 
       owner not in ('SYS', 'SYSTEM')

, чтобы увидеть, все ли внешние ключи.

0 голосов
/ 05 января 2011

К сожалению, это оракул.Для mysql есть очень хороший инструмент под названием Mysql Workbench .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...