Dua belas soalan ini mencampurkan lima kemahiran dalam struktur pangkalan data dan pengesahan: memilih jenis medan, menetapkan kunci dan pengesahan, mengimport, mengesan kekeliruan nombor-teks dan menerangkan pendua. Semua data direka untuk halaman ini. Soalan bergerak dari lebih mudah kepada lebih sukar.
Cuba setiap satu di atas kertas dahulu, kemudian buka jawapan. Tulis penerangan dalam ayat penuh, kerana itulah cara peperiksaan memberi markah.
Soalan 1 hingga 4: jenis dan kunci
S1. Jadual item kantin sekolah mempunyai lajur ItemCode (seperti CN-012), Price (seperti 3.50), StockCount (seperti 48) dan Vegetarian (Yes atau No). Berikan jenis medan bagi setiap lajur.
Lihat jawapan
- ItemCode: teks, kerana ia mengandungi huruf dan tanda sempang dan tidak pernah dikira.
- Price: mata wang atau perpuluhan, kerana ia mempunyai dua tempat perpuluhan dan didarab atau ditambah.
- StockCount: integer, kerana ia bilangan bulat.
- Vegetarian: Boolean (ya/tidak), kerana hanya dua nilai muncul.
S2. Terangkan mengapa nombor keahlian seperti 007245 patut disimpan sebagai teks dan bukan nombor.
Lihat jawapan
Ia label, bukan kuantiti, kerana tiada sesiapa menambah atau memuratakan nombor keahlian. Dalam medan nombor, sifar pada permulaan akan dibuang, menjadi 7245, yang tidak lagi sepadan dengan nombor sebenar. Teks mengekalkan keenam-enam aksara.
S3. Jadual pinjaman perpustakaan mempunyai medan LoanID, BookTitle, BorrowerName dan DateBorrowed. Yang mana kunci utama paling sesuai, dan mengapa tiga yang lain tidak sesuai?
Lihat jawapan
LoanID. Ia unik bagi setiap pinjaman, sentiasa ada dan tidak berubah. BookTitle berulang apabila buku dipinjam lebih sekali, BorrowerName berulang apabila seorang meminjam dua kali, dan DateBorrowed berulang apabila dua pinjaman berlaku pada hari yang sama.
S4. Jadual baharu memerlukan ID tepat 6 aksara. Apakah jenis semakan ini? Nyatakan sama ada ST0045 dan ST045 diterima.
Lihat jawapan
Semakan panjang (length check). ST0045 mempunyai 6 aksara, jadi diterima. ST045 mempunyai 5 aksara, jadi ditolak.
Soalan 5 hingga 8: pengesahan dan nombor-teks
S5. Medan Mark mesti menerima markah bulat dari 0 hingga 100 termasuk. Tulis syarat pengesahan dan uji dengan 100, 101, 0 dan -1.
Lihat jawapan
Syarat: >=0 AND <=100.
- 100: 100 >= 0 benar dan 100 <= 100 benar, diterima.
- 101: 101 <= 100 palsu, ditolak.
- 0: 0 >= 0 benar dan 0 <= 100 benar, diterima.
- -1: -1 >= 0 palsu, ditolak.
Sempadan 0 dan 100 diterima kerana soalan menyebut termasuk.
S6. Seorang guru memasukkan 54 bagi pelajar yang markah sebenarnya 45. Medan Mark mempunyai peraturan daripada S5. Adakah pengesahan menangkap kesilapan ini? Terangkan.
Lihat jawapan
Tidak. 54 berada dalam julat 0 hingga 100, jadi ia lulus. Pengesahan hanya menguji sama ada nilai munasabah dan dibenarkan. Menangkap nilai yang bertukar tempat memerlukan verifikasi, seperti membandingkan entri dengan helaian markah asal.
S7. Lajur yang disimpan sebagai teks mengandungi 5, 12, 120 dan 9. Tulis susunan yang ditunjukkan apabila diisih menaik, dan susunan selepas ditukar kepada integer.
Lihat jawapan
Sebagai teks: banding aksara demi aksara. Aksara pertama ialah 5, 1, 1 dan 9, jadi 12 dan 120 datang dahulu (12 lebih pendek), kemudian 5, kemudian 9: 12, 120, 5, 9.
Sebagai integer: 5, 9, 12, 120.
S8. Medan poskod menunjukkan 8000 bagi nilai sumber 08000. Apa yang tidak kena, dan bagaimana membetulkannya?
Lihat jawapan
Medan itu disimpan sebagai nombor, yang membuang sifar pada permulaan. Tukar medan kepada teks dan import semula data daripada fail sumber, supaya 08000 dikekalkan sepenuhnya.
Soalan 9 hingga 12: import dan pendua
S9. Fail CSV mempunyai 1 baris pengepala dan 8 baris data. Selepas import, jadual menunjukkan 9 rekod dan rekod pertama mempunyai nama medan sebagai nilainya. Namakan punca yang mungkin dan pembetulannya.
Lihat jawapan
Pilihan baris pertama mengandungi nama medan tidak ditetapkan, jadi pengepala diimport sebagai rekod. Bilangan yang betul ialah 8. Padam rekod yang salah atau import semula dengan pilihan pengepala dihidupkan, kemudian semak jenis medan sekali lagi.
S10. Satu baris CSV berbunyi: P014,Lee, Anna,45.50 (nama itu dimaksudkan sebagai satu nilai, Lee, Anna). Jadual mempunyai 3 medan: ID, Name dan Fee. Apa berlaku semasa import, dan bagaimana sumber patut ditulis?
Lihat jawapan
Koma dalam nama dibaca sebagai pembatas, jadi baris itu terpecah kepada 4 nilai: P014, Lee, Anna dan 45.50. Ia tidak muat dalam 3 medan, dan Fee mungkin menerima nilai yang salah. Nama patut berada dalam pengkelayak teks: P014,“Lee, Anna”,45.50.
S11. Jadual 50 rekod mempunyai setiap fi ditetapkan 20.00. Ia mengandungi 3 rekod pendua. Nyatakan jumlah fi yang ditunjukkan, jumlah sebenar dan jumlah yang dilebihkan.
Lihat jawapan
Ditunjukkan: 50 × 20.00 = 1000.00. Rekod sebenar: 50 - 3 = 47, jadi jumlah sebenar ialah 47 × 20.00 = 940.00. Dilebihkan sebanyak 1000.00 - 940.00 = 60.00, yang juga sama dengan 3 × 20.00.
S12. Jadual mempunyai kunci utama MemberID. Seorang ahli muncul sebagai M021 dan sekali lagi sebagai M058 dengan semua medan lain serupa. Mengapa kunci tidak menghalangnya, dan apa yang patut dilakukan seterusnya?
Lihat jawapan
Kunci hanya menyekat nilai kunci yang serupa. M021 dan M058 berbeza, jadi kedua-duanya diterima. Oleh sebab semua medan lain sepadan, mereka hampir pasti seorang yang sama. Kekalkan rekod asal (M021, yang lebih awal), padam M058 dan semak bilangan rekod serta jumlah sekali lagi.
Jika anda tersilap
| Jenis kesilapan | Soalan | Kembali ke |
|---|---|---|
| Jenis medan salah, atau kekeliruan teks/nombor semasa penyediaan | S1, S2 | memilih jenis medan daripada nilai contoh |
| Pilihan kunci, peraturan pengesahan atau ralat sempadan | S3, S4, S5, S6 | menentukan kunci dan syarat pengesahan |
| Tetapan import, pengepala atau masalah koma | S9, S10 | mengimport set data rekaan yang kecil |
| Susunan isihan salah, sifar hilang, jumlah tidak berfungsi | S7, S8 | mengesan tafsiran nombor-teks yang salah |
| Kesan pendua dan had kunci | S11, S12 | menerangkan mengapa rekod pendua penting |
Catat setiap kesilapan dalam log kesilapan dan baris gilir uji semula supaya anda mengujinya semula kemudian. Makmal latihan SQL baca-sahaja dan penyemak tugasan praktikal dan bukti ICT memberi lebih banyak data rekaan untuk diteliti.
Guru dalam tuisyen ICT dalam talian secara satu dengan satu boleh menyemak penerangan bertulis anda bersama anda dan menyediakan jadual baharu bagi jenis kesilapan yang anda lakukan.