Kunci utama vs Kunci unik
Kolom atau sekumpulan kolom, yang dapat digunakan untuk mengidentifikasi atau mengakses baris atau sekumpulan baris dalam database disebut kunci. Kunci unik adalah kunci yang secara unik dapat mengidentifikasi baris 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 ini dianggap sebagai kasus khusus dari kunci unik.
Apa itu Kunci Unik?
Seperti yang disebutkan sebelumnya, kunci unik adalah satu kolom atau sekumpulan kolom yang secara unik dapat mengidentifikasi baris dalam tabel. Jadi, kunci unik dibatasi sehingga tidak ada dua nilai yang sama. Satu properti penting adalah bahwa kunci unik tidak memberlakukan batasan NOT NULL. Karena NULL mewakili kurangnya suatu nilai, jika dua baris memiliki NULL dalam sebuah kolom maka itu tidak berarti nilainya sama. Kolom yang didefinisikan sebagai kunci unik hanya mengizinkan satu nilai NULL di kolom itu. Kemudian itu dapat digunakan untuk mengidentifikasi baris tertentu secara unik. Misalnya, dalam tabel yang berisi informasi siswa, ID siswa dapat didefinisikan sebagai kunci unik. Karena tidak ada dua siswa yang dapat memiliki ID yang sama, ID ini secara unik mengidentifikasi satu siswa. Jadi kolom ID siswa memenuhi semua properti dari sebuah kunci unik. Bergantung pada desain database,sebuah tabel mungkin memiliki lebih dari satu kunci unik.
Apa itu Kunci Utama?
Kunci utama juga merupakan kolom atau kombinasi kolom yang secara unik mendefinisikan baris dalam tabel database relasional. Sebuah tabel dapat memiliki paling banyak satu kunci utama. Kunci utama memberlakukan batasan NOT NULL implisit. Jadi, kolom yang didefinisikan sebagai kunci utama tidak boleh memiliki nilai NULL di dalamnya. Kunci utama dapat berupa atribut normal dalam tabel yang dijamin unik seperti nomor jaminan sosial atau dapat berupa nilai unik yang dihasilkan oleh sistem manajemen database seperti Pengenal Unik Secara Global (GUID) di Microsoft SQL Server. Kunci utama ditentukan melalui batasan PRIMARY KEY di ANSI SQL Standard. Kunci utama juga dapat ditentukan saat membuat tabel. SQL memungkinkan kunci utama terdiri dari satu atau lebih kolom dan setiap kolom yang termasuk dalam kunci utama secara implisit didefinisikan sebagai NOT NULL. Tetapi beberapa sistem manajemen database mengharuskan pembuatan kolom kunci primer secara eksplisit TIDAK NULL.
Perbedaan Antara Kunci primer dan kunci Unik
Meskipun kunci utama dan kunci unik adalah satu atau beberapa kolom yang dapat mengidentifikasi baris secara unik dalam tabel, keduanya memiliki beberapa perbedaan penting. Yang terpenting, 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 lainnya adalah bahwa kunci primer memiliki batasan NOT NULL implisit sedangkan kunci unik tidak memiliki batasan itu. Oleh karena itu, kolom kunci unik mungkin atau mungkin tidak berisi nilai NULL tetapi kolom kunci utama tidak dapat berisi nilai NULL.