2 回答

TA貢獻1796條經驗 獲得超4個贊
我實際上在兩天前問了一個類似的問題。這取決于你,但我會說是的。在我的情況下,如果我不自動增加相關表中的所有 ID,數據將不會與正確的用戶相關聯。然而,有一種說法認為在這種情況下不應使用 auto_increment 列,但它們對其他事情很有用。根據某些人的說法,這些關系可能沒有那么有意義,因此關系的意義取決于您和數據表的具體情況。無論如何,在決定要做什么之前,您應該更多地研究 auto_incrementing 相關表中所有 ids 的優點,以及可能的缺點。無論哪種方式都很好,但它們提供了不同的優點和缺點-您

TA貢獻1788條經驗 獲得超4個贊
這是一個關于主鍵的爭論不休的話題。恕我直言,不,你不應該。數據庫中的每一列都應該有一個用途。在此之后,對于您的示例,我同意 auto_increment id 是多余的,這僅僅是因為它沒有目的。第二個表仍然唯一地描述用戶,因此主鍵應該是 user_id。
除了上述之外,還有一個原則讓我決定是否需要auto_increment id:是否可以將表視為實體。例如,用戶顯然是一個實體,但關系不是(在大多數情況下),即組合鍵可以達到目的。但是,當關系表擴展為具有更多屬性并且它具有 auto_increment id 開始變得有意義時。
我對 Laravel 沒有太多經驗,但數據庫表的命名不應該由框架決定。比較 history 和 user_history,新 DBA 或開發人員在不查看其數據的情況下對這兩個名稱有何期望?user_history 更準確地描述了該表
- 2 回答
- 0 關注
- 187 瀏覽
添加回答
舉報