Sự khác biệt giữa khóa siêu và khóa ứng viên

Tác Giả: Laura McKinney
Ngày Sáng TạO: 1 Tháng Tư 2021
CậP NhậT Ngày Tháng: 17 Có Thể 2024
Anonim
Sự khác biệt giữa khóa siêu và khóa ứng viên - Công Nghệ
Sự khác biệt giữa khóa siêu và khóa ứng viên - Công Nghệ

NộI Dung


Khóa là các yếu tố cần thiết của bất kỳ cơ sở dữ liệu quan hệ. Nó xác định mỗi bộ dữ liệu trong một mối quan hệ duy nhất. Các khóa cũng được sử dụng để thiết lập mối quan hệ giữa các bảng trong một lược đồ. Trong bài viết này, chúng tôi sẽ thảo luận về hai khóa cơ bản của bất kỳ cơ sở dữ liệu nào là siêu khóa và khóa ứng viên. Mỗi khóa ứng viên là một siêu khóa, nhưng, mọi siêu khóa có thể hoặc không thể là khóa ứng viên. Có nhiều yếu tố phân biệt khác giữa siêu khóa và khóa ứng viên, mà tôi đã thảo luận ngắn gọn trong biểu đồ so sánh dưới đây.

  1. Biểu đồ so sánh
  2. Định nghĩa
  3. Sự khác biệt chính
  4. Phần kết luận

Biểu đồ so sánh

Cơ sở để so sánhSiêu chìa khóaKhóa ứng viên
Căn bảnMột thuộc tính duy nhất hoặc một tập hợp các thuộc tính xác định duy nhất tất cả các thuộc tính trong một mối quan hệ là siêu khóa.Một tập hợp con đúng của một siêu khóa, cũng là một siêu khóa là một khóa ứng cử viên.
Một trong nhữngKhông bắt buộc rằng tất cả các siêu khóa sẽ là khóa ứng cử viên.Tất cả các khóa ứng cử viên là siêu khóa.
Lựa chọnTập hợp các siêu khóa tạo thành cơ sở để lựa chọn các khóa ứng cử viên.Tập hợp các khóa ứng cử viên tạo thành cơ sở để lựa chọn một khóa chính duy nhất.
ĐếmCó tương đối nhiều siêu khóa trong một mối quan hệ.Có các khóa ứng viên tương đối ít hơn trong một mối quan hệ.


Định nghĩa siêu khóa

Một siêu chìa khóa là một căn bản chìa khóa của bất kỳ mối quan hệ. Nó được định nghĩa là một Chìa khóa có thể xác định tất cả các thuộc tính khác trong một mối quan hệ. Siêu khóa có thể là một thuộc tính đơn hoặc một tập hợp các thuộc tính. Hai thực thể không có cùng giá trị cho các thuộc tính tạo thành một siêu khóa. Có ít nhất một hoặc nhiều hơn một siêu khóa trong một mối quan hệ.

Một siêu khóa tối thiểu cũng được gọi là khóa ứng cử viên. Vì vậy, chúng ta có thể nói một số siêu khóa được xác minh là khóa ứng viên. Sau này chúng ta sẽ thấy một siêu khóa được kiểm tra để trở thành khóa ứng cử viên.


Chúng ta hãy lấy một mối quan hệ R (A, B, C, D, E, F); chúng tôi đã tuân theo các phụ thuộc cho mối quan hệ R và chúng tôi đã kiểm tra từng phụ thuộc cho siêu khóa.

Sử dụng khóa, AB chúng tôi có thể xác định phần còn lại của các thuộc tính của bảng, tức là CDEF. Tương tự, sử dụng các phím CD, ABD, DF, DEF chúng ta có thể xác định các thuộc tính còn lại của bảng R. Vì vậy, tất cả đây là các siêu khóa.

