Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apa perbedaan antara kunci utama dan kunci pengganti?

Kunci utama adalah kunci unik di tabel Anda yang Anda pilih yang paling unik mengidentifikasi catatan dalam tabel. Semua tabel harus memiliki kunci utama, karena jika Anda perlu memperbarui atau menghapus catatan, Anda perlu mengetahui cara mengidentifikasinya secara unik.

Kunci pengganti adalah kunci yang dibuat secara artifisial. Mereka berguna ketika catatan Anda pada dasarnya tidak memiliki kunci alami (seperti Person tabel, karena mungkin saja dua orang yang lahir pada tanggal yang sama memiliki nama yang sama, atau mencatat dalam log, karena dua peristiwa mungkin terjadi sehingga mereka membawa stempel waktu yang sama). Paling sering Anda akan melihat ini diimplementasikan sebagai bilangan bulat di bidang yang bertambah secara otomatis, atau sebagai GUID yang dihasilkan secara otomatis untuk setiap catatan. Nomor ID hampir selalu merupakan kunci pengganti.

Tidak seperti kunci utama, tidak semua tabel membutuhkan kunci pengganti. Jika Anda memiliki tabel yang mencantumkan negara bagian di Amerika, Anda tidak benar-benar membutuhkan nomor ID untuk mereka. Anda dapat menggunakan singkatan status sebagai kode kunci utama.

Keuntungan utama dari kunci pengganti adalah bahwa mereka mudah dijamin sebagai unik. Kerugian utama adalah bahwa mereka tidak memiliki arti apa pun. Tidak ada arti bahwa "28" adalah Wisconsin, misalnya, tetapi ketika Anda melihat 'WI' di kolom Negara Bagian dari tabel Alamat Anda, Anda tahu keadaan apa yang Anda bicarakan tanpa perlu mencari negara bagian mana di Negara Bagian Anda tabel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengubah Nama Database di SQL Server menggunakan T-SQL

  2. Perlu kolom datetime di SQL Server yang diperbarui secara otomatis saat catatan diubah

  3. Sintaks GRANT untuk domain\pengguna

  4. MS SQL ON DELETE CASCADE beberapa kunci asing menunjuk ke tabel yang sama?

  5. SQL Server 2008 - Bantuan menulis Pemicu INSERT sederhana