1.Mudah
Seorang pelanggan boleh membuat banyak pesanan, tetapi setiap pesanan milik tepat seorang pelanggan. Apakah jenis hubungan ini?
- ASatu-ke-banyak
- BSatu-ke-satu
- CBanyak-ke-banyak
- DSifar-ke-sifar
2.Mudah
Apakah yang dilakukan oleh GROUP BY dalam pertanyaan?
- AMencantumkan dua jadual pada lajur sepunya
- BMenyusun baris hasil mengikut abjad
- CMembuang baris dengan nilai NULL
- DMeletakkan baris dengan nilai sama ke dalam kumpulan supaya agregat dikira bagi setiap kumpulan
3.Mudah
Penyataan manakah yang membuang baris daripada jadual?
- ADELETE
- BDROP
- CTRUNCATE COLUMN
- DREMOVE
4.Sederhana
Lajur mengandungi nilai 10, 20 dan NULL. Apakah yang dipulangkan oleh AVG(col)?
- A15
- B30
- CNULL
- D10
5.Sederhana
Pertanyaan manakah yang memulangkan bilangan pesanan bagi setiap pelanggan?
- ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- BSELECT DISTINCT COUNT(*) FROM orders
- CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- DSELECT customer_id FROM orders WHERE COUNT(*) > 0
6.Sederhana
Pertanyaan manakah yang memulangkan bilangan bandar berbeza dalam jadual customers?
- ASELECT COUNT(DISTINCT city) FROM customers
- BSELECT DISTINCT COUNT(city) FROM customers
- CSELECT SUM(DISTINCT city) FROM customers
- DSELECT COUNT(city) FROM customers GROUP BY city
7.Sukar
Mengapakah banyak DBMS menggunakan penguncian dua fasa ketat, memegang kunci eksklusif sehingga komit?
- AIa membolehkan transaksi membaca data kotor dengan selamat
- BIa mencegah pembatalan berlata (cascading abort), kerana tiada sesiapa boleh membaca penulisan belum komit
- CIa menghapuskan keperluan untuk log transaksi
- DIa menjadikan kebuntuan mustahil
8.Sukar
Apakah yang ditunjukkan oleh EXPLAIN (atau EXPLAIN ANALYZE dalam PostgreSQL) bagi sesuatu pertanyaan?
- APenulisan semula pertanyaan dalam tatatanda aljabar relasi sahaja
- BSenarai pengguna yang menjalankan pertanyaan
- CPelan pelaksanaan yang dipilih oleh pengoptimum, seperti imbasan dan kaedah cantuman
- DMakna setiap kata kunci SQL dalam pertanyaan
Kunci jawapan
- 1. A · Satu-ke-banyak
- 2. D · Meletakkan baris dengan nilai sama ke dalam kumpulan supaya agregat dikira bagi setiap kumpulan
- 3. A · DELETE
- 4. A · 15
- 5. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 6. A · SELECT COUNT(DISTINCT city) FROM customers
- 7. B · Ia mencegah pembatalan berlata (cascading abort), kerana tiada sesiapa boleh membaca penulisan belum komit
- 8. C · Pelan pelaksanaan yang dipilih oleh pengoptimum, seperti imbasan dan kaedah cantuman
Penyelesaian langkah demi langkah yang lengkap: berlatih topik ini di examproblems.com.