SAP Introspection: Resolve ForeignKey - PullRequest
       50

SAP Introspection: Resolve ForeignKey

0 голосов
/ 10 декабря 2018

Таблица AUFK имеет столбец с именем ADRNRA .

Значения в столбце ADRNRA имеют соответствующие строки в таблице ADRC .

В этом случае я нашел ADRC, потому что кто-то сказал мне решение.

Может быть, я слепой, но похоже, что AUFK-ADRNRA не является явным внешним ключом.

Есть ли способсделать самоанализ и найти соответствующую связанную таблицу (в этом примере ADRC) с помощью скрипта или с SQL?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Действительно, поле не помечено как внешний ключ поля ADDRNUMBER таблицы ADRC, но если бы вы посмотрели на домен поля ADRNRA таблицы AUFK, вы бы нашли ссылкувсего за несколько секунд.

Домен (в данном случае AD_ADDRNUM) имеет явно указанную таблицу значений, которая, к удивлению, удивлению, ADRC.

Domain

Value table

0 голосов
/ 12 декабря 2018

Нет, Нет простого способа раскрыть внешние ключи в системе SAP.: - (

Системы управления базами данных не требуют, чтобы вы моделировали внешние ключи. Вы делаете это только тогда, когда хотите применить ограничения, такие как «должен ссылаться на строку в другой таблице», и автоматические реакции, такие каккаскадное удаление («удалить эту строку, если ее родительская строка в другой таблице удалена»).

В более старых приложениях SAP реализованы такие ограничения и реакции на уровне приложений, то есть код ABAP. Они не сделалиу меня нет потребности в смоделированных отношениях, и поэтому люди просто не смоделировали их.

Распространенными средствами для определения отношений по внешнему ключу являются:

  • Опрос опытных пользователей или людей, которые разработалимодель базы данных.
  • Гадание по идентичным именам столбцов и типам данных.
  • Проверка кода приложения и просмотр таблиц, к которым он присоединяется.

Есть также некоторыеэкспериментальные алгоритмы машинного обучения, которые пытаются обнаружить отношения, Google "Обнаружение внешнего ключа" для получения дополнительной информации.

Как отмечает @Sandra в своем комментарии, новые приложения SAP показывают гораздо больше связей, поскольку используют представления CDS.Моделирование отношений имеет прямые преимущества, такие как автоматическое создание ассоциаций в сервисах OData, выбор вдоль отношений и их использование для моделирования бизнес-объектов.

...