0

学生と教職員のテーブルがあります。学生の主キーはstudendID(SID)であり、教員の主キーは当然、facultyIDです。学生には、教員にとって外部キーであるアドバイザー列と要求されたアドバイザー列があります。簡単ですよね?

しかし、今は日付を入れなければなりません。彼らのアドバイザーが特定の四半期(2009年冬など)に誰であったか、そして彼らが誰を要求したかを確認できるようにしたいと思います。

結果は次のようなテーブルになります。

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

そして、気が向いたら、先に進んで別の年と別の期間を見ることができます。

これらの新しいテーブルがどのようになるかわかりません。秋、春、冬の3列の年表はありますか?そして、秋、春、冬のテーブルには何がありますか?

私はテーブルの芸術に不慣れなので、これは私を困惑させています...

また、これまでのところ、サイトがどのように機能しているかを明確にする必要があると感じています。管理者は学生のリクエストを承認できます。何が起こるかというと、学生の現在のアドバイザーがリクエストで上書きされます。でも、もうそんなことはしてはいけないと思いますよね?

4

2 に答える 2

2

多対多の関係があり、3番目のテーブルが必要です。Studentテーブルに存在するCurrent列とRequested列の代わりに、新しいテーブルに存在する必要があります。そのテーブルは次のようになります。

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

私が多くの関係で使用し、教えてきた典型的なアプローチは、2つのテーブル間の変換テーブルに相当するものです。

于 2010-05-07T22:21:46.680 に答える