Анализ связей БД
Версия 3.1 от Alexandr Fokin на 2021/12/05 14:34
На основании существующих запросов (Представлений, хранимых функций и процедур, разовых запросов) выделение возможных связей между таблицами (join), также в случае отсутствия внешнего ключа.
Вариант:
0) На вход получаем перечень таблиц.
1) Получение файлов, содержащих необходимые данные sql (DDL скрипты).
2) Для каждого файла:
2.1) Определяем список таблиц, которые упоминаются в данном файле.
3) Отбираем совокупность скриптов, содержащую наименьшее кол-во скриптов при том, что вся совокупность отобранных скриптов покрывает все таблицы из п.0.
4) Выполняем ручной анализ скриптов и построение схемы связей.
Дополнение: если есть возможность, то можно сразу попытаться анализировать выражения from и join, но это сложнее.