Обычно у вас есть такие таблицы:
PropertyType
Village
Purpose
Status
Property
, и в конкретной деревне может быть много объектов.Цель и PropertyType могут зависеть - вы не можете использовать Коттедж в качестве места сбора большой аудитории, например, хотя вы можете использовать Коттедж в качестве «Дома для одной семьи» или «Кровать и завтрак».Чтобы представить эту зависимость, вам понадобится следующая промежуточная таблица:
PropertyTypePurposes
propertytypeid
purposeid
, где для каждого типа свойства у вас будет одна или несколько потенциальных целей.Тогда в таблице свойств вы не будете ссылаться на цели напрямую, а на PropertyTypePurposes:
alter table properties
add constraint FK_PROPERTIES_PROPERTYTYPEPURPOSES
foreign key (propertytypeid, purposeid) references PropertyTypePurposes(propertypeid, purposeid)