我目前正在为我们学校开发一个新的数据库/网络应用程序。我需要提供一些背景信息,以使我的问题更具相关性。
有许多不同的用户类型将访问此应用程序,每个用户类型都需要访问应用程序的不同部分,对他们可能访问的每个“区域”具有不同的权限。
例如:
学生可以登录并访问那里的信息并更新他们的详细信息以及下载他们的报告副本(因此他们只能看到他们的信息)
老师可以登录并访问那里的信息以及他们教的所有学生
管理员可以登录并访问那里的信息以及他们管理的所有教师和学生
然后还有许多其他登录类型,但是对于这个问题,它们并不重要,因为从技术上讲,它们只是更多的用户,没有或需要自己的表来获取额外信息。
在很大程度上,我已经决定了一个我很满意的结构,但是我一直在改变我认为如何最好地完成以下工作的想法。
我有一个用户表(User_T),其中存储了所有相关的用户信息(用户名、密码等)
但是,我也为某些用户类型(EG、学生、员工、ETC)提供了单独的表,这是必要的,因为学生需要存储与员工不同的信息。这就是我的问题所在,所有用户都会有一些相同的基本字段(名字、姓氏、出生日期、性别等)。
我应该将这些存储在 User_T 表中吗?还是在个别表中?
如果我将它们全部存储在 User_T 表中,这使得应用程序更容易提取他们的信息并允许他们更新,例如在显示学生详细信息时,我需要引用 User_T 来获取学生姓名等.
我目前的心态是,最好的选择是使用包含所有字段的单独表并将它们连接到视图 User_V 中,并带有一个指示数据来源的字段,以便在执行更新时可以应用它适当的表。
想法?