我需要为A级学生开发一个数据库,我在分类他们的科目时遇到了问题。他们共有13个科目,每个学生可以根据自己的喜好从13个科目中选择多个科目和任意组合 我该如何应对这个问题?如何创建数据库以保存每个学生主题组合的记录?
有人能帮助我吗?
答案 0 :(得分:3)
制作一张包含学生列表的表格,并制作一张包含主题列表的表格。在另一个表中插入具有学生ID和他们正在拍摄的主题的ID的行。
id | student
id | subject
id | subject id | student id
答案 1 :(得分:1)
表:主题
columns:id,subject_name
表:学生
columns:id,student_name
表:student_subject_map
列:id,student_id(student.id - 外键),subject_id(subject.id - 外键)
答案 2 :(得分:0)
你有三个表:一个主题表,存储主题信息;存储学生信息的学生表和注册表,其中包含两列,学生ID和主题ID。
要获取学生所做主题的列表,请执行以下查询:
SELECT Subjects.name FROM Subjects INNER JOIN Enrolment ON Enrolment.subject_id = Subjects.subject_id WHERE Enrolment.student_id = '(student_id)' ORDER BY Subjects.name ASC
答案 3 :(得分:0)
要了解学生选择的所有科目,
从student_subject_map中选择subject_id,其中student_id ==< student-id&gt ;;
替换< student-id>与学生的身份。下一个级别是使用table_subject中的id,subject_name匹配来获取主题名称而不是subject_id。 (线索:嵌套的选择语句)