我有三個主要的表:代表許多一對多與約束
users
=====
user_id
user_email
organizations
=============
organization_id
organization_name
organization_phone_number
roles
=====
role_id
role_name
用戶和組織有很多:很多關係:一個用戶可以屬於多個組織,以及同一個組織可以有多個用戶。
用戶和角色排序的也有許多關係:單個用戶可以有多個角色,並且一個角色可以屬於多個用戶。 但是,角色是組織特定的。含義,如果用戶1屬於組織1,他們將在該組織的「域」中擁有1個以上的角色。如果他們也屬於組織2,他們將擁有1個完全不同的組織角色。
因此,考慮到角色的以下列表:Admin
,Dog
,Cat
,Lion
,Bear
,Fish
和Frog
,你可能有:用戶1屬於ORG 1,他/她是一個Admin
。但用戶1也可能屬於組織2,他/她是Cat
,Lion
和Frog
。
我正在尋找合適的表格結構來表示這些剋制的許多關係。
這不只是添加一個users_x_organizations
和users_x_roles
人行橫道表,像這樣簡單:
users_x_organizations
=====================
id
user_id
org_id
users_x_roles
=============
id
user_id
role_id
這是不夠的,因爲它並不代表角色每個組織用戶的列表。它只允許我表示用戶1屬於組織1和組織2,並且在他們所有的成員組織中,他們是管理員,貓,獅子和青蛙。它並沒有告訴我,對於組織1而言,他們只是一個管理員等等。這就是我繪製心理空白的地方,任何想法?