Анализ связей БД

Версия 3.2 от Alexandr Fokin на 2022/02/26 17:30

На основании существующих запросов (Представлений, хранимых функций и процедур, разовых запросов) выделение возможных связей между таблицами (join), также в случае отсутствия внешнего ключа.

Вариант:
0) На вход получаем перечень таблиц.
1) Получение файлов, содержащих необходимые данные sql (DDL скрипты).
2) Для каждого файла:
2.1) Определяем список таблиц, которые упоминаются в данном файле.
3) Отбираем совокупность скриптов, содержащую наименьшее кол-во скриптов при том, что вся совокупность отобранных скриптов покрывает все таблицы из п.0.
4) Выполняем ручной анализ скриптов и построение схемы связей.

Дополнение: если есть возможность, то можно сразу попытаться анализировать выражения from и join, но это сложнее.