Kunci utama vs kekunci Unik
Lajur atau set lajur, yang boleh digunakan untuk mengenal pasti atau mengakses baris atau satu set baris dalam pangkalan data dipanggil kunci. Kunci yang unik adalah kunci yang secara unik dapat mengenal pasti baris dalam jadual dalam konteks pangkalan data hubungan. Kekunci unik terdiri daripada satu lajur atau satu set lajur. Kekunci utama juga merupakan gabungan lajur dalam jadual yang mengenal pasti satu baris secara unik. Tetapi ia dianggap sebagai kes khas kekunci yang unik.
Apakah Kunci Unik?
Seperti yang disebutkan sebelumnya, kekunci unik adalah lajur tunggal atau set lajur yang secara unik dapat mengenal pasti baris di dalam jadual. Oleh itu, kekunci unik dikekang supaya tidak ada dua nilai yang sama. Satu perkara penting ialah kekunci unik tidak menguatkuasakan kekangan TIDAK NULL. Oleh kerana NULL mewakili kekurangan nilai, jika dua baris mempunyai NULL dalam lajur maka itu tidak bermakna nilai-nilai adalah sama. Lajur yang ditakrifkan sebagai kunci unik hanya membenarkan nilai NULL tunggal dalam lajur tersebut. Kemudian itu boleh digunakan untuk mengenal pasti baris tertentu secara unik. Sebagai contoh, dalam jadual yang mengandungi maklumat pelajar, ID pelajar boleh ditakrifkan sebagai kunci yang unik. Oleh kerana tiada dua pelajar boleh memiliki ID yang sama ia unik mengenal pasti pelajar tunggal. Oleh itu, ruang ID pelajar memenuhi semua sifat kunci yang unik. Bergantung pada reka bentuk pangkalan data, jadual mungkin mempunyai lebih daripada satu kunci unik.
Apakah Kunci Utama?
Kekunci utama juga merupakan lajur atau kombinasi lajur yang secara unik mentakrifkan satu baris dalam jadual pangkalan data hubungan. Jadual boleh mempunyai paling satu kunci utama. Kekunci utama menguatkuasakan kekangan TIDAK NULL yang tersirat. Jadi, lajur yang ditakrif sebagai kunci utama tidak boleh mempunyai nilai NULL di dalamnya. Kekunci utama boleh menjadi atribut biasa dalam jadual yang dijamin unik seperti nombor keselamatan sosial atau ia boleh menjadi nilai unik yang dihasilkan oleh sistem pengurusan pangkalan data seperti Pengenal Nyata Secara Seluruh Dunia (GUID) dalam Microsoft SQL Server. Kunci utama ditakrifkan melalui kekangan PRIMARY KEY dalam Standard ANSI SQL. Kekunci utama juga boleh ditakrifkan semasa membuat jadual. SQL membolehkan kunci utama terdiri daripada satu atau lebih tiang dan setiap lajur yang dimasukkan ke dalam kunci utama secara tersirat ditakrifkan sebagai TIDAK NULL. Tetapi beberapa sistem pengurusan pangkalan data memerlukan membuat lajur utama utama dengan jelas TIDAK NULL.
Perbezaan antara kunci utama dan kekunci Unik
Walaupun kedua-dua kekunci utama dan kekunci unik adalah satu atau lebih tiang yang secara unik dapat mengenal pasti baris di dalam jadual, mereka mempunyai beberapa perbezaan penting. Paling penting, jadual hanya mempunyai satu kunci utama sementara ia boleh mempunyai lebih daripada satu kunci unik. Kunci utama boleh dianggap sebagai kes khas kekunci yang unik. Perbezaan lain ialah kekunci utama mempunyai kekangan TIDAK NULL implisit manakala kekunci unik tidak mempunyai kekangan itu. Oleh itu, lajur kunci unik mungkin atau mungkin tidak mengandungi nilai NULL tetapi lajur utama utama tidak boleh mengandungi nilai NULL.