1.ง่าย
คำสั่งใดลบทั้งตารางรวมทั้งโครงสร้าง?
- ADELETE FROM
- BDROP TABLE
- CTRUNCATE ROWS
- DREMOVE TABLE
2.ง่าย
คีย์หลัก (primary key) คืออะไร?
- Aคอลัมน์ที่มีค่าซ้ำกันได้ แต่ห้ามเป็น NULL เด็ดขาด
- Bรหัสผ่านของฐานข้อมูล
- Cคอลัมน์แรกของทุกตาราง
- Dคอลัมน์หรือชุดคอลัมน์ที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
3.ง่าย
INNER JOIN ให้ผลลัพธ์เป็น:
- Aทุกแถวจากตารางซ้าย โดยมี NULL ในส่วนที่ไม่มีค่าตรงกัน
- Bเฉพาะแถวที่มีค่าตรงกันในทั้งสองตาราง
- Cทุกแถวจากทั้งสองตาราง
- Dแถวที่ไม่ตรงกัน
4.ปานกลาง
ทริกเกอร์ (trigger) ของฐานข้อมูลคืออะไร?
- Aโค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
- Bชนิดของดัชนีที่เร่งการค้นหา
- Cการสำรองฐานข้อมูลตามกำหนดเวลา
- Dคิวรีที่ผู้ใช้รันด้วยมือ
5.ปานกลาง
เหตุใด SELECT price * 2 AS double_price FROM t WHERE double_price > 10 จึงล้มเหลวในฐานข้อมูลส่วนใหญ่?
- Aไม่อนุญาตให้คำนวณเลขคณิตในรายการ SELECT
- Bชื่อแฝงห้ามมีขีดล่าง
- CWHERE เปรียบเทียบได้เฉพาะคอลัมน์ข้อความ
- DWHERE ถูกประเมินก่อนรายการ SELECT ชื่อแฝงจึงยังไม่มี
6.ปานกลาง
เหตุใดจึงสร้างดัชนี (index) บนคอลัมน์?
- Aเพื่อให้การแทรกและการแก้ไขข้อมูลบนคอลัมน์เหล่านั้นเร็วขึ้น
- Bเพื่อป้องกันค่า NULL
- Cเพื่อเร่งการค้นหาและการเชื่อมบนคอลัมน์เหล่านั้น
- Dเพื่อประหยัดพื้นที่ดิสก์
7.ยาก
การล็อกสองระยะ (two-phase locking, 2PL) รับประกัน:
- Aตารางเวลาที่ conflict-serializable
- Bว่าไม่ต้องใช้ล็อก
- Cว่า deadlock ไม่มีทางเกิดขึ้น
- Dว่าทรานแซกชันไม่ต้องรอเลย
8.ยาก
เหตุใด DBMS จำนวนมากจึงใช้ strict two-phase locking โดยถือล็อกแบบเอกสิทธิ์จนถึง commit?
- Aไม่ต้องใช้ล็อกของทรานแซกชัน
- Bป้องกัน cascading abort เพราะไม่มีใครอ่านการเขียนที่ยังไม่ commit ได้
- Cทำให้ deadlock เป็นไปไม่ได้
- Dทำให้ทรานแซกชันอ่านข้อมูล dirty ได้อย่างปลอดภัย
เฉลย
- 1. B · DROP TABLE
- 2. D · คอลัมน์หรือชุดคอลัมน์ที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
- 3. B · เฉพาะแถวที่มีค่าตรงกันในทั้งสองตาราง
- 4. A · โค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
- 5. D · WHERE ถูกประเมินก่อนรายการ SELECT ชื่อแฝงจึงยังไม่มี
- 6. C · เพื่อเร่งการค้นหาและการเชื่อมบนคอลัมน์เหล่านั้น
- 7. A · ตารางเวลาที่ conflict-serializable
- 8. B · ป้องกัน cascading abort เพราะไม่มีใครอ่านการเขียนที่ยังไม่ commit ได้
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com