Исходный код вики Анализ связей БД
Версия 3.4 от Alexandr Fokin на 2023/01/27 00:08
Скрыть последних авторов
| author | version | line-number | content |
|---|---|---|---|
| |
3.4 | 1 | |Задача|На основании существующих запросов (представлений, хранимых функций и процедур, разовых запросов) выделение возможных связей между таблицами (join), также в случае отсутствия внешнего ключа (на основании логики имеющихся запросов приложения). |
| 2 | |Алгоритм|((( | ||
| |
2.1 | 3 | 0) На вход получаем перечень таблиц. |
| |
3.1 | 4 | 1) Получение файлов, содержащих необходимые данные sql (DDL скрипты). |
| |
2.1 | 5 | 2) Для каждого файла: |
| 6 | 2.1) Определяем список таблиц, которые упоминаются в данном файле. | ||
| |
3.1 | 7 | 3) Отбираем совокупность скриптов, содержащую наименьшее кол-во скриптов при том, что вся совокупность отобранных скриптов покрывает все таблицы из п.0. |
| |
2.1 | 8 | 4) Выполняем ручной анализ скриптов и построение схемы связей. |
| |
3.1 | 9 | |
| |
3.4 | 10 | |
| |
3.1 | 11 | Дополнение: если есть возможность, то можно сразу попытаться анализировать выражения from и join, но это сложнее. |
| |
3.4 | 12 | ))) |