Thông thường khi bạn có một bảng có khóa chính nhiều cột, đó là kết quả của một bảng tham gia (nhiều-nhiều) được nâng lên thành thực thể của chính nó (và do đó xứng đáng là khóa chính của chính nó). Có nhiều người sẽ tranh luận rằng bất kỳ bảng tham gia nào NÊN mặc định là một thực thể, nhưng đó là một cuộc thảo luận cho một ngày khác.
Chúng ta hãy xem xét một giả thuyết nhiều đến nhiều mối quan hệ:
Học sinh * --- * Lớp
(Một sinh viên có thể ở nhiều lớp, một lớp có thể có nhiều sinh viên).
Ở giữa hai bảng đó sẽ là một bảng nối được gọi là StudentClass (hoặc ClassStudent tùy thuộc vào cách bạn viết nó). Đôi khi, bạn muốn theo dõi những thứ như khi học sinh ở trong lớp. Vì vậy, bạn sẽ thêm nó vào bảng StudentClass. Tại thời điểm này, StudentClass đã trở thành một thực thể duy nhất ... và nên được đặt tên để nhận ra nó như vậy, ví dụ như Ghi danh.
Học sinh 1 --- * Ghi danh * --- 1 Lớp
(một học sinh có thể có nhiều Ghi danh, mỗi Ghi danh dành cho một lớp (hoặc đi ngược lại một Lớp có thể có nhiều Ghi danh, mỗi Ghi danh dành cho một Học sinh).
Bây giờ bạn có thể truy vấn những thứ như, có bao nhiêu học sinh đã đăng ký vào lớp Hóa học 101 trong năm qua? Hay những lớp học mà John Doe đã đăng ký khi theo học tại Đại học Acme? Điều này là có thể nếu không có khóa chính riêng biệt, nhưng một khi bạn có khóa chính để đăng ký, một truy vấn dễ dàng hơn sẽ là những lần đăng ký này (theo id), có bao nhiêu học sinh nhận được điểm qua?
Việc xác định xem một thực thể có xứng đáng với PK hay không để biết bạn sẽ thực hiện bao nhiêu truy vấn (hoặc thao tác) cho thực thể đó. Ví dụ, bạn muốn đính kèm các bài tập đã hoàn thành cho một học sinh trong lớp. Vị trí hợp lý để đính kèm thực thể này (Bài tập) sẽ là trên thực thể Ghi danh. Cho phép ghi danh, khóa chính của nó sẽ làm cho các truy vấn Chuyển nhượng đơn giản hơn.