【发布时间】:2014-03-19 18:16:14
【问题描述】:
这是我目前拥有的表格:
Student(StudentID, SurName, OtherNames, TargetGrade etc.)
Teacher(TeacherID, SurName, OtherNames etc.)
Class(ClassID, Description)
一个学生可以在多个班级,每个班级有很多学生。 一个班级可以有多名教师,每位教师教授多个班级。 因此,为了处理这 2 个多对多关系,我使用了 2 个查找表:
StudentClass(StudentID,ClassID)
TeacherClass(TeacherID,ClassID)
我不确定这是否被规范化的原因是,如果你删除类表(这似乎有点多余,但可以帮助识别类),你会留下 StudentClass 之间的多对多关系和教师班。这是标准化的吗?
谢谢
----------- ---------- ---------- ------------- -----------
| | /| |\ | | /| |\ | |
| Student |------<-| Student|->-----| Class |-------<-| Class - |->-------| Teacher |
| | \| -Class |/ | | \| Teacher |/ | |
----------- ---------- ---------- ------------- -----------
编辑:对于这个系统,类不需要存储任何东西,除了描述。考试成绩存储在与学生关联的单独表格中。
【问题讨论】:
-
类肯定不是多余的。如果您删除它,则必须在关联表中引入有关类的所有信息,从而分散信息。事实上,课堂很可能与阅读计划、地点、考试(考试成绩)等相关。
-
我在这个 Q 中看不到与
[delphi]的任何关系。
标签: database database-normalization