数据库设计需要更多的解决方案

时间:2015-07-26 22:27:47

标签: mysql sql database

我有一张表:

entr = [list(int(x) for x in input().split()) for x in input()]

我希望每位教师都有一个或多个课程,这对我目前的设计来说很好......

将来有哪些教师离职并且另一名教师可以替换该教师,如何将班级分配给新教师?

在这种情况下,如果我能有一张N:N表,我正在考虑这个问题吗?

您有什么看法?

2 个答案:

答案 0 :(得分:1)

你没问题。如果教师离开并且添加了另一个教师并接管了第一个教师的课程,那么您只需UPDATE instructor_id这些具有新教师ID的课程的值。

除非您希望每个班级能够分配多个讲师,否则您不需要多对多表格。

您的要求是否超出了您的问题中的规定?

答案 1 :(得分:0)

是的,您可以创建名为classes_instructors的第三个表(这可能取决于框架约定),它将具有两个属性,可能是第三个,以显示它是否处于活动状态。

id
class_id
instructor_id
active

这是通过连接表使用多对多关系的非常常见的架构和模式。有些人倾向于将其称为关联表或实体many-to-many relation