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

Kunci asing (foreign key) ialah:

  1. AKunci yang sentiasa disulitkan
  2. BLajur yang nilainya mesti unik merentas semua baris jadual
  3. CKunci yang digunakan oleh pengguna asing
  4. DLajur yang merujuk kepada kunci utama jadual lain
2.Mudah

Apakah kunci calon (candidate key)?

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

Untuk apakah rajah hubungan-entiti (ER) digunakan?

  1. AMemodelkan entiti, atributnya dan hubungan semasa mereka bentuk pangkalan data
  2. BMenyenaraikan pengguna pangkalan data
  3. CMengukur prestasi pangkalan data
  4. DMenunjukkan bagaimana pertanyaan dilaksanakan
4.Sederhana

Apakah yang dilakukan oleh ROLLBACK TO SAVEPOINT s1?

  1. AMenamatkan transaksi dan mengkomit segala-galanya
  2. BMembuat asal seluruh transaksi dari awal
  3. CMembuat asal perubahan selepas savepoint s1, dengan transaksi kekal terbuka
  4. DMemadam savepoint dan semua jadual yang diubah sejak itu
5.Sederhana

Pertanyaan manakah yang menyenaraikan pelanggan yang tidak pernah membuat pesanan?

  1. ASELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS 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 IS NOT NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
6.Sederhana

Bentuk normal ketiga (3NF) menghapuskan:

  1. AIndeks berlebihan pada lajur yang bukan sebahagian daripada kunci
  2. BNilai atomik
  3. CKunci gubahan
  4. DKebergantungan transitif antara atribut bukan kunci
7.Sukar

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

  1. ACOUNT(*) tidak dibenarkan selepas cantuman
  2. BCOUNT(*) mengira baris berisi NULL sebagai 1 bagi pelanggan tanpa pesanan
  3. CCOUNT(*) mengabaikan baris dengan nilai NULL
  4. DCOUNT(o.id) hanya mengira pelanggan berbeza
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. APengoptimum tidak pernah menggunakan indeks dalam klausa WHERE
  2. BTRUE dianggap NULL oleh indeks
  3. CKebanyakan baris sepadan, maka imbasan jadual penuh lebih murah daripada banyak carian indeks
  4. DIndeks tidak boleh dicipta pada lajur Boolean

Kunci jawapan

  1. 1. D · Lajur yang merujuk kepada kunci utama jadual lain
  2. 2. B · Set minimum lajur yang mengenal pasti setiap baris secara unik
  3. 3. A · Memodelkan entiti, atributnya dan hubungan semasa mereka bentuk pangkalan data
  4. 4. C · Membuat asal perubahan selepas savepoint s1, dengan transaksi kekal terbuka
  5. 5. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. D · Kebergantungan transitif antara atribut bukan kunci
  7. 7. B · COUNT(*) mengira baris berisi NULL sebagai 1 bagi pelanggan tanpa pesanan
  8. 8. C · 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.