Perbezaan Antara kekunci Asing dan kekunci utama
Kekunci asing vs kekunci utama
Lajur atau set lajur, yang boleh digunakan untuk mengenal pasti atau mengakses baris atau satu set baris dalam pangkalan data dipanggil kunci. Kunci primer dalam pangkalan data relasi adalah kombinasi lajur dalam jadual yang secara unik mengenal pasti barisan jadual. Kunci asing dalam pangkalan data relasi adalah medan dalam jadual yang sepadan dengan kunci primer jadual lain. Kekunci asing digunakan untuk menyebarkan jadual rujukan.
Apakah kunci utama?
Kunci utama adalah lajur atau gabungan lajur yang secara unik mentakrifkan satu baris dalam jadual pangkalan data hubungan. Jadual boleh mempunyai paling satu kunci utama. Kekunci utama menguatkuasakan kekangan TIDAK NULL yang tersirat. Jadi lajur yang ditakrifkan sebagai kunci utama tidak boleh mempunyai nilai NULL di dalamnya. Kekunci 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 Pengenal Nyata Secara Seluruh Dunia (GUID) dalam Microsoft SQL Server. Kunci utama ditakrifkan melalui kekangan PRIMARI KEY dalam Standard ANSI SQL. Kekunci utama juga boleh ditakrifkan semasa membuat jadual. SQL membolehkan kunci utama terdiri daripada satu atau lebih tiang dan setiap lajur yang dimasukkan ke dalam kunci utama secara tersirat ditakrifkan sebagai TIDAK NULL. Tetapi beberapa sistem pengurusan pangkalan data memerlukan membuat lajur utama utama dengan jelas TIDAK NULL.
Apakah Kunci Asing?
Kekunci asing adalah kekangan rujukan antara dua jadual. Ia mengenal pasti lajur atau set lajur dalam satu jadual, dipanggil jadual rujukan yang merujuk kepada satu set lajur dalam jadual lain, yang dipanggil jadual yang dirujuk. Kunci asing atau lajur dalam jadual rujukan mestilah kunci utama atau kunci calon (kunci yang boleh digunakan sebagai kunci utama) dalam jadual yang dirujuk. Kekunci asing digunakan untuk menghubungkan data di beberapa jadual. Oleh itu, kunci asing tidak boleh mengandungi nilai yang tidak terdapat dalam jadual yang dirujuknya. Kemudian rujukan yang disediakan oleh kunci asing boleh digunakan untuk menghubungkan maklumat dalam beberapa jadual dan ini akan menjadi penting dengan pangkalan data yang dinormalisasi. Baris berbilang dalam jadual rujukan boleh merujuk kepada satu baris dalam jadual yang dirujuk. Dalam piawai ANSI SQL, kunci asing ditakrifkan menggunakan kekangan UTAMA FOREIGN. Selanjutnya, kunci asing boleh ditakrifkan semasa membuat jadual itu sendiri. Jadual boleh mempunyai pelbagai kunci asing dan mereka boleh merujuk jadual yang berlainan.
Apakah perbezaan antara kunci Asing dan kunci Utama?
Kesilapan utama antara kekunci utama dan kekunci asing ialah kekunci utama adalah lajur atau set lajur yang boleh digunakan untuk secara unik mengenal pasti baris dalam jadual sementara kunci asing adalah lajur atau set lajur yang merujuk kepada kunci utama atau kunci calon jadual lain.Kunci asing terutama menyediakan kaedah untuk menghubungkan maklumat dalam beberapa jadual. Perbezaan lain ialah meja boleh mempunyai satu kunci utama, tetapi ia boleh mempunyai pelbagai kunci asing yang boleh merujuk jadual yang berlainan.