1.ง่าย
คีย์นอก (foreign key) คือ:
- Aคอลัมน์ที่ค่าต้องไม่ซ้ำกันทุกแถวของตาราง
- Bคีย์ที่ถูกเข้ารหัสเสมอ
- Cคอลัมน์ที่อ้างอิงคีย์หลักของอีกตารางหนึ่ง
- Dคีย์ที่ผู้ใช้ต่างชาติใช้
2.ง่าย
ลูกค้าหนึ่งคนสั่งซื้อได้หลายคำสั่ง แต่แต่ละคำสั่งซื้อเป็นของลูกค้าเพียงคนเดียว นี่เป็นความสัมพันธ์ประเภทใด?
- Aหนึ่งต่อหนึ่ง (one-to-one)
- Bศูนย์ต่อศูนย์
- Cหนึ่งต่อหลาย (one-to-many)
- Dหลายต่อหลาย (many-to-many)
3.ง่าย
คำสั่ง SQL ใดเพิ่มแถวใหม่ลงในตาราง?
- ASELECT
- BUPDATE
- CALTER
- DINSERT
4.ปานกลาง
นักเรียนลงเรียนได้หลายวิชา และวิชามีนักเรียนหลายคน จะสร้างแบบจำลองนี้ในตารางอย่างไร?
- Aด้วยตารางเชื่อม (junction table) ที่เก็บคีย์นอกไปยังทั้ง students และ courses
- Bโดยรวม students และ courses เป็นตารางเดียว
- Cด้วยรายการ id ของวิชาที่เก็บในคอลัมน์เดียว
- Dด้วยคอลัมน์คีย์นอก course_id ในตาราง students ที่ชี้ไปยัง courses
5.ปานกลาง
ROLLBACK TO SAVEPOINT s1 ทำอะไร?
- Aยกเลิกทั้งทรานแซกชันตั้งแต่ต้น
- Bลบจุดบันทึกและตารางทั้งหมดที่เปลี่ยนตั้งแต่นั้น
- Cจบทรานแซกชันและ commit ทั้งหมด
- Dยกเลิกการเปลี่ยนแปลงหลังจุดบันทึก s1 โดยคงทรานแซกชันไว้
6.ปานกลาง
ตารางมีแถวที่ col เป็น NULL แถวใดที่ WHERE col = NULL คืนมา?
- Aไม่มีแถวเลย เพราะการเปรียบเทียบให้ผลไม่ทราบค่า
- Bข้อผิดพลาดในทุกฐานข้อมูล
- Cเฉพาะแถวที่ col เป็น NULL เช่นเดียวกับ IS NULL
- Dทุกแถวของตาราง
7.ยาก
กำหนดการพึ่งพาเชิงฟังก์ชัน A → B, B → C และ C → D บน R(A, B, C, D) ตัวปิด (closure) A+ คืออะไร?
- A{A, B, C, D}
- B{A, B}
- C{A, B, C}
- D{A}
8.ยาก
phantom read คืออะไร?
- Aคิวรีที่ไม่คืนแถวใดเลย
- Bคิวรีซ้ำให้แถวใหม่ที่ทรานแซกชันอื่นที่ commit แล้วแทรกเข้ามา
- Cการอ่านข้อมูลที่ไม่เคยถูกเขียน
- Dการอ่านการเปลี่ยนแปลงที่ยังไม่ commit
เฉลย
- 1. C · คอลัมน์ที่อ้างอิงคีย์หลักของอีกตารางหนึ่ง
- 2. C · หนึ่งต่อหลาย (one-to-many)
- 3. D · INSERT
- 4. A · ด้วยตารางเชื่อม (junction table) ที่เก็บคีย์นอกไปยังทั้ง students และ courses
- 5. D · ยกเลิกการเปลี่ยนแปลงหลังจุดบันทึก s1 โดยคงทรานแซกชันไว้
- 6. A · ไม่มีแถวเลย เพราะการเปรียบเทียบให้ผลไม่ทราบค่า
- 7. A · {A, B, C, D}
- 8. B · คิวรีซ้ำให้แถวใหม่ที่ทรานแซกชันอื่นที่ commit แล้วแทรกเข้ามา
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com