Terdapat beberapa perbezaan antara Kunci Utama dan Calon yang saya akan berbincang dengan bantuan carta perbandingan yang ditunjukkan di bawah.
Carta Perbandingan
Asas untuk Perbandingan | Kunci utama | Kunci Calon |
---|---|---|
Asas | Terdapat hanya satu kunci utama dalam sebarang hubungan. | Terdapat lebih daripada satu kunci calon dalam hubungannya. |
NULL | Tiada sifat kekunci Utama boleh mengandungi nilai NULL. | Atribut kekunci Calon boleh mempunyai nilai NULL. |
Tentukan | Ia adalah pilihan untuk menentukan kunci utama untuk sebarang hubungan. | Tidak boleh ada perhubungan tanpa kunci yang ditetapkan. |
Ciri | Kekunci utama menerangkan sifat yang paling penting untuk hubungan tersebut. | Kekunci calon hadir calon yang boleh memenuhi syarat untuk Kunci Utama. |
Naib Versa | Kunci utama adalah kunci calon. | Tetapi tidak wajib bahawa setiap kunci calon boleh menjadi kunci utama. |
Definisi Kunci Utama
Kunci Utama ialah atribut atau satu set atribut yang secara unik akan mengenal pasti setiap tuple dalam hubungannya. Terdapat hanya satu kunci utama untuk setiap hubungan. Ia mesti diambil perhatian bahawa kunci utama tidak boleh mengandungi nilai NULL, dan ia mesti mempunyai nilai unik untuk setiap tuple dalam hubungannya. Nilai-nilai atribut / s utama utama mestilah statik, iaitu, nilai atribut tidak boleh atau jarang berubah.
Salah satu Kekunci Calon mendapat kelayakan untuk menjadi kunci utama. Peraturan bahawa kunci calon harus memenuhi syarat untuk menjadi utama adalah bahawa nilai utama tidak boleh NULL dan ia mesti unik untuk semua tuple.
Sekiranya hubungan mengandungi atribut yang merupakan kunci utama sesetengah hubungan lain, maka atribut itu dipanggil kunci asing .
Adalah dinasihatkan untuk memikirkan kunci utama perhubungan sebelum memperkenalkan sifat-sifat lain dari hubungan sebagai kunci utama mengenal pasti setiap tuple secara unik. Adalah lebih baik untuk memilih atribut tunggal atau sebilangan kecil atribut sebagai kunci utama yang menjadikannya mudah digunakan.
Sekarang mari kita lihat contoh kunci Utama.
Pelajar {ID, First_name, Last_name, Umur, Alamat}
Di sini kita akan mula mencari kunci calon. Saya telah menemukan dua kunci calon {ID} dan {First_name, Last_name} kerana mereka akan mengenal pasti secara unik setiap pelajar dalam perhubungan Pelajar. Sekarang, di sini saya akan memilih ID sebagai kunci utama saya kerana kadang-kadang ia mungkin berlaku bahawa dua pelajar mungkin mempunyai nama pertama dan terakhir yang sama, jadi mudah untuk mengesan pelajar dengan ID- nya.
Definisi Kunci Calon
Kunci calon adalah atribut atau set sifat yang unik menentukan tuple dalam hubungannya. Terdapat lebih daripada satu kunci calon dalam hubungannya. Kekunci Calon ini adalah calon yang boleh menjadi kunci utama.
Walaupun setiap kunci calon layak menjadi kunci utama, hanya satu yang boleh dipilih sebagai kunci utama. Peraturan kunci kandidat memerlukan kunci utama adalah nilai atribut kunci tidak boleh NULL di mana-mana domain kunci, ia mestilah unik dan statik .
Sekiranya semua kunci calon layak untuk kunci utama, maka DBA yang berpengalaman mesti mengambil keputusan untuk memikirkan kunci utama. Tidak boleh ada perhubungan tanpa kunci utama.
Marilah kita memahami kunci kandidat dengan contoh. Sekiranya kami menambahkan beberapa lagi sifat kepada hubungan Pelajar, saya membincangkan di atas.
Pelajar {ID, First_name, Last_name, Umur, Alamat, DOB, Nama Jabatan}
Di sini saya dapat mencari dua kekunci calon iaitu {ID}, {First_name, Last_name, DOB} . Jadi anda boleh memahami kunci calon adalah salah satu yang unik mengenal pasti tuple dalam hubungannya.
Perbezaan Utama Antara Utama dan Calon Utama
- Titik asas yang membezakan kunci primer dari kunci calon adalah bahawa hanya terdapat satu primer untuk hubungan apapun dalam skema. Walau bagaimanapun, terdapat banyak kunci calon untuk satu hubungan.
- Atribut di bawah kekunci utama tidak boleh mengandungi nilai NULL sebagai fungsi utama kunci utama adalah secara unik mengenal pasti rekod berhubung. Malah kunci utama boleh digunakan sebagai kunci asing dalam hubungan lain, dan oleh itu ia tidak boleh NULL supaya hubungan rujukan dapat mencari tuple dalam hubungan yang dirujuk. Kekunci calon boleh NULL kecuali kekangan atribut dinyatakan tidak batal.
- Ia adalah pilihan untuk menentukan kunci utama, tetapi tidak boleh menjadi hubungan tanpa kekunci calon.
- Kekunci utama menerangkan sifat unik dan paling utama hubungan, sedangkan kekunci calon menyediakan calon-calon di mana seseorang boleh dipilih sebagai kunci utama.
- Setiap kunci utama adalah kunci calon, tetapi sebaliknya tidak benar.
Kesimpulan:
Ia adalah pilihan untuk perhubungan untuk menentukan kunci utama. Sebaliknya, jika anda mengisytiharkan hubungan, kunci calon mesti hadir dalam hubungan itu untuk membina hubungan yang baik.