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:
Đếm số bản ghi khác nhau cho mọi tổ hợp cột có thể. Nếu số kết quả
xbằ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).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ố
xgiả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
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;