我正在为学校管理系统的一部分设计数据库。我不确定如何设计用户/帐户部分,以便在我的应用程序基于它时,它是安全和智能的。
帐户角色:学生,实习主管,学校管理员,系统管理员,超级用户。 学生必须参加义务实习(表“实习生”)。 实习主管将监督他们并查看统计数据。 学校管理部门也将看到统计数据。
我想为学生保留的数据是:他们的学号,姓和名。
至于其他角色,他们显然没有学号,而且他们的名字也不是必须的,但也许这是个好主意 - 我不确定。你觉得怎么样?
这就是我的困境:如何设计数据库的帐户/成员/用户部分,以便它对我的应用程序有用,智能和安全?我应该摆脱“学生”表并将所有用户保留在“帐户”表中吗?或者更好地保留“学生”表并将其与“帐户”表联系起来?或者也许有一些标准和良好做法可以提出其他方法? 我在下面添加umls:
设计1:
设计2:
答案 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)
通过这种方式,您可以处理包和用户角色以及用户数据