Kunci utama vs kunci unik
Lajur atau satu set lajur, yang boleh digunakan untuk mengenal pasti atau mengakses baris atau satu set baris dalam pangkalan data dipanggil kunci. Kunci unik adalah kunci yang dapat mengenal pasti baris secara unik dalam jadual dalam konteks pangkalan data relasi. Kunci unik terdiri daripada satu lajur atau satu set lajur. Kunci utama juga merupakan gabungan lajur dalam jadual yang secara unik mengenal pasti baris. Tetapi ia dianggap sebagai kes khas yang unik.
Apa itu kunci yang unik?
Seperti yang dinyatakan sebelum ini, kunci unik adalah satu lajur atau set lajur yang boleh mengenal pasti baris secara unik dalam jadual. Oleh itu, kunci yang unik dikekang sedemikian rupa sehingga tidak ada dua nilai yang sama. Salah satu harta penting ialah kunci unik tidak menguatkuasakan kekangan yang tidak null. Oleh kerana null mewakili kekurangan nilai, jika dua baris mempunyai batal dalam lajur maka itu tidak bermaksud nilai adalah sama. Lajur yang ditakrifkan sebagai kunci unik hanya membolehkan satu nilai null dalam lajur tersebut. Maka itu dapat digunakan untuk mengenal pasti baris tertentu secara unik. Sebagai contoh, dalam jadual yang mengandungi maklumat pelajar, ID pelajar boleh ditakrifkan sebagai kunci unik. Oleh kerana tidak ada dua pelajar yang mempunyai ID yang sama, ia secara unik mengenal pasti pelajar tunggal. Oleh itu, lajur 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?
Kunci utama juga merupakan lajur atau gabungan lajur yang secara unik mentakrifkan baris dalam jadual pangkalan data relasi. Jadual boleh mempunyai paling banyak satu kunci utama. Kunci utama menguatkuasakan kekangan yang tidak tersirat. Oleh itu, lajur yang ditakrifkan sebagai kunci utama tidak boleh mempunyai nilai nol di dalamnya. Kunci 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 unik global (GUID) di Microsoft SQL Server. Kekunci utama ditakrifkan melalui kekangan utama utama dalam standard SQL ANSI. Kunci utama juga boleh ditakrifkan semasa membuat jadual. SQL membolehkan kunci utama terdiri daripada satu atau lebih lajur dan setiap lajur yang dimasukkan ke dalam kunci utama ditakrifkan secara tersirat. Tetapi beberapa sistem pengurusan pangkalan data memerlukan membuat lajur utama utama secara eksplisit tidak batal.
Perbezaan antara kunci utama dan kunci unik
Walaupun kedua -dua kunci utama dan kunci unik adalah satu atau lebih lajur yang boleh mengenal pasti secara unik baris dalam jadual, mereka mempunyai beberapa perbezaan penting. Paling penting, jadual hanya boleh mempunyai satu kunci utama sementara ia boleh mempunyai lebih daripada satu kunci unik. Kunci utama boleh dianggap sebagai kes khas kunci unik. Perbezaan lain adalah bahawa kunci utama mempunyai kekangan yang tidak tersirat tidak ada kekangan sementara kunci unik tidak mempunyai kekangan itu. Oleh itu, lajur kunci unik mungkin atau mungkin tidak mengandungi nilai nol tetapi lajur utama utama tidak dapat mengandungi nilai null.