1.ง่าย
COMMIT ทำอะไรในทรานแซกชัน?
- Aล็อกทั้งฐานข้อมูล
- Bเริ่มตารางใหม่
- Cทำให้การเปลี่ยนแปลงทั้งหมดของทรานแซกชันถาวร
- Dยกเลิกการเปลี่ยนแปลงทั้งหมดที่ทำตั้งแต่ทรานแซกชันเริ่ม
2.ง่าย
ใน PostgreSQL และ MySQL อนุประโยคใดคืนเฉพาะ 10 แถวแรกของผลลัพธ์?
- AMAX 10
- BFIRST 10 ONLY
- CTOP ROWS 10
- DLIMIT 10
3.ง่าย
UNION ALL ต่างจาก UNION อย่างไร?
- AUNION ALL เรียงลำดับผลลัพธ์
- BUNION ALL ใช้ได้กับตารางเดียวเท่านั้น
- CUNION ALL เก็บแถวซ้ำไว้
- DUNION ALL ลบแถวซ้ำ
4.ปานกลาง
ข้อใดเกี่ยวกับ HAVING ถูกต้อง?
- Aใช้เรียงลำดับผลลัพธ์
- Bใช้ฟังก์ชันรวมค่าเพื่อกรองกลุ่มได้
- Cใช้ร่วมกับ GROUP BY ไม่ได้
- Dต้องมาก่อน WHERE ในคำสั่ง SELECT
5.ปานกลาง
SQL injection คืออะไร?
- Aวิธีเพิ่มดัชนี
- Bเทคนิคแทรกหลายแถวอย่างรวดเร็วด้วยคำสั่ง INSERT เพียงคำสั่งเดียว
- Cการโจมตีที่ข้อมูลที่ผู้ใช้ป้อนเปลี่ยนโครงสร้างของคิวรี SQL
- Dเทคนิคการสำรองฐานข้อมูล
6.ปานกลาง
การพึ่งพาเชิงฟังก์ชัน A → B หมายความว่าอย่างไร?
- Aแต่ละค่าของ B สัมพันธ์กับค่าของ A เพียงค่าเดียว
- BA เป็นคีย์นอกที่อ้างอิง B
- CA และ B เป็นคีย์หลักทั้งคู่
- Dแต่ละค่าของ A สัมพันธ์กับค่าของ B เพียงค่าเดียว
7.ยาก
กฎการบันทึกล็อกล่วงหน้า (write-ahead logging, WAL) กำหนดอะไร?
- Aหน้าข้อมูลต้องถูกเขียนก่อนล็อก
- Bทุกคิวรีต้องถูกบันทึกล็อกก่อนถูกแยกวิเคราะห์
- Cล็อกถูกเขียนหลังระบบล่มเท่านั้น
- Dระเบียนล็อกของการเปลี่ยนแปลงต้องถึงที่เก็บข้อมูลเสถียรก่อนหน้าข้อมูลที่เปลี่ยน
8.ยาก
R(A, B, C, D) มีการพึ่งพาเชิงฟังก์ชัน A → B และ C → D คีย์ผู้สมัครคืออะไร?
- A{A}
- B{A, C}
- C{C}
- D{B, D}
เฉลย
- 1. C · ทำให้การเปลี่ยนแปลงทั้งหมดของทรานแซกชันถาวร
- 2. D · LIMIT 10
- 3. C · UNION ALL เก็บแถวซ้ำไว้
- 4. B · ใช้ฟังก์ชันรวมค่าเพื่อกรองกลุ่มได้
- 5. C · การโจมตีที่ข้อมูลที่ผู้ใช้ป้อนเปลี่ยนโครงสร้างของคิวรี SQL
- 6. D · แต่ละค่าของ A สัมพันธ์กับค่าของ B เพียงค่าเดียว
- 7. D · ระเบียนล็อกของการเปลี่ยนแปลงต้องถึงที่เก็บข้อมูลเสถียรก่อนหน้าข้อมูลที่เปลี่ยน
- 8. B · {A, C}
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com