Исходный код вики Анализ связей БД
Редактировал(а) Alexandr Fokin 2024/06/10 15:43
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | |Задача|На основании существующих запросов (представлений, хранимых функций и процедур, разовых запросов) выделение возможных связей между таблицами (join), также в случае отсутствия внешнего ключа (на основании логики имеющихся запросов приложения). | ||
| 2 | |Алгоритм|((( | ||
| 3 | 0) На вход получаем перечень таблиц. | ||
| 4 | 1) Получение файлов, содержащих необходимые данные sql (скрипты). | ||
| 5 | 2) Для каждого файла: | ||
| 6 | 2.1) Определяем список таблиц, которые упоминаются в данном файле. | ||
| 7 | 3) Отбираем совокупность скриптов, содержащую наименьшее кол-во скриптов при том, что вся совокупность отобранных скриптов покрывает все таблицы из п.0. | ||
| 8 | 4) Выполняем ручной анализ скриптов и построение схемы связей. | ||
| 9 | |||
| 10 | |||
| 11 | Дополнение: если есть возможность, то можно сразу попытаться анализировать выражения from и join, но это сложнее. | ||
| 12 | ))) | ||
| 13 | | |[[Парсинг SQL запросов>>doc:Разработка.NET.Работа с БД.Парсинг SQL запросов.WebHome]] |