2010-09-01 40 views

Trả lời

9

chính Candidate là một tối thiểu (tức là tối giản) chìa khóa, chìa khóa duy nhất là một tính chất thừa, và khóa chính là một khái niệm lỗi thời vẫn còn sống sót từ những ngày khi người ta nghĩ rằng nó có thể cho một chính là "độc đáo hơn" so với bất kỳ người nào khác.

+0

Có thể một khóa ứng cử viên được tổng hợp, tôi khá bối rối vì một số nguồn cho rằng nó phải là một cột đơn và một số nói rằng nó có thể được tổng hợp? – user1

+0

Phím có thể được tổng hợp. Không có gì sai với họ. Nếu số lượng các thuộc tính được khá lớn (suy nghĩ, 4 hoặc nhiều hơn) thì bạn * có thể * bắt đầu chạy vào * nhược điểm * thực tế, nhưng thậm chí sau đó vẫn không có gì sai với chúng, ở cấp độ lý thuyết cơ bản. –

2

Khóa tổng hợp là khóa chính có nhiều hơn 1 cột. Ví dụ, xem xét nhiều đến nhiều mối quan hệ giữa sinh viên và các khóa học. Ở đây chúng ta cần một bảng khác, cho phép nói sinh viên.

Bảng studentcourses này sẽ có student_id và course_id làm cột của nó. Điều này sẽ tạo thành khóa tổng hợp của bạn.

Khóa ứng cử viên là tập hợp các cột có thể xác định duy nhất các giá trị trong bảng và có thể hoạt động như một khóa duy nhất. Một trong các khóa ứng cử viên này sẽ trở thành khóa chính và phần còn lại sẽ trở thành các khóa thay thế.

Khóa duy nhất như tên được đề xuất, được sử dụng để nhận dạng duy nhất giá trị trong bảng. Ví dụ: Emp_id vv Mỗi khóa ứng viên sẽ hoạt động như một khóa duy nhất. Khóa duy nhất không bao giờ có thể là giá trị NULL.

3

Khóa ứng cử viên - Khóa ứng cử viên có thể là bất kỳ cột nào hoặc kết hợp các cột có thể đủ điều kiện là khóa duy nhất trong cơ sở dữ liệu. Có thể có nhiều Candidate Keys trong một bảng. Mỗi khóa ứng viên có thể đủ điều kiện làm Khóa chính.

Khoá chính - Khóa chính là cột hoặc kết hợp các cột xác định duy nhất một bản ghi. Chỉ có một Ứng cử viên chính có thể là khóa chính. Cần phải rất cẩn thận khi chọn Khóa chính làm lựa chọn không chính xác có thể ảnh hưởng bất lợi đến kiến ​​trúc sư cơ sở dữ liệu và chuẩn hóa trong tương lai. Đối với khóa Ứng viên để đủ điều kiện làm Khóa chính, nó phải là Non-NULL và duy nhất trong bất kỳ miền nào. Tôi đã quan sát khá thường xuyên rằng các khóa chính hiếm khi thay đổi. Tôi muốn có phản hồi của bạn về việc không thay đổi Khóa chính.

For more articles

13

Siêu chính là tập hợp của một hoặc nhiều cột (tức là thuộc tính) mà xác định duy nhất một kỷ lục.

Khóa ứng cử viên là khóa Siêu tối thiểu (có nghĩa là chúng tôi không thể xóa bất kỳ thuộc tính nào khỏi nó nếu không nó sẽ không còn là Superkey nữa).

Khóa chính là khóa Ứng viên được chọn tùy ý. Phải có chỉ và duy nhất một khóa chính. Chúng tôi có thể chọn bất kỳ khóa ứng viên nào làm Khóa chính. Các khóa ứng cử viên khác không được chọn làm Khóa chính được gọi là Khóa thay thế.

Nếu khóa chính có nhiều hơn thì một cột (hoặc thuộc tính), nó được gọi là Khóa tổng hợp.

+1

Cũng giống như để biết quan điểm của bạn về 'Unique Key' !! – KGhatak

+0

Phím duy nhất cho phép giá trị NULL. Tuy nhiên, khóa chính hoặc khóa ứng cử viên không cho phép giá trị NULL. –

4

Phím ứng cử viên - Đây là cột có thể xác định duy nhất tất cả các cột cho một hàng hoặc cá thể cụ thể của bảng cơ sở dữ liệu của bạn.ID hộ chiếu của bạn là một ví dụ điển hình của khóa Ứng viên và khi sử dụng ID này, bạn có thể truy xuất tên, họ và các chi tiết khác liên quan đến người cụ thể đó.

Khóa chính - Có thể có một vài phím Ứng viên trên bảng cơ sở dữ liệu cụ thể duy nhất và có thể được sử dụng để xác định một cá thể cụ thể trong bảng, ví dụ: Số đăng ký xe, số khung, số sê-ri động cơ, v.v ... nhưng hãy nhớ rằng chỉ có thể có một khóa ứng cử viên sẽ được sử dụng làm khóa chính. Sự khác biệt giữa Khóa ứng viên so với khóa chính: - ) Cả khóa chính và khóa Ứng viên có thể xác định duy nhất các bản ghi trong bảng trên cơ sở dữ liệu.

2) Cả khóa chính và khóa Ứng viên đều có các ràng buộc UNIQUE và NOT NULL.

3) Khóa chính hoặc phím Ứng cử viên có thể là một cột đơn hoặc kết hợp nhiều cột trong một bảng.

+0

Đây là câu trả lời chưa hoàn chỉnh. Khóa duy nhất không được đề cập ở bất kỳ đâu. –

Các vấn đề liên quan