Проверить ограничение для обеспечения ссылочной целостности?
Можем ли мы использовать контрольное ограничение для принудительного применения ссылочного ограничения? Скажем, у меня есть столбец, содержащий UUID; этот UUID может ссылаться на таблицу A или B в зависимости от значения 2-го столбца.
------------------------------------------
|ID | Type | PK in Other Table |
------------------------------------------
|1 | Employee | 500 |
------------------------------------------
|2 | Store | 7000 |
------------------------------------------
таким образом, запись №1 указывает на запись в таблице сотрудников, №2 указывает на запись в таблице хранилища с соответствующим PK. Таким образом, цель состоит в том, чтобы обеспечить ссылочную целостность на основе «Типа».
1 ответ
Не с этой моделью данных, нет.
У вас могут быть отдельные столбцы, т.е.
Есть потенциально другие способы настройки модели данных в зависимости от того, что вы на самом деле моделируете. Мне немного сложно представить себе сотрудников и магазины как отдельные подтипы какого-то типа более высокого уровня. Но если ваш фактический вариант использования - это что-то еще, потенциально имеет смысл иметь таблицу супертипов, которая является фактическим родителем, дочерним элементом которого являются все таблицы.