Bắt đầu ngayBắt đầu miễn phí

Xác định khóa với SELECT COUNT DISTINCT

Có một cách rất cơ bản để tìm xem điều gì đủ điều kiện là một khóa trong một bảng hiện có và đã có dữ liệu:

  1. Đếm số bản ghi khác nhau cho mọi tổ hợp cột có thể. Nếu số kết quả x bằng với tổng số hàng trong bảng đối với một tổ hợp nào đó, bạn đã tìm ra một siêu khóa (superkey).

  2. Sau đó lần lượt bỏ từng cột cho đến khi bạn không thể bỏ thêm cột nào nữa mà không làm số x giảm. Khi đó, bạn đã tìm ra một khóa (ứng viên).

Bảng professors có 551 hàng. Nó chỉ có một khóa ứng viên có thể có, là sự kết hợp của hai thuộc tính. Bạn có thể thử các tổ hợp khác nhau bằng nút "Chạy mã". Khi đã tìm được lời giải, bạn có thể gửi câu trả lời của mình.

Bài tập này là một phần của khóa học

Nhập môn Cơ sở dữ liệu quan hệ bằng SQL

Xem khóa học

Hướng dẫn bài tập

Dựa trên các bước ở trên, hãy xác định khóa ứng viên bằng cách thử các tổ hợp cột khác nhau.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

-- Try out different combinations
___ COUNT(___(___)) 
FROM professors;
Chỉnh sửa và Chạy Mã