2

我正在开发一个“e-class”应用程序,其中有管理员、教师、学生和课程。一个学生可以有很多老师和很多课,一个老师可以有很多学生和很多课,一课可以有很多老师但是很多学生。

我想让管理员拥有自己的登录页面,并且教师/学生共享相同的登录页面。(顺便说一句,这是最好的方法吗?)

我的问题是,我是否应该将所有与登录相关的信息(用户名、密码、电子邮件)放入“用户”表中,并为所有其余信息设置单独的表(“教师”、“学生”)?

我是否应该在“用户”表中包含一个指向“学生”/“教师”表的主 ID 的键?

所有这些的最佳方法是什么?帮帮我,mysql大师:)

注意:我见过很多与我相关的问题,但没有一个真正回答了我的问题。

4

1 回答 1

1

我会比 Abe Miessler 建议的更进一步,并在用户和角色之间创建一个参考表。

例如,教师可能以学生身份注册,因此需要在不同时间同时担任这两个角色,这并非不可能。

USER_TABLE:
UserID PK
UserName
OtherUserData

ROLE_TABLE
RoleID PK
RoleName

USER_ROLES
UserID PK
RoleID PK

USER_ROLES has composite PK on UserTable.UserID AND RoleTable.RoleID
于 2013-01-25T18:48:48.243 回答