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

Apakah yang dilakukan oleh GROUP BY dalam pertanyaan?

  1. AMencantumkan dua jadual pada lajur sepunya
  2. BMenyusun baris hasil mengikut abjad
  3. CMeletakkan baris dengan nilai sama ke dalam kumpulan supaya agregat dikira bagi setiap kumpulan
  4. DMembuang baris dengan nilai NULL
2.Mudah

Penyataan manakah yang menambah lajur baharu pada jadual sedia ada?

  1. AALTER TABLE
  2. BCREATE COLUMN
  3. CUPDATE TABLE
  4. DINSERT COLUMN
3.Mudah

Apakah yang dilakukan oleh WHERE country IN ('NL', 'BE', 'DE')?

  1. AMengekalkan baris yang negaranya sama dengan mana-mana nilai dalam senarai
  2. BMengekalkan baris yang nilai negaranya mengandungi ketiga-tiga kod sekali gus
  3. CMenyusun baris mengikut urutan senarai
  4. DMengekalkan baris yang negaranya tiada dalam senarai
4.Sederhana

Pertanyaan manakah yang memulangkan bilangan pesanan bagi setiap pelanggan?

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

Pertanyaan manakah yang memulangkan gaji tertinggi dalam setiap jabatan?

  1. ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
  2. BSELECT dept, MAX(salary) FROM emp ORDER BY dept
  3. CSELECT dept, MAX(salary) FROM emp GROUP BY dept
  4. DSELECT MAX(dept), salary FROM emp GROUP BY salary
6.Sederhana

Mengapakah jadual hanya boleh mempunyai satu indeks berkelompok (clustered)?

  1. AIndeks berkelompok menggunakan terlalu banyak memori
  2. BIndeks berkelompok hanya boleh pada kunci utama
  3. CBaris hanya boleh disimpan secara fizikal dalam satu urutan
  4. DPiawai SQL melarang lebih daripada satu indeks pada sesuatu jadual
7.Sukar

Mengapakah banyak DBMS menggunakan penguncian dua fasa ketat, memegang kunci eksklusif sehingga komit?

  1. AIa menjadikan kebuntuan mustahil
  2. BIa mencegah pembatalan berlata (cascading abort), kerana tiada sesiapa boleh membaca penulisan belum komit
  3. CIa menghapuskan keperluan untuk log transaksi
  4. DIa membolehkan transaksi membaca data kotor dengan selamat
8.Sukar

Jadual mempunyai sejuta baris dan lajur Boolean is_active yang TRUE untuk 95% daripadanya. Mengapakah pengoptimum mungkin mengabaikan indeks pada is_active untuk WHERE is_active = TRUE?

  1. ATRUE dianggap NULL oleh indeks
  2. BKebanyakan baris sepadan, maka imbasan jadual penuh lebih murah daripada banyak carian indeks
  3. CIndeks tidak boleh dicipta pada lajur Boolean
  4. DPengoptimum tidak pernah menggunakan indeks dalam klausa WHERE

Kunci jawapan

  1. 1. C · Meletakkan baris dengan nilai sama ke dalam kumpulan supaya agregat dikira bagi setiap kumpulan
  2. 2. A · ALTER TABLE
  3. 3. A · Mengekalkan baris yang negaranya sama dengan mana-mana nilai dalam senarai
  4. 4. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  6. 6. C · Baris hanya boleh disimpan secara fizikal dalam satu urutan
  7. 7. B · Ia mencegah pembatalan berlata (cascading abort), kerana tiada sesiapa boleh membaca penulisan belum komit
  8. 8. B · Kebanyakan baris sepadan, maka imbasan jadual penuh lebih murah daripada banyak carian indeks

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