Ну, вы не можете настроить внешние ключи с этой настройкой. Один внешний ключ не может ссылаться на две возможные разные таблицы.
Я бы сделал одно из следующих действий:
Конечно, вы можете использовать два отдельных столбца в таблице адресов для каждого из двух объектов. BusinessId и peopleid. ФК могут иметь нулевые значения, так что все будет в порядке. И тогда вы можете принудительно установить отношения FK, что избавит вас от проблем с целостностью данных.
Или создайте родительскую таблицу, которая включает в себя как компании, так и людей, но имеет очень мало полей (только те, которые у них действительно общие - даже может быть только uniqueid и тип записи), тогда вы можете иметь дочерние таблицы для бизнеса, людей, адреса и т. д.
или настройте отдельные дочерние таблицы - служебный, а затем служебный адрес, адрес людей и людей и т. Д. Тогда вам не нужно сохранять идентификаторы уникальными между двумя логическими объектами.
Я забыл об одной возможности: если у вас много-много связей, у вас могут быть Адрес, Бизнес, Люди, а затем несколько таблиц связи, BusinessAddress, PeopleAddress.
Лично я бы не использовал GUID, если бы у меня был другой выбор, так как они могут повредить производительности