Nhưng sử dụng chìa khóa CB chúng ta chỉ có thể tìm thấy các giá trị cho thuộc tính CƯỜI MỞ MIỆNGĐỤ, chúng tôi không thể tìm thấy giá trị cho các thuộc tính MộtE. Vì thế, CB không phải là một siêu chìa khóa. Tương tự là trường hợp với chìa khóa CƯỜI MỞ MIỆNG chúng ta không thể tìm thấy các giá trị của tất cả các thuộc tính trong một bảng bằng khóa D. Vì vậy, D không phải là một siêu khóa.

Định nghĩa khóa ứng viên

Một siêu chìa khóa đó là một tập hợp con đúng của một siêu khóa khác có cùng quan hệ được gọi là siêu khóa tối thiểu.  Siêu khóa tối thiểu được gọi là Khóa ứng viên. Giống như siêu khóa, một khóa ứng cử viên cũng xác định từng bộ dữ liệu trong một bảng duy nhất. Một thuộc tính khóa ứng cử viên có thể chấp nhận VÔ GIÁ TRỊ giá trị.

Một trong các khóa ứng cử viên được chọn làm khóa chính bởi DBA. Với điều kiện là các giá trị thuộc tính khóa phải là duy nhất và không chứa NULL. Các thuộc tính của khóa Ứng viên được gọi thuộc tính nguyên tố.

Trong ví dụ trên, chúng tôi đã tìm thấy các siêu khóa cho mối quan hệ R. Bây giờ, chúng ta hãy kiểm tra tất cả các siêu khóa để trở thành khóa Ứng viên.

Chìa khóa siêu AB là một tập hợp con đúng của siêu khóa ABD. Vì vậy, khi một siêu khóa tối thiểu AB một mình, có khả năng xác định tất cả các thuộc tính trong một bảng, sau đó chúng ta không cần khóa lớn hơn ABD. Do đó, siêu chìa khóa AB là một khóa ứng cử viên trong khi ABD sẽ chỉ là siêu chìa khóa.
Tương tự, một siêu khóa DF cũng là một tập hợp con của siêu khóa DEF. Vì vậy, khi DF là một mình có khả năng xác định tất cả các thuộc tính trong một mối quan hệ tại sao chúng ta cần DEF. Do đó, siêu chìa khóa DF trở thành một ứng cử viên trong khi DEF chỉ là một siêu chìa khóa.

Chìa khóa siêu CD không phải là một tập hợp con của bất kỳ siêu khóa nào khác. Vì vậy, chúng ta có thể nói CD là một siêu khóa tối thiểu xác định tất cả các thuộc tính trong một mối quan hệ. Vì thế, CD là một khóa ứng cử viên.

Trong khi đó chìa khóa CBCƯỜI MỞ MIỆNG không phải là siêu khóa vì vậy, chúng thậm chí không thể là khóa ứng cử viên. Xem bảng trên bạn có thể kết luận rằng mỗi khóa ứng viên là một siêu khóa nhưng điều ngược lại là không đúng.

  1. Một thuộc tính duy nhất hoặc một tập hợp các thuộc tính có thể xác định duy nhất tất cả các thuộc tính của một mối quan hệ cụ thể được gọi là Siêu khóa. Mặt khác, một siêu khóa là một tập hợp con đúng của một siêu khóa khác được gọi là khóa ứng viên.
  2. Tất cả các khóa ứng cử viên là siêu khóa nhưng điều ngược lại là không đúng.
  3. Bộ siêu khóa được xác minh để tìm khóa ứng viên trong khi đó, bộ khóa ứng viên được xác minh để chọn một khóa chính duy nhất.
  4. Các siêu khóa có số lượng tương đối nhiều hơn các khóa ứng cử viên.

Phần kết luận:

Super key là một khóa cơ bản của bất kỳ mối quan hệ. Chúng phải được vẽ trước khi nhận ra các khóa khác cho mối quan hệ khi chúng tạo thành cơ sở cho các khóa khác. Khóa ứng viên rất quan trọng vì nó giúp nhận ra khóa quan trọng nhất của bất kỳ mối quan hệ nào là khóa chính.