Rumah Pangkalan data Apakah perbezaan antara kunci komposit, kunci utama dan kunci asing?

Apakah perbezaan antara kunci komposit, kunci utama dan kunci asing?

Anonim

Q:

Apakah perbezaan antara kunci komposit, kunci utama dan kunci asing?

A:

Kunci utama ditakrifkan sebagai lajur kunci atau pangkalan data yang secara unik mengenal pasti setiap baris dalam jadual pangkalan data. Kunci komposit adalah satu set lebih daripada satu kunci yang, secara bersama, mengenal pasti setiap rekod secara unik.

Kunci asing, sebaliknya, adalah kunci dalam beberapa jadual yang secara unik mengenal pasti baris dalam jadual lain - atau, dengan kata lain, kunci yang menjejaki kunci utama dalam jadual lain.

Contohnya adalah senarai rumah di pasaran hartanah. Dalam pangkalan data yang baik, harus ada kunci utama yang mengenal pasti setiap rekod secara unik. Bagaimana kerja ini mungkin ada kaitan dengan kecanggihan pangkalan data.

Dalam beberapa kes, rumah hanya boleh dikenal pasti secara unik dengan nombor gadai janji - semua data lain (bandar, jalan, nombor rumah) tidak unik untuk setiap rekod. Nombor gadai janji akan menjadi kunci utama. Katakanlah, bagaimanapun, bahawa sebuah teknologi penyenaraian MLS yang menjual nombor uniknya sendiri kepada rekod dalam jadual. Kemudian, akan ada dua kunci yang boleh dikenalpasti sebagai "kunci calon": nombor gadai janji, dan nombor MLS. Salah seorang daripada mereka akan layak sebagai "kunci utama" dalam apa yang akan dipertimbangkan oleh sesetengah orang.

Kunci komposit, kemudian, akan menjadi gabungan dua kunci: contohnya, gabungan nombor rumah dan jalan mungkin layak sebagai kunci komposit, memandangkan penyenaraian pasaran tempatan. Jika ya, maka apabila seseorang mencari menggunakan nombor rumah dan jalan, mereka hanya perlu mendapatkan satu rekod tunggal.

Sementara itu, jika ada kunci dalam jadual yang dipautkan, sebagai contoh, jadual pembeli, yang merujuk utama kunci, yang akan menjadi kunci asing.

Apakah perbezaan antara kunci komposit, kunci utama dan kunci asing?