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

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 запросов