На данный момент это больше любопытство, но давайте представим себе среду, в которой я выставляю счета на основе абсолютного никеля и копейки. У меня есть много операций, которые выполняет моя система, и все они оплачиваются. Все эти операции записываются в разных таблицах (эти таблицы должны быть отдельными, потому что они записывают очень разные виды информации). Я также хочу микро управлять моей дебиторской задолженностью. (Простите, если вы найдете здесь несоответствия, так как этот пример не является реальной ситуацией)
Существует ли какой-то стандартный способ замены внешнего ключа чем-то, что может подтвердить, что идентификатор в столбце X моей таблицы счетов является существующим идентификатором в одной из многих таблиц записей операций?
Одна идея заключается в том, что при ведении журнала активности учетной записи я мог бы ссылаться на идентификатор операции, а также на операцию (в частности, на таблицу, в которой она находится) и использовать ограничение CHECK. Вероятно, это лучший путь, чтобы мой журнал не был неоднозначным.
Существуют ли другие способы решения этой проблемы, де-факто или проприетарные?
Решают ли нереляционные базы данных эту проблему?
EDIT:
Перефразируя мой начальный вопрос,
Существует ли несколько стандартный способ замены внешнего ключа чем-то, что может подтвердить, что идентификатор в столбце X в моей таблице фактур является существующим идентификатором в одной из многих (, но не обязательно во всех ) операциях таблицы записей?