2012-05-03 50 views
-3

我有這樣如何建立這個建築師

   User         trial      free 
package1  fullaccess        limited access    very limited access 
       partial access to downloads   previews     expiration 

package2  full access       n/a      n/a 
       full access to assets 

矩陣我將如何創建一個模式,對於這種情況

+4

什麼?這沒有意義。你在問什麼?有些背景會有所幫助。 – Oded

回答

3

你會被具有權限的表提供最好的服務:

Permission (PermissionID varchar) 

(包含諸如「完全訪問」,「部分」等等),這將是可用權限的列表。

然後創建包:我可能會結合用戶+包剛剛包

Package (PackageID int, PackageName varchar) 

最後填充您的連接表:

PackagePermissions (PackageID int, PermissionID varchar) 

從而給用戶包標識,你可以在查詢表格轉換爲授予的權限。

select PermissionID 
from User 
inner join Package 
    on User.PackageID = Package.PackageID 
inner join PackagePermission 
    on Package.PackageID = PackagePermission.PacakgeID 

這讓你改變封裝隨着時間的推移,加上包裝,方便地添加新的權限,同時保持所有的用戶的管理,以最低限度的能力。