У меня есть требование для следующего проекта базы данных.TSQL Custom Constraint - работа с обнуляемыми внешними ключами
Будет таблица для всех устройств с именем DEVICE и стол для комнат с именем ROOM. Каждое устройство должно быть назначено либо другому устройству, либо комнате. В настоящее время у меня есть отношение NULL для связи с внешним ключом Device to Room для имени поля Device.RoomId и еще одной связи с NULL-интерфейсом, соединяющей устройство с самим собой для Device.ContainerId.
Есть ли более подходящий дизайн, который может быть применен посредством связей базы данных/fk? Я понимаю, что хороший код должен быть написан для предотвращения хранения плохих данных, но я хотел бы добавить безопасность соблюдения правил db.