Kunci utama (primary key) ialah medan yang nilainya berbeza dalam setiap rekod, jadi ia mengenal pasti tepat satu baris. Ia tidak boleh kosong dan tidak patut berubah dari semasa ke semasa.
Soalan meminta anda menamakan kunci yang sesuai daripada jadual, atau menerangkan mengapa sesuatu medan pilihan yang lemah. Pelajaran ini sebahagian daripada pangkalan data dan penaakulan pertanyaan.
Apa yang menjadikan kunci baik?
Gunakan tiga ujian pada setiap medan:
- Unik: bolehkah dua rekod mempunyai nilai yang sama?
- Sentiasa diisi: bolehkah nilainya tiada?
- Stabil: adakah ia perlu diubah kemudian?
Medan mesti lulus ketiga-tiganya. Kunci paling selamat biasanya kod buatan, seperti ID, yang dicipta supaya unik.
Contoh berlangkah
Sebuah kedai sewa basikal rekaan menyimpan jadual ini, bernama Bikes.
| BikeNo | Model | Colour | Size |
|---|---|---|---|
| B101 | Trail | Red | M |
| B102 | Trail | Blue | L |
| B103 | City | Red | M |
| B104 | City | Red | S |
Langkah 1, uji Model. Trail muncul dua kali, jadi tidak unik. Tolak.
Langkah 2, uji Colour. Red muncul tiga kali. Tolak.
Langkah 3, uji Size. M muncul dua kali. Tolak.
Langkah 4, uji BikeNo. B101, B102, B103, B104 semuanya berbeza, dan setiap basikal ada satu. Terima.
Jawapan akhir: BikeNo ialah kunci utama.
Perhatikan bahawa jawapan juga bergantung pada peraturan data. Jika kedai memiliki beribu-ribu basikal, Model dan Colour menjadi lebih tidak sesuai lagi.
Kesilapan yang perlu diawasi
Kesilapan lazim ialah memilih medan kerana ia unik dalam baris yang anda nampak.
Jawapan salah: “Size bukan kunci, tetapi Model boleh jadi kunci, kerana hanya ada dua model.”
Jawapan itu salah kerana Trail dan City kedua-duanya berulang.
Kesilapan berkaitan ialah memilih medan nama dalam jadual sekolah dengan 400 murid. Dua murid mungkin berkongsi nama, walaupun hari ini tiada pasangan sebegitu. Pembetulan: tanya sama ada pendua mungkin berlaku, bukan sama ada ia wujud sekarang.
Semak sendiri
1. Jadual perpustakaan rekaan mempunyai medan BookCode, Title, Author, Year. Yang manakah kunci paling sesuai?
Lihat jawapan
BookCode. Tajuk boleh berulang antara edisi, pengarang menulis banyak buku dan tahun berulang, tetapi kod dicipta untuk menjadi unik.
2. Dalam jadual Plants daripada pelajaran sebelum ini, terangkan mengapa Type tidak boleh menjadi kunci.
Lihat jawapan
Type berulang: Flowering muncul untuk Rose, Orchid dan Hibiscus, jadi ia tidak mengenal pasti satu rekod.
3. Mengapa medan yang boleh dibiarkan kosong tidak sesuai sebagai kunci?
Lihat jawapan
Nilai kosong tidak dapat mengenal pasti rekod, jadi sesetengah rekod tidak mempunyai cara untuk ditemui. Kunci mesti sentiasa ada nilai.
Ke mana selepas ini?
Setelah struktur jadual jelas, teruskan ke menulis penapis SELECT yang mudah. Set latihan modul mengulang kunci di hujungnya.
Jika anda mahu seseorang menyemak penaakulan anda pada soalan ini, lihat tuisyen Computer Science dalam talian satu dengan satu kami.