Как обрабатывать отношения «ИЛИ» в дизайне ERD (таблицы)?
Я проектирую небольшую базу данных для личного проекта, и одну из таблиц, назовите это таблицейC
, должен иметь внешний ключ к одной из двух таблиц, вызвать ихA
а такжеB
, отличаясь по записи. Какой лучший способ реализовать это?
Идеи пока что:
Создайте таблицу с двумя обнуляемыми полями внешнего ключа, соединяющими две таблицы.Возможно, с триггером для отклонения вставок и обновлений, в результате чего 0 или 2 из них будут нулевыми.Две отдельные таблицы с одинаковыми даннымиЭто нарушает правило о дублировании данных.Каков более элегантный способ решения этой проблемы?