Terus ke kandungan
IGCSE·Tuition
ICT · Bantuan untuk kesukaran biasa

Pangkalan data saya import nombor sebagai teks

Data nampak betul di skrin, tetapi susunan isihan pelik dan pertanyaan anda terlepas rekod yang anda nampak.

Dalam halaman ini
  1. Apa yang sebenarnya berlaku?
  2. Contoh berlangkah
  3. Kesilapan yang perlu diawasi
  4. Nilai berupa nombor yang mana patut kekal teks?
  5. Semak kendiri
  6. Ke mana selepas ini

Apabila pangkalan data membaca medan nombor sebagai teks, ia mengisih aksara demi aksara, jadi 100 jatuh sebelum 9, dan sebarang ujian seperti “kurang daripada 20” memberi hasil yang salah. Pembetulannya ialah membersihkan nilai dan menetapkan jenis medan yang betul semasa langkah import, kemudian menyemak sampel dengan sumber.

Halaman ini menyokong struktur pangkalan data dan pengesahan serta pelajaran tentang mengesan tafsiran nombor-teks yang salah. Langkahnya tidak bergantung pada perisian tertentu, kerana nama menu berubah antara produk dan versi.

Apa yang sebenarnya berlaku?

Setiap medan pangkalan data mempunyai jenis data. Medan teks menyimpan aksara dan membandingkannya dari kiri ke kanan. Medan nombor menyimpan nilai dan membandingkannya mengikut saiz. Semasa import, perisian meneka jenis daripada nilai yang dilihatnya, atau menggunakan jenis yang anda pilih.

Tiga punca lazim:

  1. Aksara terlepas dalam satu baris, seperti “RM 2.00”, ruang di hujung atau koma dalam “1,200”. Satu nilai buruk boleh menjadikan seluruh lajur teks.
  2. Lalai teks diterima pada skrin import. Perisian menawarkan teks untuk setiap lajur dan anda terus klik.
  3. Nilai yang sepatutnya teks dianggap nombor, iaitu masalah yang terbalik: nombor telefon hilang sifar di hadapan.

Contoh berlangkah

Sebuah fail kantin rekaan mempunyai empat baris.

ItemIDItemPriceStock
C01Nasi lemak3.5012
C02Teh aisRM 2.009
C03Roti canai1.50100
C04Kuih0.8040

Pelajar mengimport fail itu dan membiarkan semua lajur sebagai teks. Kemudian mereka mengisih Stock menaik dan mendapat 100, 12, 40, 9. Isihan teks membandingkan aksara pertama dahulu: “100” dan “12” kedua-duanya bermula dengan 1, dan “0” lebih rendah daripada “2”, jadi 100 datang sebelum 12. Kemudian 40 dan 9 menyusul kerana 4 lebih rendah daripada 9.

Pertanyaan Stock < 20 memulangkan 100 dan 12 sebagai teks. Ia terlepas 9, kerana “9” lebih tinggi daripada “2”. Jawapan nombor yang betul ialah 12 dan 9.

Pembetulan, langkah demi langkah:

  1. Simpan fail asal dan bekerja pada salinan.
  2. Bersihkan sumber: tukar “RM 2.00” kepada 2.00. Paparkan RM melalui format mata wang dalam pangkalan data, bukan di dalam nilai.
  3. Tetapkan jenis semasa import: ItemID teks, Item teks, Price nombor (perpuluhan), Stock nombor (bulat).
  4. Semak: isih Stock ke dua-dua arah. Anda kini patut nampak 9, 12, 40, 100 secara menaik.
  5. Jalankan semula pertanyaan: Stock < 20 patut memulangkan 12 dan 9 sahaja.

Anda boleh mencuba idea isihan dan penapisan dengan data rekaan dalam makmal latihan SQL baca sahaja.

Kesilapan yang perlu diawasi

Seorang pelajar menukar medan Price kepada nombor selepas import dan melihat nilai RM 2.00 menjadi kosong. Mereka menyangka perisian rosak. Sebenarnya nilai itu tidak dapat dibaca sebagai nombor, jadi ia digugurkan atau ditandakan. Pembetulannya ialah membersihkan nilai dahulu, kemudian menukar, dan sentiasa membandingkan rekod dengan fail asal.

Nilai berupa nombor yang mana patut kekal teks?

