我想在sql中为我的用户分配一个类(课程)列表。用户可能有不同数量的课程。我环顾四周,还没有找到一个好办法。我没有很多设计数据库的经验。每个用户只是表上具有唯一用户标识的一行信息。列表中的每门课程都需要有一个它所属的当前年级、讲师ID和用户ID字段。也许更多。我尽量避免把它放在一行,一堆插槽,甚至可能是空字段。有没有办法将整个表分配给用户?所以每一行都可以是一个过程?
qacovj5a1#
我建议使用关联表,这意味着使用多对多关系。例如这样的结构:表学生(学号、姓名、姓氏)表course(课程id、名称…)表学生课程(学生id、课程id、教师id、入学日期、通过日期、年级…)学生课程是学生和课程表之间的连接,因为一个学生可以有许多课程,并且在一个课程中可以招收许多学生。我还建议您进一步阅读数据库规范化、关联表以及这篇关于多对多关系的文章。
1条答案
按热度按时间qacovj5a1#
我建议使用关联表,这意味着使用多对多关系。例如这样的结构:
表学生(学号、姓名、姓氏)
表course(课程id、名称…)
表学生课程(学生id、课程id、教师id、入学日期、通过日期、年级…)
学生课程是学生和课程表之间的连接,因为一个学生可以有许多课程,并且在一个课程中可以招收许多学生。
我还建议您进一步阅读数据库规范化、关联表以及这篇关于多对多关系的文章。