Kunci utama vs kunci unik
Kolom atau satu set kolom, yang dapat digunakan untuk mengidentifikasi atau mengakses baris atau satu set baris dalam database disebut kunci. Kunci unik adalah kunci yang secara unik dapat mengidentifikasi barisan dalam tabel dalam konteks database relasional. Kunci unik terdiri dari satu kolom atau satu set kolom. Kunci utama juga merupakan kombinasi kolom dalam tabel yang secara unik mengidentifikasi baris. Tetapi dianggap sebagai kasus khusus dari kunci unik.
Apa itu kunci unik?
Seperti disebutkan sebelumnya, kunci unik adalah kolom tunggal atau set kolom yang secara unik dapat mengidentifikasi baris dalam tabel. Jadi, kunci unik dibatasi sedemikian rupa sehingga tidak ada dua nilai yang sama. Salah satu properti penting adalah bahwa kunci unik tidak menegakkan kendala yang tidak nol. Karena nol mewakili kurangnya nilai, jika dua baris memiliki nol dalam kolom maka itu tidak berarti nilainya sama. Kolom didefinisikan sebagai kunci unik hanya memungkinkan nilai nol tunggal di kolom itu. Maka itu dapat digunakan untuk mengidentifikasi baris tertentu secara unik. Misalnya, dalam tabel yang berisi informasi siswa, ID siswa dapat didefinisikan sebagai kunci yang unik. Karena tidak ada dua siswa yang dapat memiliki ID yang sama, itu secara unik mengidentifikasi seorang siswa tunggal. Jadi kolom ID Siswa memenuhi semua properti dari kunci unik. Bergantung pada desain database, tabel mungkin memiliki lebih dari satu kunci unik.
Apa kunci utama?
Kunci utama juga merupakan kolom atau kombinasi kolom yang secara unik mendefinisikan baris dalam tabel database relasional. Tabel dapat memiliki paling banyak satu kunci utama. Kunci utama memberlakukan kendala nol yang tidak tersirat. Jadi, kolom yang didefinisikan sebagai kunci utama tidak dapat memiliki nilai nol di dalamnya. Kunci utama dapat menjadi atribut normal dalam tabel yang dijamin unik seperti nomor Jaminan Sosial atau bisa menjadi nilai unik yang dihasilkan oleh sistem manajemen basis data seperti pengidentifikasi (GUID) yang unik secara global di Microsoft SQL Server. Kunci primer didefinisikan melalui kendala kunci utama dalam standar ANSI SQL. Kunci utama juga dapat didefinisikan saat membuat tabel. SQL memungkinkan kunci utama dibuat dari satu atau lebih kolom dan setiap kolom yang termasuk dalam kunci primer secara implisit didefinisikan sebagai bukan nol. Tetapi beberapa sistem manajemen basis data membutuhkan membuat kolom kunci utama secara eksplisit bukan nol.
Perbedaan antara kunci utama dan kunci unik
Meskipun kedua kunci utama dan kunci unik adalah satu atau lebih kolom yang secara unik dapat mengidentifikasi baris dalam tabel, mereka memiliki beberapa perbedaan penting. Yang paling penting, tabel hanya dapat memiliki satu kunci utama sementara itu dapat memiliki lebih dari satu kunci unik. Kunci utama dapat dianggap sebagai kasus khusus dari kunci unik. Perbedaan lain adalah bahwa kunci primer memiliki kendala nol implisit sementara kunci unik tidak memiliki kendala itu. Oleh karena itu, kolom kunci yang unik mungkin atau mungkin tidak berisi nilai nol tetapi kolom kunci primer tidak dapat berisi nilai nol.