多角色系统中的数据库设计问题
一个系统中有多个角色,每个角色有不同的属性。比如教师和学生,教师有职称、所属院系等属性,而学生有班级、指导教师等属性,所以把教师和学生分为了两个表。
现在系统中有一个消息系统,存放消息的表该如何设计?如果发一条消息,需要指定发件人和收件人,难道需要在消息表中定义四个外键,比如发件人1(教师)、发件人2(学生)、收件人1(教师)、收件人2(学生)。这样会不会太麻烦了,如果再多几个角色该怎么办?
想到一种方法,建一个用户基础信息表,放几个角色共有的属性,然后对应每一个角色再建一个表。在用户基础信息表中建立外键,连接到每一个角色对应的表。不过这样,如果角色多的话,用户基础信息表中的外键就比较多。还有就是查询一个用户信息的时候,需要连接的表的数量多,比如要查一个学生信息,要连接用户基础信息表、学生表、班级表等。不知道这样做合适吗。
vvstar
9 years, 9 months ago