Mysql
主表或補充表中的外鍵?
我有兩個具有一對一關係的表 b/w 學生和 Student_detail(一種補充表)表
設計一
Student student_id name ....
學生詳細資訊
student_detail_id student_id(foreign key to student_id in student table) ...
設計二
Student student_id name student_detail_id (foreign key to student_detail_id in Student_detail table) ....
學生詳細資訊
student_detail_id ...
我的問題是哪種方法更好?從設計的角度來看,將外鍵保留在主表(在這種情況下為學生表)還是在補充表(學生詳細表)中更好?
根據我的理解,方法 2 更好,因為如果我們添加更多補充表,我們不必修改主表?
建議將先前的評論發佈為“答案”。這裡是。
即使是合理的一對一,我仍然會將“主”表視為父表,而將“詳細資訊”視為潛在的多個子表之一。因此,FK 將進入“詳細資訊”表。更恰當地命名為“additional_student_details”。
在閱讀了Google上的幾篇文章並在這裡發表評論後,我相信理想情況下不需要補充表。但是是的,如果有任何 FK 應該像一對多關係那樣深入細節/補充。此外,我們不必修改主表,以防將來出現任何新的詳細資訊表