我有一个学生和老师的桌子。学生的主键自然是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/