Как мне смоделировать отношение 1:N, которое ограничено третьим объектом?
Мое затруднительное положение: я занимаюсь моделированием Чена бухгалтерской базы данных, в которой отношение клиента к объекту счета одно-многим (1: N), но отношение клиента к office_location уникально (один-к-одному, 1:1)., Я попытался изобразить троичные отношения, а также преобразовать их в слабую сущность, привязанную к остальным трем через бинарные отношения. Я получаю что-то вроде этого:
OFFICE_LOC --- SERVES (M: N) === КЛИЕНТ
OFFICE_LOC --- ЯКОРЬ (1:N)=== АККАУНТ (МЫ)
КЛИЕНТ === СОБСТВЕННИКИ (1:N)=== АККАУНТ (МЫ)
Мне трудно разобраться, как смоделировать условие, что у клиента может быть только одна учетная запись на office_loc, хотя, вообще говоря, у него может быть много учетных записей.
1 ответ
Я не знаю, спрашиваете ли вы конкретно, как моделировать что-то в моделировании Чена (о котором я ничего не знаю) или вы спрашиваете, как моделировать эти отношения. Если первый проигнорирует этот ответ, если последний...
Клиентская <--- Client_2_Account ---> учетная запись
Таблица "многие ко многим" в Client_2_Account будет иметь поле fkey Office_Location в дополнение к полям fkey для клиента и учетной записи. Установите уникальное ограничение на составной ключ client/office_location и уникальный ключ для учетной записи. Тогда клиент может иметь только одну запись учетной записи для местоположения офиса, и каждая запись учетной записи может принадлежать только одному клиенту.