mysql - 彼此之间的数据库关系(用户和组)
问题描述
我在学校做一个辅导项目,同时使数据库在设计获取数据库中组、用户和组的导师之间关系的最佳方法时遇到了麻烦。
我有学生、老师、导师,保存在我的“用户”表中 一组有很多学生,但只有一个导师。
我想这样做的方式是在我的用户表中添加一个外键,所以我的学生用户属于一个组,每个“组”都有一个导师,所以我需要在“用户”中添加一个外键“组”表,但我不确定这是否是最好的方法。
所以我要求一些建议,谢谢阅读
解决方案
是的。在 GroupTable 中添加 TutorID 是可以的。
创建一个表“GroupTable”,其中包含“GroupID”(PrimaryKey)、“GroupName”、“TutorID”(ForeignKey 和 Users 表)列。
创建一个表“StudentGroupMapping”,其中包含“StudentID”(带有用户的外键)、“GroupID”(带有 GroupTable 的外键)列。该表的主键可以是(StudentID,GroupID)的复合主键。有了这个,我们可以让一个学生属于多个组。
我们需要注意的完整性是标记为 Tutor 的用户不会进入 Student。
推荐阅读
- python - DISCORD PY Bot 没有响应命令,没有回溯错误
- javascript - 如何获取在 Chrome 标签中播放的音频名称
- javascript - 在 div 外部单击应该为 div 添加抖动效果;点击里面不应该有任何变化
- discord.py - 将排行榜分为页面 discord.py
- javascript - 顺序 API 调用,我使用 Promise.all 还是迭代函数?
- google-apps-script - Google 表格:具有动态变化的自定义功能
- javascript - TypeError:SnakeGame 不是构造函数
- php - 将旧的 mysql 调用重写为新的 mysqli_real_query
- amazon-web-services - 发送 POST 请求返回“文本为空”
- javascript - 如何获得全时使用 Javascript 显示