用户帐户的数据库设计

时间:2016-07-17 14:08:06

标签: database postgresql database-design

我正在为学校管理系统的一部分设计数据库。我不确定如何设计用户/帐户部分,以便在我的应用程序基于它时,它是安全和智能的。

帐户角色:学生,实习主管,学校管理员,系统管理员,超级用户。 学生必须参加义务实习(表“实习生”)。 实习主管将监督他们并查看统计数据。 学校管理部门也将看到统计数据。

我想为学生保留的数据是:他们的学号,姓和名。

至于其他角色,他们显然没有学号,而且他们的名字也不是必须的,但也许这是个好主意 - 我不确定。你觉得怎么样?

这就是我的困境:如何设计数据库的帐户/成员/用户部分,以便它对我的应用程序有用,智能和安全?我应该摆脱“学生”表并将所有用户保留在“帐户”表中吗?或者更好地保留“学生”表并将其与“帐户”表联系起来?或者也许有一些标准和良好做法可以提出其他方法? 我在下面添加umls:

设计1:

design 1

设计2:

design 2

1 个答案:

答案 0 :(得分: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)

通过这种方式,您可以处理包和用户角色以及用户数据