Lembar kerja Basis data & SQL dengan jawaban

Lembar kerja Basis data & SQL gratis yang dapat dicetak: 8 soal dari mudah hingga tingkat ujian, dengan kunci jawaban. Cetak atau simpan sebagai PDF.

Untuk pengajar: gratis untuk dicetak, disalin, dan dipakai di kelas. Setiap lembar kerja baru punya nilai baru dan kunci jawabannya sendiri. Tautan ke ExamProblems di halaman mata kuliah Anda sangat kami hargai.

Nama: ____________________   Tanggal: ____________

1.Mudah

Apa yang dilakukan ROLLBACK dalam sebuah transaksi?

  1. AMenyimpan semua perubahan transaksi secara permanen ke disk
  2. BMengulang pernyataan terakhir
  3. CMenghapus tabel
  4. DMembatalkan perubahan yang dibuat sejak transaksi dimulai
2.Mudah

Seorang pelanggan dapat membuat banyak pesanan, tetapi setiap pesanan milik tepat satu pelanggan. Jenis relasi apakah ini?

  1. AMany-to-many (banyak-ke-banyak)
  2. BOne-to-many (satu-ke-banyak)
  3. CZero-to-zero
  4. DOne-to-one (satu-ke-satu)
3.Mudah

Apa yang dimaksud dengan kunci primer (primary key)?

  1. AKolom pertama dari setiap tabel
  2. BSebuah kolom yang boleh berisi nilai duplikat tetapi tidak boleh berisi NULL
  3. CSebuah kolom atau sekumpulan kolom yang mengidentifikasi setiap baris secara unik
  4. DKata sandi untuk basis data
4.Sedang

Mengapa SELECT price * 2 AS double_price FROM t WHERE double_price > 10 gagal di sebagian besar basis data?

  1. AAritmetika tidak diizinkan dalam daftar SELECT
  2. BAlias tidak boleh mengandung garis bawah
  3. CWHERE hanya dapat membandingkan kolom teks
  4. DWHERE dievaluasi sebelum daftar SELECT, sehingga alias itu belum ada
5.Sedang

Kueri mana yang menampilkan pelanggan yang belum 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 = 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 IS NULL
6.Sedang

Kueri manakah yang mengembalikan jumlah pesanan per pelanggan?

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

Mengapa banyak DBMS menggunakan strict two-phase locking, dengan mempertahankan exclusive lock sampai commit?

  1. ACara ini membuat deadlock tidak mungkin terjadi
  2. BCara ini menghilangkan kebutuhan akan log transaksi
  3. CCara ini mencegah cascading abort, karena tidak ada yang dapat membaca penulisan yang belum di-commit
  4. DCara ini memungkinkan transaksi membaca dirty data dengan aman
8.Sulit

Untuk equality join antara dua tabel besar tanpa indeks yang berguna, algoritma join mana yang sering dipilih optimizer?

  1. AHash join
  2. BNested loop join dengan pencarian indeks
  3. CCross join
  4. DBitmap join pada kunci primer

Kunci jawaban

  1. 1. D · Membatalkan perubahan yang dibuat sejak transaksi dimulai
  2. 2. B · One-to-many (satu-ke-banyak)
  3. 3. C · Sebuah kolom atau sekumpulan kolom yang mengidentifikasi setiap baris secara unik
  4. 4. D · WHERE dievaluasi sebelum daftar SELECT, sehingga alias itu belum ada
  5. 5. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. C · Cara ini mencegah cascading abort, karena tidak ada yang dapat membaca penulisan yang belum di-commit
  8. 8. A · Hash join

Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.