0

テーブルを 3NF に正規化した後、外部キーをどのように表すかを理解するのに苦労しています。

テーブルを次のように考えてみましょう。

student(studentid,studentname,courseid,coursename,dateofexam,marks,grade)

次のようにFDを把握できます。

studentid -> studentname
courseid -> coursename
{student,courseid} -> dateofexam,marks
marks -> grade

今、次のような非 ket 属性を持つ FD の新しいテーブルを作成しようとしています。

marks grade
studentid studentname

これらのテーブルの外部キーを古いテーブルに関連付けるにはどうすればよいstudentですか? 私はこれを行うことに混乱しています。

前もって感謝します。

4

1 に答える 1

1

あなたのFDは実際にどのようにあなたを示しています:

studentid -> studentname
courseid -> coursename
{student,courseid} -> dateofexam,marks
marks -> grade

各行は個別のテーブルになります。他のテーブルに存在するキーは fk です。この場合:

{student,courseid} -> dateofexam,marks

これは、studentid、courseid、marks (おそらく ID である必要があります) になります。

こんなものでしょう

Student(学生ID、学生名)

Course(コースID、コース名)

Exams( Examid, fk_studentid, fk_courseid, dateofexam, fk_markid)

Marks( マークID, 成績)

于 2013-03-02T06:10:51.690 に答える