回答
- 候選鍵=最小鍵標識行
- Super鍵=至少一樣寬候選鍵
對於我來說,超級密鑰通常會在候選密鑰上引入歧義
候選鍵是一個最小的超級鍵。所以一個超級密鑰不是嚴格的「更寬」,因爲候選密鑰也是超級密鑰。 – sqlvogel 2010-06-21 19:41:48
@david:不是「最小的超級鍵」嗎? – gbn 2010-06-22 04:40:49
「通常引入歧義」 - 你是什麼意思?例如,在這個答案中(http://stackoverflow.com/questions/3938736/enforce-constraints-between-tables/3940708#3940708),EmployeeDepartments表有一個候選鍵'(employee_ID)'和一個超級鍵'(employee_department_name, EMPLOYEE_ID)'。兩者都是數據完整性所必需的,哪裏存在歧義? – onedaywhen 2010-10-26 14:18:03
超級密鑰是一組列,唯一標識ifies連續。候選鍵將是唯一標識一行的MINIMAL列集合。所以基本上Superkey是一個候選關鍵字,其中包含多餘的不必要的列。
「一個超級鍵是一個候選鍵與額外的不必要的列」 - - 額外的列可能實際上有必要引用表並確保數據的完整性,例如'(employee_ID)'是唯一的,但是對於根據部門限制僱員的某些表可能需要'(employee_ID,department_name)'上的鍵。 – onedaywhen 2010-10-26 14:11:51
讓我們保持它的簡單
超密鑰 - 一組鍵的唯一定義一個row
。所以出所有屬性的,如果連任何單獨一個是unique
那麼所有具有獨特的屬性屬於子集根據superkey
。
候選鍵 - 一個superkey
哪些沒有進一步的子集可以導出可識別rows uniquely
,或者我們可以簡單地說,它是minimal superkey
的。
- 1. 超級密鑰的最低限度保證它是候選密鑰?
- 2. 數據庫 - 超級密鑰
- 3. 密鑰保管庫密鑰與祕密
- 4. 多密鑰級聯加密
- 5. 創建超級列和密鑰
- 6. 小學,考生和超級密鑰
- 7. emacs中的超級密鑰綁定
- 8. 爲什麼解密的密鑰與加密密鑰不一樣?
- 9. Google+密鑰和密鑰
- 10. Java密鑰 - 密鑰圖
- 11. MD5加密與密鑰
- 12. 可選組密鑰
- 13. JQ:篩選密鑰
- 14. 祕密密鑰分配與Diffie-Hellman的公鑰加密
- 15. 對稱加密密鑰與非對稱密鑰-ssl
- 16. Redis複製密鑰級別
- 17. 只用一個密鑰在密鑰中查找密鑰名稱?
- 18. Rijndael加密密鑰
- 19. DES加密密鑰
- 20. Mysql加密密鑰
- 21. VIM:加密密鑰
- 22. 加密AES密鑰?
- 23. AES密鑰,加密
- 24. .Net將密鑰作爲密鑰
- 25. 從jck密鑰庫中導出密鑰
- 26. 私鑰加密公鑰加密
- 27. 公鑰加密的密鑰庫
- 28. Java:從編碼密鑰獲取密鑰
- 29. NodeJS TypeError('JwtStrategy需要密鑰或密鑰');
- 30. 從密鑰代碼解析密鑰
超級鍵和候選鍵是關係數據庫模型術語。 「ERDB」是什麼意思?也許你指的是實體關係(ER)模型,它是一組繪製關於數據圖片的約定。 ER模型與關係模型不同。 – sqlvogel 2010-06-21 19:38:19