Trả lời
chủ chốt ứng cử viên là một superkey tối thiểu
+1, cộng với việc xác định "tối thiểu" ở đây là tốt vì nó không trực quan. Ví dụ trong bảng (a, b, c), với (a) là duy nhất và cũng (b, c) là duy nhất, cả hai (a) và (b, c) nên là các khóa ứng cử viên. – orip
Tối thiểu theo nghĩa là nếu một thuộc tính từ khóa ứng cử viên bị xóa, thì hàng không thể được xác định duy nhất nữa. – libjup
- chính Candidate = tối thiểu chìa khóa để xác định một hàng
- Siêu key = ít nhất rộng như một ứng cử viên chủ chốt
Đối với tôi, một khóa siêu thường sẽ giới thiệu sự mơ hồ về khóa ứng cử viên
Khoá ứng cử viên là một siêu khóa tối thiểu. Vì vậy, một siêu âm không phải là nghiêm chỉnh "rộng lớn hơn" bởi vì một khóa ứng cử viên là một siêu quá. – sqlvogel
@david: không phải là "siêu tối thiểu" một oxymoron? – gbn
"thường giới thiệu sự mơ hồ" - ý bạn là gì? Ví dụ, trong câu trả lời này (http://stackoverflow.com/questions/3938736/enforce-constraints-between-tables/3940708#3940708) bảng EmployeeDepartments có một khóa ứng viên '(employee_ID)' và một siêu khóa '(employee_department_name, employee_ID) '. Cả hai đều được yêu cầu cho toàn vẹn dữ liệu, đâu là sự mơ hồ? – onedaywhen
Siêu dữ liệu là tập hợp các cột duy nhất nhận dạng ifies một hàng. Khóa Ứng viên sẽ là một tập hợp các cột MINIMAL xác định duy nhất một hàng. Vì vậy, về cơ bản Superkey là một khóa Ứng viên với các cột không cần thiết bổ sung trong đó.
"Superkey là chìa khóa ứng cử viên có thêm cột không cần thiết" - - các cột bổ sung có thể thực sự cần thiết để tham khảo bảng và đảm bảo tính toàn vẹn dữ liệu, ví dụ '(employee_ID)' là duy nhất nhưng một khóa trên '(employee_ID, department_name)' có thể được yêu cầu cho một số bảng hạn chế nhân viên theo bộ phận của họ. – onedaywhen
Hãy giữ nó đơn giản
superkey - Một tập hợp các phím định nghĩa duy nhất một Vì vậy row
trong số tất cả các thuộc tính nếu ngay cả bất kỳ một đơn là unique
sau đó tất cả các tập con có mà thuộc tính duy nhất rơi dưới superkey
.
Ứng viên chủ chốt - Một superkey
trong đó có tập hợp con có thể tiếp tục được bắt nguồn đó có thể xác định rows uniquely
, Hoặc chúng ta chỉ có thể nói rằng nó là minimal superkey
.
- 1. Chặn khóa so với khóa không chặn
- 2. Identifer so với từ khóa
- 3. Sự khác biệt giữa khóa chính, khóa duy nhất và khóa ứng cử viên
- 4. Khóa cấp độ Java so với khóa cấp đối tượng
- 5. Siêu từ khóa trong Ruby
- 6. Siêu dữ liệu từ khóa so với dữ liệu trong DITA?
- 7. .NET - Khóa từ điển so với ConcurrentDictionary
- 8. Java - sử dụng từ khóa 'siêu'
- 9. Khóa API GCM so với ID người gửi
- 10. Ứng dụng khóa Android
- 11. Tại sao nó tốt hơn để khóa (objLock) so với khóa (this)
- 12. Mở khóa người dùng thành viên asp.net
- 13. Đại biểu so với từ khóa đại biểu
- 14. Trường Ngoại khóa so với trường OneToOne django
- 15. Mô hình Django - lựa chọn so với khóa ngoại?
- 16. resharper "cleanup code" so với từ khóa 'var'
- 17. Mẫu chức năng so với Từ khóa tự động
- 18. So sánh tốc độ truy cập từ điển với phím số nguyên so với khóa chuỗi
- 19. REQUEST_DENIED với khóa hoặc khóa ứng dụng API Google Địa điểm?
- 20. Recursive/khóa lồng nhau trong C# với tuyên bố khóa
- 21. Không có khóa chính hoặc ứng cử viên trong bảng tham chiếu phù hợp với danh sách cột tham khảo trong khóa ngoại
- 22. RSACryptoServiceProvider khởi tạo với khóa công khai và khóa riêng
- 23. Khóa với S3
- 24. Các khóa từ điển Python (so sánh các đối tượng lớp) với nhiều so sánh
- 25. Ký hai ứng dụng với cùng một khóa
- 26. Tuyên bố trả về của Ruby không hoạt động với từ khóa siêu?
- 27. Đọc siêu dữ liệu khóa ngoại theo lập trình với Entity Framework 4
- 28. Chia sẻ một khóa giữa các nhân viên gunicorn
- 29. Tìm tên khóa trong băm chỉ với một khóa?
- 30. Chỉ đăng ký khóa sau khóa cuối cùng với jquery
Superkey và Candidate Key là các thuật ngữ mô hình cơ sở dữ liệu quan hệ. "ERDB" có nghĩa là gì? Có lẽ bạn đang đề cập đến mô hình Mối quan hệ thực thể (ER) là một tập hợp các quy ước để vẽ hình ảnh về dữ liệu. Mô hình ER là một cái gì đó khác với mô hình quan hệ. – sqlvogel