Tôi có một số bảng trong đó các bản ghi có thể được xác định duy nhất với một số lĩnh vực kinh doanh rộng. Trước đây, tôi đã sử dụng các lĩnh vực này như một PK, với những lợi ích sau:
- Sự đơn giản; không có trường ngoài và chỉ có một chỉ mục
- Phân cụm cho phép kết hợp nhanh và các bộ lọc dựa trên phạm vi
Tuy nhiên, tôi đã nghe một trường hợp được thực hiện để tạo IDENTITY INT
PK tổng hợp và thay vào đó thực thi khóa doanh nghiệp với một UNIQUE
ràng buộc riêng . Ưu điểm là PK hẹp tạo ra các chỉ số phụ nhỏ hơn nhiều.
Nếu một bảng có không chỉ số khác hơn là PK, tôi không thấy lý do nào để ủng hộ cách tiếp cận thứ hai, mặc dù trong một bảng lớn nó có thể là tốt nhất khi cho rằng chỉ số có thể cần thiết trong tương lai, và do đó ủng hộ các tổng hợp PK hẹp . Tôi có thiếu bất kỳ cân nhắc nào không?
Ngẫu nhiên, tôi không tranh cãi về việc sử dụng các khóa tổng hợp trong kho dữ liệu, tôi chỉ quan tâm đến việc khi nào nên sử dụng một PK rộng duy nhất và khi nào nên sử dụng một PK hẹp cộng với một Vương quốc Anh rộng lớn.