Tại sao ràng buộc Khóa chính tạo Chỉ mục cụm trên cột PK theo mặc định?
Đó là những gì các lập trình viên MS-SQL-Server quyết định mặc định là. Một chỉ mục được phân cụm tốt là một chỉ số có các giá trị duy nhất (như Khóa chính), hẹp (vì hầu hết các khóa chính là hoặc ít nhất là phải như vậy) và không ngừng tăng lên. Vì vậy, hầu hết các lần, khóa chính là một lựa chọn tốt (hoặc tốt nhất) cho khóa được phân cụm (có thể có nhiều nhất một khóa được phân cụm cho mỗi bảng).
Chúng ta có thể tạo một bảng có khóa chính, nhưng KHÔNG có chỉ mục cụm?
Vâng, bạn có thể. Bằng cách xác định rõ ràng tất cả các chỉ số và đặc biệt là khóa chính là không phân cụm. Nếu bạn nghĩ rằng bạn không cần khóa cụm trên bảng, bạn có thể làm điều đó và có khóa chính là không phân cụm. Các ràng buộc duy nhất và không null sẽ vẫn được thực thi.