Изменения документа Анализ связей БД

Редактировал(а) Alexandr Fokin 2024/06/10 15:43

От версии 2.4
отредактировано Alexandr Fokin
на 2021/11/14 00:19
Изменить комментарий: Update document after refactoring.
К версии 3.5
отредактировано Alexandr Fokin
на 2023/01/27 16:20
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

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