多角色系统中的数据库设计问题

发布于 2022-09-01 06:43:32 字数 391 浏览 24 评论 0

一个系统中有多个角色,每个角色有不同的属性。比如教师和学生,教师有职称、所属院系等属性,而学生有班级、指导教师等属性,所以把教师和学生分为了两个表。

现在系统中有一个消息系统,存放消息的表该如何设计?如果发一条消息,需要指定发件人和收件人,难道需要在消息表中定义四个外键,比如发件人1(教师)、发件人2(学生)、收件人1(教师)、收件人2(学生)。这样会不会太麻烦了,如果再多几个角色该怎么办?

想到一种方法,建一个用户基础信息表,放几个角色共有的属性,然后对应每一个角色再建一个表。在用户基础信息表中建立外键,连接到每一个角色对应的表。不过这样,如果角色多的话,用户基础信息表中的外键就比较多。还有就是查询一个用户信息的时候,需要连接的表的数量多,比如要查一个学生信息,要连接用户基础信息表、学生表、班级表等。不知道这样做合适吗。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

冬天旳寂寞 2022-09-08 06:43:32

“用户” “拥有” “学生角色”

这里外键放在学生角色表里合理的多,这样不存在角色增加以后基础信息表的外键字段越来越多的问题

图片描述

中性美 2022-09-08 06:43:32

3个表足以
关系

愁杀 2022-09-08 06:43:32

@暗雨西喧 三个表确实够了
确少角色权限信息,补充下
Role表,加个字段rules(里面存放rule_id:1,2,3,4...)
Rule表,rule_id

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文