0

我有一个学生和教师表。学生的主键是 studendID (SID),而教师的主键自然是教员 ID。学生有一个顾​​问列和一个请求的顾问列,它们是教师的外键。这很简单,对吧?

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

结果将是这样的表格:

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

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

我不确定这些新表会是什么样子。是否会有包含秋季、春季和冬季三列的年份表?秋季、春季、冬季餐桌会有什么?

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

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

4

2 回答 2

2

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

StudentAdvisors
StudentAdvisorID, SID, Current, Requested, Year, Term
于 2010-05-07T22:01:17.877 回答
0

我为多对多关系使用和学习的典型方法相当于两个表之间的转换表。

于 2010-05-07T22:21:46.680 回答