NilaiJenisSebab
Nombor telefon yang bermula dengan 0TeksSifar di hadapan penting; tidak pernah dikira
Poskod 08000TeksSifar di hadapan penting
ID pelajar S0042TeksMengandungi huruf dan corak kod
Kuantiti stokNomborDiisih dan dibandingkan mengikut saiz
HargaNomborDitambah, dipuratakan, dibandingkan

Ujiannya mudah: adakah saya akan menambah, memuratakan atau membandingkannya mengikut saiz? Jika ya, gunakan jenis nombor.

Semak kendiri

1. Nilai Stock 5, 40 dan 7 diisih menaik sebagai teks. Apakah susunannya?

Lihat jawapan

Teks membandingkan aksara pertama: 4 lebih rendah daripada 5, dan 5 lebih rendah daripada 7. Maka susunannya ialah 40, 5, 7.

2. Satu lajur umur diimport sebagai teks kerana satu sel mengandungi “16 yrs”. Apakah dua pembetulan yang munasabah?

Lihat jawapan

Bersihkan sel sumber kepada 16 dan tetapkan jenis medan kepada nombor sebelum import, atau betulkan sel dalam pangkalan data dan kemudian tukar jenis. Dalam kedua-dua kes, semak sampel dengan fail asal.

3. Mengapa nombor telefon lebih baik disimpan sebagai teks?

Lihat jawapan

Ia pengecam, bukan kuantiti. Jenis nombor boleh membuang sifar di hadapan, dan anda tidak pernah menambah atau memuratakan nombor telefon.

Ke mana selepas ini

Latih memilih jenis daripada nilai sampel dengan memilih jenis medan, kemudian mengimport set data rekaan yang kecil. Apabila anda perlu menunjukkan hasil sebagai bukti, penyemak tugas dan bukti praktikal ICT memberi senarai semak yang tidak bergantung pada perisian, dan pelajaran tentang menangkap bukti yang menunjukkan tetapan berkaitan merangkumi bahagian tangkapan skrin.

Masalah import mudah dibetulkan apabila anda tahu di mana hendak melihat, dan lebih sukar apabila tetapan yang salah berada pada skrin yang anda klik begitu sahaja. Tuisyen ICT dalam talian satu-lawan-satu membolehkan guru melihat langkah itu bersama anda.

Soalan lazim

Mengapa pangkalan data saya menganggap nombor sebagai teks?

Biasanya kerana satu nilai dalam lajur mengandungi sesuatu yang bukan digit, seperti label mata wang, ruang atau koma, atau kerana langkah import dibiarkan pada lalai teks. Perisian kemudian memilih jenis yang sesuai untuk semua nilai, dan teks sentiasa sesuai. Bersihkan sumber atau tetapkan jenis medan sebelum mengimport.

Patutkah nombor telefon dan kod ID dijadikan nombor?

Tidak. Nombor telefon, poskod dan kod seperti 0123 perlu mengekalkan sifar di hadapan dan tidak pernah ditambah atau dipuratakan, jadi teks ialah jenis yang betul. Gunakan jenis nombor hanya untuk nilai yang anda kira, banding mengikut saiz atau isih mengikut saiz.

Bolehkah saya tukar jenis medan selepas import?

Kadang-kadang boleh, tetapi nilai yang tidak dapat ditukar mungkin hilang atau ditandakan sebagai ralat, bergantung pada perisian. Simpan salinan fail asal dahulu, bersihkan nilai yang mempunyai aksara tambahan, kemudian tukar jenis dan semak sampel rekod dengan sumber.

Bagaimana saya tahu jenis itu salah tanpa menjalankan pertanyaan?

Isih lajur ke dua-dua arah dan baca baris teratas dan terbawah. Jika 100 datang sebelum 9, medan itu diisih sebagai teks. Lihat juga penjajaran nilai: banyak program menjajar teks ke kiri dan nombor ke kanan, walaupun ini bergantung pada perisian.

Sumber rujukan

  1. Laman sukatan Cambridge IGCSE ICT 0417

Dikemas kini:

Langkah seterusnya

Jika data yang diimport terus bertingkah pelik dan anda tidak pasti medan mana yang bermasalah, kelas percubaan berbayar selama satu jam membolehkan guru melihat import anda di skrin dan menunjukkan tetapan yang tepat.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80. Yuran lain, jadual dan susunan seterusnya disahkan terus bersama guru selepas kelas percubaan.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa atau penjaga? Tanya di sini

9,000+ pelajar telah dibantu melalui perkhidmatan kami