Внешний ключ, ссылающийся на несколько таблиц
У меня есть столбец с уникальным идентификатором, который может ссылаться на одну из четырех разных таблиц. Я видел, как это делается двумя способами, но оба кажутся плохой практикой.
Во-первых, я видел один столбец ObjectID без явного объявления его в качестве внешнего ключа для конкретной таблицы. Тогда вы можете просто вставить любой уникальный идентификатор, который вы хотите в нем. Это означает, что вы потенциально можете вставить идентификаторы из таблиц, которые не являются частью 4 таблиц, которые я хотел.
Во-вторых, поскольку данные могут поступать из четырех разных таблиц, я также видел, как люди делали 4 разных внешних ключа. При этом система опирается на столбец ONE и ONLY ONE, значение которого не равно NULL.
Какой лучший подход к этому? Например, записи в моей таблице могут ссылаться на больницы (ID), клиники (ID), школы (ID) или университеты (ID) ... но ТОЛЬКО на эти таблицы.
Спасибо!