我幾乎沒有後端和數據庫設計的經驗,所以我想知道是否將數據庫中的外鍵數量減至最少是一種好的做法?將數據庫設計中的外鍵數量減至最少是否是一種好的做法
例如,讓我們考慮登錄搜索網站:
USER --hasA--> SESSION --makes--> QUERY
在這種情況下,有用戶和會話之間的一個一對多的關係,而會話具有一對與查詢的多種關係。 session對於user_id有一個外鍵並且對於session_id有一個foreign_key是有意義的,但是如果查詢表有一個用於user_id的外鍵?爲什麼或者爲什麼不?
在此先感謝!
爲什麼要將它們最小化?這些強制執行參照完整性,沒有它們,您將處於數據庫可能存儲不一致數據的地方。 – Oded