1.ง่าย
คีย์ผู้สมัคร (candidate key) คืออะไร?
- Aชุดคอลัมน์ที่เล็กที่สุดที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
- Bชุดคอลัมน์ที่ใช้ร่วมกันระหว่างสองตารางเพื่อเชื่อมแถว
- Cคอลัมน์ที่รอเป็นคีย์นอก
- Dคอลัมน์ใดก็ตามที่มีค่า NULL
2.ง่าย
คีย์แทน (surrogate key) คืออะไร?
- Aคีย์ที่อ้างอิงอีกตารางหนึ่ง
- Bคีย์ที่สร้างจากข้อมูลจริง เช่น อีเมล
- Cคีย์ที่ใช้เฉพาะในวิว
- Dตัวระบุที่สร้างขึ้นซึ่งไม่มีความหมายทางธุรกิจ เช่น id ที่เพิ่มอัตโนมัติ
3.ง่าย
ฟังก์ชันรวมค่าใดนับจำนวนแถว?
- ASUM
- BCOUNT
- CAVG
- DMAX
4.ปานกลาง
ตัว "A" ใน ACID ย่อมาจากอะไร?
- AAccuracy
- BAtomicity
- CAggregation
- DAvailability
5.ปานกลาง
ทริกเกอร์ (trigger) ของฐานข้อมูลคืออะไร?
- Aการสำรองฐานข้อมูลตามกำหนดเวลา
- Bคิวรีที่ผู้ใช้รันด้วยมือ
- Cโค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
- Dชนิดของดัชนีที่เร่งการค้นหา
6.ปานกลาง
SELECT SUM(amount) FROM orders คืนอะไรเมื่อ WHERE ไม่ตรงกับแถวใดเลย?
- Aข้อผิดพลาด
- BNULL
- Cสตริงว่าง
- D0
7.ยาก
phantom read คืออะไร?
- Aการอ่านข้อมูลที่ไม่เคยถูกเขียน
- Bการอ่านการเปลี่ยนแปลงที่ยังไม่ commit
- Cคิวรีที่ไม่คืนแถวใดเลย
- Dคิวรีซ้ำให้แถวใหม่ที่ทรานแซกชันอื่นที่ commit แล้วแทรกเข้ามา
8.ยาก
ฟีเจอร์ SQL ใดเหมาะที่สุดสำหรับหาพนักงานทุกคนใต้ผู้จัดการในแผนภูมิองค์กรที่ไม่ทราบความลึก?
- Aข้อจำกัด UNIQUE บน manager_id
- BCTE แบบเรียกซ้ำ (WITH RECURSIVE)
- CGROUP BY บน manager_id
- Dself-join ของตาราง employees บน manager_id เพียงครั้งเดียว
เฉลย
- 1. A · ชุดคอลัมน์ที่เล็กที่สุดที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
- 2. D · ตัวระบุที่สร้างขึ้นซึ่งไม่มีความหมายทางธุรกิจ เช่น id ที่เพิ่มอัตโนมัติ
- 3. B · COUNT
- 4. B · Atomicity
- 5. C · โค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
- 6. B · NULL
- 7. D · คิวรีซ้ำให้แถวใหม่ที่ทรานแซกชันอื่นที่ commit แล้วแทรกเข้ามา
- 8. B · CTE แบบเรียกซ้ำ (WITH RECURSIVE)
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com