2016-07-17 167 views
0

我正在爲學校管理系統的一部分設計數據庫。我不確定如何設計用戶/帳戶部分,以便在我的應用程序基礎上安全且智能。用戶帳戶的數據庫設計

帳戶角色:學生,實習主管,學校管理部門,系統管理員,超級用戶。 學生必須參加強制性實習(表格「實習生」)。 實習主管將監督他們並查看統計數據。 學校管理部門也會看到統計數據。

我想留給學生的數據是:他們的學號,姓和名。

至於其他角色,他們顯然沒有學號,並且名字也不是必須的,但也許這是一個好主意 - 我不確定。你怎麼看?

我的困境是:如何設計數據庫的account/membership/users部分,以便它對我的應用程序有用,智能和安全?我應該擺脫「學生」表,並保持所有用戶在「帳戶」表?還是保留這個「學生」表並將它們與「帳戶」表結合起來會更好?或者也許有一些標準和良好的做法,表明其他方法? 下面,我將UMLS:

設計1:

design 1

設計2:

design 2

回答

0

那麼,你需要設計6張桌子

Users (id, name, email, phone etc) 
Userroles (id, title) 
users_to_Userroles (many to many) (contains userId and userRoleId) 
packages (id, title) 
package_rules (id, packageId, discount, free, etc) 
packages_to_users (contains userId, packageId) 

通過這種方式,您可以處理包裹和用戶角色以及用戶數據