Lembaran kerja Pangkalan data & SQL dengan jawapan

Lembaran kerja Pangkalan data & SQL percuma untuk dicetak: 8 soalan dari mudah hingga tahap peperiksaan, dengan skema jawapan. Cetak atau simpan sebagai PDF.

Untuk pensyarah dan guru: percuma untuk dicetak, disalin dan digunakan di dalam kelas. Setiap lembaran kerja baharu mempunyai nilai baharu dan skema jawapannya sendiri. Pautan ke ExamProblems di halaman kursus anda amat dihargai.

Nama: ____________________   Tarikh: ____________

1.Mudah

Fungsi agregat manakah yang mengira baris?

  1. AMAX
  2. BAVG
  3. CSUM
  4. DCOUNT
2.Mudah

Apakah kunci gubahan (composite key)?

  1. AKunci yang disimpan dalam jadual berasingan
  2. BKunci yang dijana oleh pangkalan data
  3. CKunci yang membenarkan nilai pendua
  4. DKunci yang terdiri daripada dua atau lebih lajur
3.Mudah

Penyataan manakah yang membuang baris daripada jadual?

  1. AREMOVE
  2. BDELETE
  3. CDROP
  4. DTRUNCATE COLUMN
4.Sederhana

Pertanyaan manakah yang menyenaraikan pelanggan yang tidak pernah membuat pesanan?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.Sederhana

Apakah bacaan kotor (dirty read)?

  1. AMembaca data yang ditulis oleh transaksi lain yang belum dikomit
  2. BMembaca data daripada cakera yang rosak
  3. CMembaca baris yang sama dua kali dan mendapat nilai yang sama
  4. DMembaca data tanpa klausa WHERE
6.Sederhana

Pertanyaan manakah yang memulangkan bilangan pesanan bagi setiap pelanggan?

  1. ASELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  2. BSELECT DISTINCT COUNT(*) FROM orders
  3. CSELECT customer_id FROM orders WHERE COUNT(*) > 0
  4. DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
7.Sukar

Mengapakah SELECT dept, name, COUNT(*) FROM emp GROUP BY dept tidak sah dalam SQL piawai?

  1. AGROUP BY mesti menyenaraikan semua lajur jadual
  2. BCOUNT(*) tidak boleh digunakan bersama GROUP BY
  3. Cname tidak dikumpul mahupun diagregat, maka ia tiada nilai tunggal bagi setiap kumpulan
  4. Ddept mesti muncul di dalam fungsi agregat
8.Sukar

Apakah kelemahan yang diketahui bagi penguraian jadual kepada BCNF berbanding 3NF?

  1. ASesetengah kebergantungan fungsi mungkin tidak lagi boleh disemak dalam satu jadual
  2. BBCNF membenarkan lebih banyak keberlebihan daripada 3NF
  3. CPenguraian sentiasa kehilangan data apabila dicantum semula
  4. DJadual BCNF tidak boleh mempunyai kunci utama

Kunci jawapan

  1. 1. D · COUNT
  2. 2. D · Kunci yang terdiri daripada dua atau lebih lajur
  3. 3. B · DELETE
  4. 4. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. A · Membaca data yang ditulis oleh transaksi lain yang belum dikomit
  6. 6. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. C · name tidak dikumpul mahupun diagregat, maka ia tiada nilai tunggal bagi setiap kumpulan
  8. 8. A · Sesetengah kebergantungan fungsi mungkin tidak lagi boleh disemak dalam satu jadual

Penyelesaian langkah demi langkah yang lengkap: berlatih topik ini di examproblems.com.