Foreign-Key
如何從三個表中創建主複合鍵?
假設我有帶有 A.id 的 tableA,帶有 B.id 的 tableB 和帶有 C.id 的 table C。現在我想創建一個具有主複合鍵(A.id,B.id,C.id)的表 D。我怎樣才能做到這一點?
create tableD( A.id .. B.id .., C.id .., primary key (A.id, B.id, C.id), foreign key (A.id, B.id, C.id) references ?? )
因此,您有一個包含複合主鍵的表,其中每個元素都引用另一個表的主鍵。
沒有具體細節,讓我們舉一個簡單的例子,一個學生參加由特定老師教授的課程。每個實體(學生、班級、教師)都可以獨立存在(即有自己的表格),並且三者的關聯是實際上課的學生(好吧,我忽略了所有這些日期!)。
create tableA ( id ... primary key ( id ) ) ; create tableB ( id ... primary key ( id ) ) ; create tableC ( id ... primary key ( id ) ) ; create tableD ( a_id ... , b_id ... , c_id ... , foreign key ( a_id ) references tableA ( id ) , foreign key ( b_id ) references tableB ( id ) , foreign key ( c_id ) references tableC ( id ) );