我有一个学生和老师的桌子。学生的主键自然是studendID(SID),而教员的主键自然是facultyID。学生有一个顾​​问专栏和一个请求的顾问专栏,这是教师的外键。这很简单,对吧?

但是,现在我必须输入日期。我希望能够查看他们的顾问在某个季度(例如2009年冬季)的身份以及他们的要求。

结果将是一个这样的表:

Year | Term   | SID       | Current | Requested
------------------------------------------------
2009 | Winter | 860123456 | 1       | NULL
2009 | Winter | 860445566 | 3       | NULL
2009 | Winter | 860369147 | 5       | 1


然后,如果我愿意,我也可以继续查看不同的年份和不同的术语。

我不确定这些新表的外观如何。是否会有一个包含三列的秋季,春季和冬季的年表?秋季,春季,冬季餐桌会有什么呢?

我是桌艺术的新手,所以这让我感到困惑。

另外,我觉得我应该澄清到目前为止该网站的工作方式。
管理员可以批准学生的请求,然后发生的情况是该学生的当前顾问被其请求覆盖。但是,我认为我不应该再这样做了,对吧?

最佳答案

您具有多对多关系,并且需要第三个表。而不是“学生”表中的“当前”和“请求的”列,它们应该存在于新表中。该表可能是这样的:

StudentAdvisors
StudentAdvisorID, SID, Current, Requested, Year, Term

关于mysql - 数据库多对多关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2791914/

10-11 01:55