我有三个表:什么是三个表关系的正确标准化?
- 教师
- 类
- 课程
的句子是:
- 教师可能执教一个或更多的课程。
- 老师可能会教授一门课或多门课。
- 一位老师教授课程。
因此,我需要第三张表的PRIMARY KEY中的每一个表构成第四个表的PRIMARY KEY或UNIQUE INDEX。
这是什么正确的标准化?
- 表的名称:“class_course_teacher”应该是好的,我需要使用一个名称,比如“分配”这个?
- 该表的主键:“class_id + course_id + teacher_id”应该没问题,或者我需要为作业表创建“id”,并且应该将“class_id + course_id + teacher_id”作为唯一索引?
谢谢你的解释。我想我要去'teacher_assignments',并且因为这张桌子只会用于quering哪个老师教授哪一门课程,我不会为第四个桌子创建一个'id'。 –
只是顺便说一句:课程是否有一位或多位教师? **是。**班级是否有一位或多位教师? **是。**课程是否有一个或多个班级? **是。**课程是否属于一门或多门课程? **是的。**教师能否在没有课程的情况下“教”课程(即,是否想记录哪些教师可以在任何课程分配之前教授课程)? **否。**在分配教师之前,您是否想定义课程或课程? **是。 ** –
如果课程,课程和教师的任何组合都是有效的组合(即在每个方向上多对多),那么由所有三个组成的关系完全标准化。 – reaanb