对于学校项目,我正在尝试存储学生,他们的出勤率以及允许他们查看哪些在线课程。
例如,黄带学生可以观看白色和黄色腰带课程。带系统由kyu代替,kyu也可以有dan。
到目前为止,我创建了以下内容:
Student
:studentID(PK),名字,姓氏,年龄,kyu,danAttendance
:attendanceID(PK),studentID(FK),日期Lesson
:lessonID(PK),name,kyu,dan我坚持在课堂和学生之间找到可能的关系,因为把FK放到学生课上感觉不对。
据我所知,这只是一个大班,所以我不能在学生班和班级课之间形成关系。
我知道你在课程和学生之间有一个N-M关系,每个学生可以参加几个课程,每个课程可能(并且希望是)由许多学生参加。
表示这种关系的典型方法是创建一个桥接表,用于存储哪个学生参与哪个课程。说表student_lesson
:
id
:主键lessonID
:桌上课的外键studentID
:对表学生的外键您需要在列(lessonID,studentID)上创建唯一约束 - 或者删除跳过id
,并使(lessonID,studentID)成为桥表的主键。
据我所知,它应该是多对多的关系,因为许多学生可以上同一课,学生可以有很多的理由,所以另一个拿着学生和leason id的表会解决问题,我想