Обновление 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
Спасибо, Марк, очевидно, вы правы. Мне нужно больше времени просматривать перед публикацией. – Steve
Отношения, ограничения, зависимости ... Я бы взял книгу на SQL Server, потому что есть много терминов, связанных с тем, что вы просите –
Привет, J Lo, Спасибо! Я не думаю, что представляю проблему, которую я пытаюсь решить, или мой уровень понимания и опыта работы с SQL Server. Я собираюсь отредактировать вопрос, немного поразмыслив, если у вас есть время. – Steve