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. ACOUNT
  2. BSUM
  3. CAVG
  4. DMAX
2.Mudah

Apakah kunci calon (candidate key)?

  1. ASet minimum lajur yang mengenal pasti setiap baris secara unik
  2. BSet lajur yang dikongsi antara dua jadual untuk memaut barisnya
  3. CSebarang lajur yang mengandungi nilai NULL
  4. DLajur yang sedang menunggu untuk menjadi kunci asing
3.Mudah

Fungsi agregat manakah yang memulangkan purata lajur berangka?

  1. AAVG
  2. BMEAN
  3. CMEDIAN
  4. DSUM
4.Sederhana

Pelajar boleh mengambil banyak kursus dan kursus mempunyai ramai pelajar. Bagaimanakah ini dimodelkan dalam jadual?

  1. ADengan menggabungkan pelajar dan kursus ke dalam satu jadual
  2. BDengan senarai id kursus yang disimpan dalam satu lajur
  3. CDengan jadual simpang yang memegang kunci asing kepada kedua-dua pelajar dan kursus
  4. DDengan lajur kunci asing course_id dalam jadual students yang menunjuk ke courses
5.Sederhana

Kunci asing diisytiharkan dengan ON DELETE CASCADE. Apakah yang berlaku apabila baris induk dipadam?

  1. ABaris induk disalin ke jadual arkib
  2. BPemadaman sentiasa ditolak
  3. CKunci asing dalam baris anak ditetapkan kepada NULL secara automatik
  4. DBaris anak yang merujuknya dipadam secara automatik
6.Sederhana

Apakah suntikan SQL (SQL injection)?

  1. ASerangan di mana input pengguna mengubah struktur pertanyaan SQL
  2. BTeknik sandaran pangkalan data
  3. CTeknik untuk menyisipkan banyak baris dengan cepat menggunakan satu penyataan INSERT
  4. DCara untuk menambah indeks
7.Sukar

Selepas customers LEFT JOIN orders, mengapakah menggunakan COUNT(o.id) dan bukan COUNT(*) untuk mengira pesanan bagi setiap pelanggan?

  1. ACOUNT(*) mengabaikan baris dengan nilai NULL
  2. BCOUNT(*) tidak dibenarkan selepas cantuman
  3. CCOUNT(*) mengira baris berisi NULL sebagai 1 bagi pelanggan tanpa pesanan
  4. DCOUNT(o.id) hanya mengira pelanggan berbeza
8.Sukar

Jadual enrolment(student_id, course_id, student_name, grade) mempunyai kunci (student_id, course_id). Bentuk normal manakah yang dilanggarnya?

  1. ATiada, ia dalam BCNF
  2. BBentuk normal pertama, kerana lajur grade tidak mengandungi nilai atomik
  3. CBentuk normal kedua, kerana student_name bergantung pada student_id sahaja
  4. DBentuk normal ketiga sahaja, kerana grade bergantung pada student_name

Kunci jawapan

  1. 1. A · COUNT
  2. 2. A · Set minimum lajur yang mengenal pasti setiap baris secara unik
  3. 3. A · AVG
  4. 4. C · Dengan jadual simpang yang memegang kunci asing kepada kedua-dua pelajar dan kursus
  5. 5. D · Baris anak yang merujuknya dipadam secara automatik
  6. 6. A · Serangan di mana input pengguna mengubah struktur pertanyaan SQL
  7. 7. C · COUNT(*) mengira baris berisi NULL sebagai 1 bagi pelanggan tanpa pesanan
  8. 8. C · Bentuk normal kedua, kerana student_name bergantung pada student_id sahaja

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