这是我目前的数据库设计,暂时只看学生,老师和班级表。
我正在尝试使用TPH继承将一些表转换为新闻。例如。
创建一个名为Person的新表,其中包含:
但是剩下一个名为ClassId
的字段,它包含在Student
表中。在这个问题上,我不知道是否应该创建一个连接表来存储ClassId
和PersonId
,或者只是将ClassId
放入Person
表中。这是我最大的疑问。
我必须在哪里放置ClassId
字段?
我必须提到每个学生只能在一个班级,而不是很多。教师可以根据自己的需要开设多门课程。
答案 0 :(得分:0)
我认为你没有正确地对域进行建模:
首先,无论学生是否上课,都必须有学生 在当前模型中,似乎学生是一个弱实体并依赖于课程。
课程也独立于今年可能会发生的学期课程,明年不会发生。
但是如果您想要TPH策略来建模数据库,那么link可能会对您有所帮助。
您将拥有一个Person表,然后是一个引用Person的Teacher表,以及一个也引用Person表的Student。 最后,学生表通过联合表提及学期课程。