Perbezaan utama antara kunci asing dan kunci utama ialah kunci asing ialah lajur atau set lajur yang merujuk kepada kunci primer atau kunci calon jadual lain manakala kunci utama ialah lajur atau set lajur yang boleh digunakan untuk mengenal pasti baris secara unik dalam jadual.
Lajur atau set lajur yang boleh digunakan untuk mengenal pasti atau mengakses baris atau set baris dalam pangkalan data dipanggil kunci. Kunci utama dalam pangkalan data hubungan ialah gabungan lajur dalam jadual yang mengenal pasti baris jadual secara unik. Kunci asing dalam pangkalan data hubungan ialah medan dalam jadual yang sepadan dengan kunci utama jadual lain. Kunci asing digunakan untuk jadual rujukan silang.
Apakah Kunci Asing?
Kunci asing ialah kekangan rujukan antara dua jadual. Ia mengenal pasti lajur atau set lajur dalam satu jadual, dipanggil jadual rujukan yang merujuk kepada set lajur dalam jadual lain, dipanggil jadual rujukan. Kunci asing atau lajur dalam jadual rujukan mestilah kunci utama atau kunci calon (kunci yang boleh digunakan sebagai kunci utama) dalam jadual yang dirujuk. Selain itu, kunci asing membenarkan memautkan data merentasi beberapa jadual. Oleh itu, kunci asing tidak boleh mengandungi nilai yang tidak muncul dalam jadual yang dirujuknya. Kemudian rujukan yang disediakan oleh kunci asing membantu memautkan maklumat dalam beberapa jadual dan ini akan menjadi penting dengan pangkalan data yang dinormalkan. Berbilang baris dalam jadual rujukan boleh merujuk kepada satu baris dalam jadual rujukan.
Rajah 01: Pemetaan Kunci Asing
Dalam standard ANSI SQL, kekangan FOREIGN KEY mentakrifkan kunci asing. Tambahan pula, adalah mungkin untuk menentukan kunci asing apabila mencipta jadual itu sendiri. Jadual boleh mempunyai berbilang kunci asing dan ia boleh merujuk jadual yang berbeza.
Apakah itu Kunci Utama?
Kunci utama ialah lajur atau gabungan lajur yang secara unik mentakrifkan baris dalam jadual pangkalan data hubungan. Jadual boleh mempunyai paling banyak satu kunci utama. Kunci utama menguatkuasakan kekangan NOT NULL tersirat. Oleh itu, lajur dengan kunci utama tidak boleh mempunyai nilai NULL di dalamnya. Kunci utama boleh menjadi atribut biasa dalam jadual yang dijamin unik seperti nombor keselamatan sosial, atau ia boleh menjadi nilai unik yang dijana oleh sistem pengurusan pangkalan data seperti Pengecam Unik Global (GUID) dalam Microsoft SQL Server.
Rajah 02: Kunci Utama
Selain itu, kekangan PRIMARY KEY dalam ANSI SQL Standard mentakrifkan kunci utama. Ia juga mungkin untuk menentukan kunci utama semasa membuat jadual. Di samping itu, SQL membenarkan kunci utama terdiri daripada satu atau lebih lajur, dan setiap lajur yang disertakan dalam kunci utama secara tersirat ditakrifkan sebagai BUKAN NULL. Tetapi sesetengah sistem pengurusan pangkalan data memerlukan membuat lajur kunci utama secara eksplisit BUKAN NULL.
Apakah Perbezaan Antara Kunci Asing dan Kunci Utama?
Kunci asing lwn kunci Utama |
|
Kunci asing ialah lajur atau kumpulan lajur dalam jadual pangkalan data hubungan yang menyediakan perkaitan antara data dalam dua jadual. | Kunci utama ialah lajur jadual pangkalan data hubungan khas atau gabungan berbilang lajur yang membolehkan untuk mengenal pasti semua rekod jadual secara unik. |
NULL | |
Kunci asing menerima nilai NULL. | Nilai kunci utama tidak boleh NULL. |
Bilangan Kunci | |
Jadual boleh mempunyai berbilang kunci asing. | Jadual hanya boleh mempunyai satu kunci utama. |
Duplikasi | |
Tuples boleh mempunyai nilai pendua untuk atribut kunci asing. | Dua tupel dalam hubungan tidak boleh mempunyai nilai pendua untuk atribut kunci utama. |
Ringkasan – Kunci asing lwn kunci Utama
Perbezaan antara kunci asing dan kunci utama ialah kunci asing ialah lajur atau set lajur yang merujuk kepada kunci primer atau kunci calon jadual lain manakala kunci utama ialah lajur atau set lajur yang boleh digunakan untuk mengenal pasti baris secara unik dalam jadual.