Kunci pengganti (biasanya bilangan bulat) memiliki nilai tambah untuk membuat hubungan tabel Anda lebih cepat, dan lebih ekonomis dalam penyimpanan dan kecepatan pembaruan (bahkan lebih baik, kunci asing tidak perlu diperbarui saat menggunakan kunci pengganti, berbeda dengan bidang kunci bisnis, yang berubah sekarang dan kemudian).
Kunci utama tabel harus digunakan untuk mengidentifikasi baris yang unik, terutama untuk tujuan bergabung. Pikirkan tabel Orang: nama dapat berubah, dan tidak dijamin unik.
Pikirkan Perusahaan: Anda adalah perusahaan Merkin yang bahagia berbisnis dengan perusahaan lain di Merkia. Anda cukup pintar untuk tidak menggunakan nama perusahaan sebagai kunci utama, jadi Anda menggunakan ID perusahaan unik milik pemerintah Merkia secara keseluruhan dari 10 karakter alfanumerik. Kemudian Merkia mengubah ID perusahaan karena mereka pikir itu akan menjadi ide yang bagus. Tidak apa-apa, Anda menggunakan fitur pembaruan mesin db bertingkat Anda, untuk perubahan yang seharusnya tidak melibatkan Anda sejak awal. Di kemudian hari, bisnis Anda berkembang, dan sekarang Anda bekerja dengan perusahaan di Freedonia. Id perusahaan Freedonian hingga 16 karakter. Anda perlu memperbesar ID utama perusahaan (juga bidang kunci asing di Pesanan, Masalah, MoneyTransfers, dll), menambahkan bidang Negara di kunci utama (juga dalam kunci asing). Aduh! Perang saudara di Freedonia, itu ' terpecah di tiga negara. Nama negara rekan Anda harus diubah menjadi yang baru; mengalirkan pembaruan ke penyelamatan. BTW, apa kunci utama Anda? (Negara, CompanyID) atau (CompanyID, Negara)? Yang terakhir membantu bergabung, yang pertama menghindari indeks lain (atau mungkin banyak, jika Anda ingin Pesanan Anda dikelompokkan berdasarkan negara juga).
Semua ini bukan bukti, tetapi indikasi bahwa kunci pengganti untuk secara unik mengidentifikasi baris untuk semua penggunaan, termasuk operasi gabungan, lebih disukai daripada kunci bisnis.