对于一个学校项目,我试图存储学生,他们的出勤率以及允许他们查看哪些在线课程。
例如,允许黄带学生观看白带和黄带课程。腰带系统由kyu代替,该kyu也可以带有dan。
到目前为止,我已经创建了以下内容:
Student
:学生ID(PK),名字,姓氏,年龄,圭,丹Attendance
:考勤ID(PK),学生ID(FK),日期Lesson
:lessonID(PK),名称,kyu,dan 我坚持要在课程和学生之间找到一种可能的关系,因为仅仅将FK放在学生的课程上是不对的。
据我所知,这只是一堂大课,所以我无法在学生课和课堂课之间建立联系。
答案 0 :(得分:1)
我了解您在课程与学生之间存在N-M关系,每个学生可以参加几节课,并且每堂课可能(并且希望是)很多学生参加。
表示这种关系的典型方法是创建一个桥接表,该表存储哪个学生参加哪个课程。说表student_lesson
:
id
:主键lessonID
:表课程的外键studentID
:面向学生的外键您将需要在列(课程ID,studentID)上创建唯一约束-或跳过id
,并将(课程ID,studentID)作为桥表的主键。
答案 1 :(得分:0)
据我了解,应该是多对多的关系,因为许多学生可以参加同一堂课,并且学生可以有许多课程,所以我认为另外一个保存学生和课程ID的表可以解决这个问题, / p>