Saya memiliki beberapa tabel di mana catatan dapat diidentifikasi secara unik dengan beberapa bidang bisnis yang luas. Di masa lalu, saya telah menggunakan bidang-bidang ini sebagai PK, dengan mempertimbangkan manfaat-manfaat ini:
- Kesederhanaan; tidak ada bidang asing dan hanya satu indeks
- Clustering memungkinkan penggabungan yang cepat dan filter berbasis jangkauan
Namun, saya pernah mendengar kasus yang dibuat untuk membuat IDENTITY INT
PK sintetis , dan alih-alih menegakkan kunci bisnis dengan UNIQUE
kendala terpisah . Keuntungannya adalah bahwa PK sempit menghasilkan indeks sekunder yang jauh lebih kecil.
Jika sebuah tabel tidak memiliki indeks selain PK, saya tidak melihat alasan untuk mendukung pendekatan kedua, meskipun dalam tabel besar mungkin lebih baik untuk mengasumsikan bahwa indeks mungkin diperlukan di masa depan, dan karena itu mendukung PK sintetis sempit . Apakah saya kehilangan pertimbangan?
Kebetulan, saya tidak berdebat menentang penggunaan kunci sintetis di gudang data, saya hanya tertarik kapan menggunakan PK luas dan kapan menggunakan PK sempit plus Inggris luas.