지금까지 하나의 테이블이있는 다음 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 사용자가 있습니다.
- 사용자 1
- 사용자 2
- UserX
나는 3 개 모든 사용자가 모든 팀에서 사용하기에 대해서만 역할과 그룹
- 관리
- 회원
- 방문자
이
하나 사용자는 그룹
- 그룹 1
- 그룹 2 의 X 금액을 만들 수 있습니다
- Team1
- 사의 Team2 심박 측정기를
- TeamX
한 사용자를 팀의 X 금액을 만들 수 있습니다
- GroupX 는
은 그룹 및 팀은 다른 역할 (관리자, 회원, 방문자)와 그들에게 할당 된 사용자가
한 사용자는 하나 또는 여러 팀 또는 그룹
하나에 속할 수 있습니다 사용자는 하나 이상의 역할에 속할 수 있습니다.
이러한 테이블 간의 관계를 이해하는 데 약간의 어려움이 있습니다.
다음은 @Robertas Valeika의 대답을 기반으로 달성 한 것입니다.
http://i58.tinypic.com/3588h0i.png
의견을 보내 주셔서 감사합니다. 나는 그것을 할 수 있었다. http://i57.tinypic.com/2r2c51i.png 모든 것이 정상인지, 관계 (1 .. *, * .. * ... 등)가 있는지 확인할 수 있습니다. –
모든 테이블에는 PK로 하나의 열이 있어야합니다 필요한 경우 하나). 팀 - UserRolesTeams (1 대 다수) 그룹 및 UserRoles와 동일 - UserRolesTeams (1 대 다수). 팀 및 그룹에서 제작자 칼럼을 볼 수 없습니다. –
나는 최종 버전을 만들었 : http://i58.tinypic.com/3588h0i.png –