Rumah Database Apa perbedaan antara kunci komposit, kunci primer dan kunci asing?

Apa perbedaan antara kunci komposit, kunci primer dan kunci asing?

Anonim

Q:

Apa perbedaan antara kunci komposit, kunci primer dan kunci asing?

SEBUAH:

Kunci utama didefinisikan sebagai kolom kunci atau basis data yang secara unik mengidentifikasi setiap baris dalam tabel basis data. Kunci komposit adalah serangkaian lebih dari satu kunci yang, bersama-sama, secara unik mengidentifikasi setiap catatan.

Kunci asing, di sisi lain, adalah kunci di beberapa tabel yang secara unik mengidentifikasi baris di tabel lain - atau, dengan kata lain, kunci yang melacak ke kunci utama di tabel lain.

Contohnya adalah daftar rumah di pasar real estat. Dalam database yang tertata dengan baik, harus ada kunci utama yang secara unik mengidentifikasi setiap catatan. Bagaimana ini bekerja mungkin harus dilakukan dengan kecanggihan database.

Dalam beberapa kasus, rumah hanya dapat diidentifikasi secara unik dengan nomor hipotek - semua data lain (kota, jalan, nomor rumah) tidak unik untuk setiap catatan. Nomor hipotek akan menjadi kunci utama. Namun, anggaplah bahwa teknologi daftar makelar makelar MLS memberikan nomor uniknya sendiri ke catatan dalam tabel. Lalu, akan ada dua kunci yang dapat diidentifikasi pengembang sebagai "kunci kandidat": nomor hipotek, dan nomor MLS. Salah satunya akan memenuhi syarat sebagai "kunci utama" dalam apa yang beberapa orang anggap sebagai cara sewenang-wenang.

Maka, kunci komposit adalah kombinasi dari dua kunci: misalnya, kombinasi nomor rumah dan jalan mungkin memenuhi syarat sebagai kunci komposit, mengingat bahwa daftar pasar adalah lokal. Jika demikian, maka ketika seseorang mencari menggunakan nomor rumah dan jalan, mereka hanya akan mendapatkan satu catatan tunggal yang dikembalikan.

Sementara itu, jika ada kunci dalam tabel tertaut, misalnya, meja pembeli, yang merujuk kunci utama, itu akan menjadi kunci asing.

Apa perbedaan antara kunci komposit, kunci primer dan kunci asing?