( Во-первых, я, безусловно, надеюсь, что ваши таблицы не названы Table1
и Table2
. Попытайтесь быть точным с таблицей, названной в вашем вопросе, если возможно )
Нет, это неплохая идея, и ваши требования могут быть легко представлены только первичными и внешними ключами. Это проблема, которая встречается довольно часто, когда у вас есть отношение 1: n между родительской и дочерней таблицей, но есть требование, чтобы у вас был один дочерний элемент с определенным атрибутом. Например, многие системы CRM допускают использование нескольких адресов на одного клиента, но в качестве основного адреса можно определить только один адрес.
Самый простой сценарий таков:
Event
------------
EventID
...etc.
Primary Key (EventID)
EventDate
-----------
EventID
Date
Primary Key (EventID, Date)
Foreign Key (EventID) references Event (EventID)
Затем, как только эти таблицы существуют, добавьте в Event
столбец SelectedDate
со значением NULL и установите ограничение внешнего ключа для Event
, который ссылается на EventDate
с использованием EventID
и SelectedDate