我已閱讀關於RDBMS中的鍵。 https://stackoverflow.com/a/6951124/1647112 但是我不明白需要使用候選鍵。如果只需要一個主鍵來唯一標識表中的一行,爲什麼需要候選鍵? 請給出一個很好的例子,說明各種鍵的差異和重要性。 在此先感謝。主鍵和候選鍵之間的區別
回答
表可以有一個或多個候選鍵 - 這些鍵是唯一標識表中的一行的鍵。
但是,只能選擇其中一個候選鍵作爲主鍵。
好的,所以主鍵是候選鍵之一? – 2013-05-11 20:50:07
@ShashankRaghunath - 是的。你選擇的那個。 – Oded 2013-05-11 20:51:13
請友善地告訴我,爲什麼使用超級密鑰? – 2013-05-11 20:54:20
從,上面的回答我得出了這個結論
Super鍵
||
\/
候選鍵(從超使用的一個或多個屬性(用於選擇一個或多個行的一個或多個屬性)用於選擇單個行)
||
\/
主鍵(用於選擇單個行候選鍵之中的一個屬性)
我是否正確?
**主鍵**是**作爲數據庫設計師挑選的候選鍵**之一。它不是候選關鍵字的*部分,它是現有的已識別候選關鍵字(**整個候選關鍵字)中的一個。 – 2013-05-11 21:26:49
- 1. 主鍵,唯一鍵和候選鍵之間的區別
- 2. 主鍵約束與主鍵序列之間的區別?
- 3. 候選鍵和主鍵是什麼?
- 4. 候選鍵和複合鍵有什麼區別?
- 5. SQL Server中主鍵和唯一索引之間的區別
- 6. 鍵控散列和非鍵控散列之間的區別?
- 7. 「關鍵部分」,「關鍵區域」和「約束執行區域」之間的區別
- 8. 主鍵也是超級鍵和候選鍵嗎?
- 9. SQL關鍵字之間的區別
- 10. 只有主鍵和主鍵約束有什麼區別?
- 11. 主鍵,唯一鍵和外鍵約束以及索引之間的區別是什麼?
- 12. 主鍵和身份有什麼區別?
- 13. 視圖與表之間的主鍵和外鍵鍵映射
- 14. Ruby和C之間的主要區別
- 15. nslookup,主機和resolveip之間的區別?
- 16. ToolBar和CollapsingToolBar之間的主要區別
- 17. $ locationStartChange和$ routeStartChange之間的主要區別
- 18. wx.lib.sheet和wx.Grid之間的主要區別
- 19. IIS6和IIS7之間的主要區別
- 20. PHP和Servlet之間的主要區別
- 21. void main和int之間的區別主
- 22. PHP和ASP之間的主要區別
- 23. Go和Ruby之間的主要區別
- 24. cassandra中的行鍵,主鍵和索引有什麼區別?
- 25. SQL Server中主鍵(集羣)和集羣唯一索引之間的區別
- 26. Android Home鍵和Back鍵與它們的行爲之間的區別
- 27. 帶整數鍵和矢量的地圖之間的區別
- 28. couchbase中文檔類型和鍵值類型之間的區別
- 29. PostgreSQL中「DROP COLUMN」和「DROP」關鍵字之間的區別
- 30. Rails中外鍵約束和引用之間的區別
我覺得OP想要這個:假設你有三張表。你的主表的主要部分是定義爲主鍵的最重要的(對於數據設計)鍵。但。其他兩個表具有不同的主鍵。爲了使表1和表2或表1和表3之間能夠進行高效的連接,您可能需要將外部表中的公共列(外鍵)添加到表1中。這是查看您嘗試訪問的另一種方式理解。外鍵唯一標識行rable 1 – 2013-05-11 20:53:19