簡體   English   中英

外鍵關系的最佳實踐

[英]best practice for foreign key relationships

從上述兩種可能性中創建外鍵的最佳實踐是:

table1:用戶(id,名稱,密碼)table2:考試(id,名稱)表3:user_exam(is,user_id,exam_id)

可能性2:

table1:考試(id,名稱)table2:用戶(id,名稱,密碼,exam_id)

根據您所建模的內容,我猜您在考試和用戶之間存在多對多關系。 換句話說,您可以參加沒有用戶的考試,也可以參加沒有考試的用戶。 在這種情況下,模型2根本不起作用。

在模型2中,每次添加tehm考試時,每個用戶都只會獲得一個id,否則您將不得不修改multipel用戶記錄,這尤其會增加數據完整性問題的可能性,因為那里存在密碼。 除非可以保證永遠不需要進行多次考試,否則甚至不要考慮使用模型2。

根據您在談論哪種類型的考試,user_exams表可能應包括其他信息,例如日期。 您可能還需要什么取決於所建模數據的含義。

您的問題更像是一個基於意見的問題,但是據我所知,外鍵應該在聯結表中。 因此, 可能性1是使用外鍵的理想方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM