需要数据库创建的帮助

时间:2009-07-07 05:51:56

标签: mysql database datatable

我需要为A级学生开发一个数据库,我在分类他们的科目时遇到了问题。他们共有13个科目,每个学生可以根据自己的喜好从13个科目中选择多个科目和任意组合 我该如何应对这个问题?如何创建数据库以保存每个学生主题组合的记录?

有人能帮助我吗?

4 个答案:

答案 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。 (线索:嵌套的选择语句)