У меня есть три основных типа сущностей: люди, предприятия и активы. Каждый объект может принадлежать одному и только одному Лицу или Бизнесу. Каждый человек и бизнес могут владеть от 0 до многих активов. Какова была бы наилучшая практика для хранения этого типа условных отношений в Microsoft SQL Server?
Мой первоначальный план состоит в том, что в таблице "Активы" есть два нулевых внешних ключа: один для "Люди" и "Один для бизнеса". Одно из этих значений будет равно нулю, а другое - владельцу. Проблема, которую я вижу в этой настройке, заключается в том, что для ее интерпретации и принудительной реализации требуется логика приложения. Это действительно лучшее решение или есть другие варианты?