У меня общий вопрос по дизайну. Рассмотрим эти 3 таблицы:
Table Restaurants:
RID pk auto_increment
etc...
Table Vacations:
VID pk auto_increment
etc...
Table Movies:
MID pk auto_increment
etc...
А теперь представьте, что мы хотим создать список «Что нужно делать после окончания COVID» из выбранных записей из этих трех разных таблиц. Список может содержать любое сочетание записей из этих таблиц. Тогда на ум приходит:
Table Todo:
Type [ one of R, V, M ]
ID [ the ID of the parent item ]
Но как бы вы обеспечили ссылочную целостность на этом предмете? То есть, как мы можем гарантировать, что при удалении ресторана из ресторанов он также исчезнет из Todo?
(Я знаю, как добиться этого с помощью триггеров; любопытно, есть ли комбинация сущностей, которые выполнят это с помощью чистой СУБД ref. Int.)
Спасибо!