2013-05-14 3 views
0

Обновление 05/15/2013 Мое понимание проблемы изменилось, так что мой «Название» больше не соответствует. Должен ли я закрыть это и начать новый пост? (Каким образом можно обрабатывать такое редактирование в сообществе StackOverflow?).Как я могу обеспечить соблюдение этих отношений? (Formerley: есть ли название для структуры данных этого типа?)

С следующей основной структурой таблицы, как можно применять отношения, где User может быть членом Group, но только если User и Group оба связаны с одной и той же Tenant?

Сущности:

  • Арендаторы:

    • ID
    • Имя
  • пользователя

    • ID
    • fkTenantID
    • Имя
  • Группы

    • ID
    • fkTenantID
    • Имя
  • UsersInGroup

    • fkUserID
    • fkGroupID

Например:

добавить 2 Tenants:

ID: Имя

1: TenantA

2: TenantB

добавить 1 Group к каждому Tenant:

ID: TenantID : Название

1: 1: GroupA

2: 2: GroupB

добавить 1 User к TenantA, имеющего ID 1:

ID: TenantID: ИмяПользователя

1: 1: UserA

Как это можно ограничить, так что я не могу добавить UserA в GroupB.

Если я создаю таблицу UsersInGroups с столбцами fkUserID, fkGroupID, я не могу придумать способ ограничить ее, чтобы запись вроде 1: 2 считалась недействительной.

Спасибо!

Steve

+0

Спасибо, Марк, очевидно, вы правы. Мне нужно больше времени просматривать перед публикацией. – Steve

+0

Отношения, ограничения, зависимости ... Я бы взял книгу на SQL Server, потому что есть много терминов, связанных с тем, что вы просите –

+0

Привет, J Lo, Спасибо! Я не думаю, что представляю проблему, которую я пытаюсь решить, или мой уровень понимания и опыта работы с SQL Server. Я собираюсь отредактировать вопрос, немного поразмыслив, если у вас есть время. – Steve

ответ

Смежные вопросы