У меня есть следующая база данных SQL Server с одной таблицей.Пользователи, группы, роли, члены members для SQL Server базы данных SQL Server
----------------
|Users |
----------------
| UserId PK |
| |
| Other fields |
----------------
Мне нужно добавить несколько таблиц в ней, которая не является проблемой, но это цель:
---------------- ---------------- ---------------- ----------------
|Users | |Roles | | Teams | | Groups |
---------------- ---------------- ---------------- ----------------
| UserId PK | | RoleId PK | | TeamId PK | | GroupId PK |
| | | | | | | |
| Other fields | | Other fields | | Other fields | | Other fields |
---------------- ---------------- ---------------- ----------------
Что мне нужно для достижения заключается в следующем:
У меня есть X количество пользователей
- User1
- Пользователь2
- UserX
У меня есть 3 роли только для всех пользователей, чтобы использовать во всех команд и групп
- администратора
- Член
- Публичные
Один Пользователь может создать X количество команд
- TEAM1
- team2
- TeamX
Один пользователь может создать X количество групп
- Group1
- Group2
- GroupX
Группа и Команды могут иметь пользователь, назначенные им с различными ролями (Admin, члены, посетители)
Один пользователя могут принадлежать к одной или многим команде или группам
One пользователь может принадлежать одной или нескольким ролям
У меня есть некоторая трудность понимания отношения между этими таблицами.
Вот что мне удалось добиться на основе ответа от @Robertas Valeika.
http://i58.tinypic.com/3588h0i.png
Благодарим вас за комментарий. Мне удалось это сделать. http://i57.tinypic.com/2r2c51i.png Можете ли вы проверить, все ли в порядке, отношения (1 .. *, * .. * ... и т. д.) –
Каждая таблица должна иметь один столбец в качестве ПК (сделать дополнительно один при необходимости). И отношения Команды - UserRolesTeams (от одного до многих) одинаковы с группами и UserRoles - UserRolesTeams (от одного до многих). И я не вижу колонку создателя в командах и группах. –
Я сделал окончательную версию: http://i58.tinypic.com/3588h0i.png –