我即將創建一個數據庫,其中的字段會顯示在幾個不同的表中(如鍵)。例如,在我的列表中,我將擁有MLS_ID。該字段也會出現在listing_photos表中。我應該在字段名稱前加上唯一的名稱:listings_MLS_ID作爲示例嗎?我應該如何命名關係數據庫中的字段?
0
A
回答
2
這樣做絕對沒有意義。你總是可以用你的字段名和數據庫和表名稱作爲前綴,得到你的唯一標識符,保持名字本身簡潔明瞭。
listings.mls.id
將在屬於listings
數據庫mls
表處理一個id
字段。
這將是非常靈活的:任何時候你需要長的唯一標識符 - 你有它。
在所有其他情況下,您可以使用短名稱。
0
這是個人偏好。
對我來說:
我不與本地表名稱的前綴,除了主鍵。例如 PERSON表將獲得PERSON_ID列,ADDRESS表將獲得ADDRESS_ID等。
PERSON_ADDRESS表獲取PERSON_ID和ADDRESS_ID,而不是別的。
在您的查詢中,當它們應該與鍵等效時,列名相同,並且表別名告訴您哪個是哪個。
1
將兩個表中的密鑰命名爲相同(MLS_ID)。數據庫服務器獎勵你通過讓這樣做,你使用更簡潔USING
條款:
SELECT * FROM listings
JOIN listing_photos
USING (MLS_ID)
比這更確切地說:
SELECT * FROM listings
JOIN listing_photos
ON listing_photos.listings_MLS_ID = listings.MLS_ID
+0
不是那麼大的真的是一種獎勵,特別是在ORM的日子和年齡。 – webbiedave
相關問題
- 1. 命名數據庫表字段以指定關係?
- 2. 我應該如何存儲關係數據庫的地址?
- 3. 應該命名數據庫中具有FK/PK關係的列嗎?
- 4. 我應該如何建模數據庫和OOP中的組關係?
- 5. 我應該如何建模我的系統 - 數據庫隱含
- 6. 拉關係數據庫字段
- 7. 面向文檔的數據庫或關係數據庫,我該如何選擇?
- 8. 命名數據庫表字段
- 9. 我應該如何在數據庫中實現唯一的優先級字段?
- 10. 我應該如何使這個數據庫模型的關係工作
- 11. 我應該如何設計這種情況下的數據庫關係
- 12. 我應該在ViewState中存儲數據庫ID字段嗎?
- 13. 我應該使用關係數據庫還是非sql數據庫?
- 14. 我應該如何在我的關係數據庫中組織這個(簡單的投票系統)?
- 15. 我應該如何製作簡單的名稱數據庫?
- 16. 當自然名稱是ruby/rails關鍵字時,我應該如何命名模型字段?
- 17. 我應該如何使用數據庫?
- 18. 我應該如何拆分數據庫?
- 19. 我應該如何維護數據庫?
- 20. 我應該如何在mysql數據庫中存儲一系列數據?
- 21. 我應該如何處理數據庫中的數據副本?
- 22. 我該如何命名在雲中的數據流管道
- 23. 我應該如何處理一對多關係數據庫模式中的更新數據?
- 24. 關係數據庫中的關係「OR」
- 25. Access數據庫中多值字段的關係
- 26. 從關係數據庫的背景來看,我應該如何建模db4o(或任何對象數據庫)中的關係?
- 27. 許多數據庫表中的重構重命名字段
- 28. 我應該存儲關於數據庫中的數字記錄的信息嗎?
- 29. 我應該如何在數據庫中構造這些數據?
- 30. 我如何知道sql server 2008中數據庫中的關係?
我建議給列在每個表上同一名稱在其內出現(它使連接條件更容易 - 人們可以使用USING或甚至NATURAL JOIN來合併公共列)。 – eggyal
對此有不同的意見:http://programmers.stackexchange.com/questions/114728/why-is-naming-a-tables-primary-key-column-id-considered-bad-practice – Brad