我正在做一个学校补习项目,同时使数据库难以确定在数据库中获得小组,用户和小组导师之间关系的最佳方法。
我有学生,老师,导师,保存在“用户”表中 一组有很多学生,但只有一名导师。
我想到的方法是在我的用户表中添加一个外键,因此我的学生用户属于一个组,并且每个“组”都有一名导师,因此我需要在“用户访问“组”表中,但是我不确定这是否是最好的方法。
所以我要问一些建议,谢谢阅读
答案 0 :(得分:0)
是的。可以在GroupTable中添加TutorID。
使用表“ GroupID”(PrimaryKey),“ GroupName”,“ TutorID”(“ ForesignKey with Users”表)创建表“ GroupTable”。
创建一个具有“ StudentID”(带用户的外键),“ GroupID”(带GroupTable的外键)列的表“ StudentGroupMapping”。该表的主键可以是(StudentID,GroupID)的复合主键。这样,我们可以使学生属于多个组。
我们需要注意的完整性是标记为“家教”的用户不会进入学生。
答案 1 :(得分:0)
因此,总共应该有以下三个表。第三个表将充当桥接表。
用户:
组:
GroupUserRelation:
group_id和user_id将合并为一个组合键。
这样,如果将来需要的话,您可以定义学生与导师之间的多对多关系。例如,一名导师可以教很多小组,一个学生也可以报名参加许多小组。