Автоматизированный анализ - Анализ связей БД

Page / - Изменено Alexandr Fokin в 2024/06/10 15:43

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

Изменено Alexandr Fokin

в 2024/06/10 15:43

Оглавление

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