Внешний ключ, ссылающийся на несколько таблиц

У меня есть столбец с уникальным идентификатором, который может ссылаться на одну из четырех разных таблиц. Я видел, как это делается двумя способами, но оба кажутся плохой практикой.

Во-первых, я видел один столбец ObjectID без явного объявления его в качестве внешнего ключа для конкретной таблицы. Тогда вы можете просто вставить любой уникальный идентификатор, который вы хотите в нем. Это означает, что вы потенциально можете вставить идентификаторы из таблиц, которые не являются частью 4 таблиц, которые я хотел.

Во-вторых, поскольку данные могут поступать из четырех разных таблиц, я также видел, как люди делали 4 разных внешних ключа. При этом система опирается на столбец ONE и ONLY ONE, значение которого не равно NULL.

Какой лучший подход к этому? Например, записи в моей таблице могут ссылаться на больницы (ID), клиники (ID), школы (ID) или университеты (ID) ... но ТОЛЬКО на эти таблицы.

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос