Q
實體中的主鍵
1
A
回答
2
下面是一些術語:
- 甲超密鑰是一組,加在一起,唯一標識行的列。
- A 候選鍵(或者只是:「鍵」)是最小的超鍵。有時一個關鍵字只包含一列,有時包含多個關鍵字(在這種情況下稱爲「複合關係」)。
- 對於practical reasons,我們將密鑰分類爲主要或備用。一個表有一個主鍵和零個或多個備用鍵。
- 關鍵是「自然」如果它來自數據的固有屬性。換句話說,它意味着什麼。
- 一個關鍵是「替代」如果它本身沒有任何意義 - 它只是爲了識別目的。它通常作爲自動遞增整數實現,但可能還有其他策略,如GUID(對於複製有用)。自然鍵是複合的,但是對於替代品幾乎不會發生。
如果沒有「明顯的」自然鍵,全行總能充當關鍵。但是,這很少實用,在這種情況下,您通常會引入一個代理鍵,僅用於識別行。
Sometimes,但並非總是如此,將替代品另外引入到現有的自然鍵中是有用的。
ER圖將清楚地識別PK ,無論是天然的還是替代的,以及它是否合成。這看起來究竟如何取決於所使用的符號,但PK通常會以圖形不同的方式繪製,並可能以「PK」作爲前綴。
即如果您要刪除任何列,它將不再是唯一的。
數據庫表格是「關係」的數學概念的物理表示。因爲關係是設置的,所以沒有兩個相同行的目的,所以至少整行必須是唯一的(一個元素在集合中或者不是 - 它不能在集合中「兩次」,就像反對multiset)。
假設它不只是公司層面的所以沒有屬性展示。
0
如果沒有主鍵,您可以識別您的DATAS但它不是高性能。
而最佳做法是在桌上使用primary。
偏好是使用自動遞增列作爲主鍵
1
你是對的,在時尚之後。從技術上講,主鍵和唯一鍵可以是兩個截然不同的東西。您可以在表或實體上具有唯一標識該實體的主鍵。在同一張桌子上,您可以有一個唯一鍵約束,然後可以使用該約束確保根據您選擇的條件不會有兩行最終具有相同的屬性。所以你可以有一個主鍵和一個唯一的約束在同一張桌子上。 只需在您的數據庫中自動生成一個主鍵列,然後選取要用於強制執行唯一鍵約束的表中的兩列,即
相關問題
- 1. 實體框架中的主鍵/外鍵
- 2. 主鍵的獨立實體
- 3. 實體框架中的雙主鍵
- 4. 休眠實體中的複合主鍵
- 5. 主義堅持以前實體爲關鍵實體的實體
- 6. 實體框架和主鍵
- 7. 實體框架主鍵名
- 8. 在沒有主鍵的實體框架中保存實體
- 9. JPA映射:主鍵是一個實體的複合主鍵和其他實體的一個主鍵的複合
- 10. ZF2主義創建實體whitout主鍵
- 11. 實體框架4返回鍵/主鍵
- 12. 實體框架定義主鍵外鍵到另一個實體
- 13. 沒有主鍵的表的JPA實體
- 14. Doctrine2中的關係實體(實體也是關係的)的複合主鍵或代理主鍵
- 15. 2個實體的一個主鍵(ERD)
- 16. 查找Hibernate實體的主鍵字段
- 17. 沒有主鍵的父實體
- 18. 主鍵上的實體框架爲空
- 19. 實體框架表的主鍵
- 20. 通過主鍵值搜索實體的實體模型?
- 21. 將交集實體中的組合外鍵用作主鍵?
- 22. 使用實體框架4.0中的上下文確定實體的主鍵
- 23. 實體框架 - GetObjectByKey不允許主鍵
- 24. 實體框架:表沒有主鍵
- 25. 意見,實體,無法推斷主鍵
- 26. 實體框架自動生成主鍵
- 27. ADO.NET實體框架 - 複合主鍵CRUD
- 28. JPA:持久實體與複合主鍵
- 29. 主鍵爲所有實體遞增
- 30. 更新實體而不知道主鍵