1.ง่าย
ในแบบจำลองเชิงสัมพันธ์ แถวของตารางเรียกว่าอะไร?
- Aสคีมา (schema)
- Bทูเพิล (tuple)
- Cโดเมน (domain)
- Dแอตทริบิวต์ (attribute)
2.ง่าย
คีย์ผู้สมัคร (candidate key) คืออะไร?
- Aชุดคอลัมน์ที่ใช้ร่วมกันระหว่างสองตารางเพื่อเชื่อมแถว
- Bคอลัมน์ใดก็ตามที่มีค่า NULL
- Cคอลัมน์ที่รอเป็นคีย์นอก
- Dชุดคอลัมน์ที่เล็กที่สุดที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
3.ง่าย
คีย์ประกอบ (composite key) คืออะไร?
- Aคีย์ที่อนุญาตค่าซ้ำ
- Bคีย์ที่เก็บในตารางแยกต่างหาก
- Cคีย์ที่ฐานข้อมูลสร้างขึ้น
- Dคีย์ที่ประกอบด้วยสองคอลัมน์ขึ้นไป
4.ปานกลาง
LEFT JOIN ให้ผลลัพธ์เป็น:
- Aทุกแถวจากตารางขวาเท่านั้น
- Bทุกแถวจากตารางซ้ายและแถวที่ตรงกันจากตารางขวา โดยเป็น NULL เมื่อไม่มีแถวที่ตรงกัน
- Cแถวที่ไม่ตรงกันในทั้งสองตาราง
- Dเฉพาะแถวที่ตรงกันจากทั้งสองตาราง
5.ปานกลาง
ในพีชคณิตเชิงสัมพันธ์ ตัวดำเนินการการเลือก (σ) สอดคล้องกับอนุประโยค SQL ใด?
- AORDER BY
- Bรายการ SELECT
- CGROUP BY
- DWHERE
6.ปานกลาง
รูปแบบบรรทัดฐานที่หนึ่ง (1NF) กำหนดว่า:
- Aแต่ละคอลัมน์มีค่าอะตอมมิกและไม่มีกลุ่มข้อมูลซ้ำ
- Bไม่มีคีย์นอก
- Cทุกตารางมีเพียงหนึ่งคอลัมน์
- Dทุกคอลัมน์ที่ไม่ใช่คีย์ขึ้นกับคีย์ทั้งหมดและไม่ขึ้นกับสิ่งอื่นนอกจากคีย์
7.ยาก
คิวรี FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' ตัดลูกค้าที่ไม่มีคำสั่งซื้อออกโดยไม่คาดคิด เพราะเหตุใด?
- Aเงื่อนไข WHERE บน o ปฏิเสธแถวที่เติม NULL ทำให้กลายเป็น inner join
- BLEFT JOIN ไม่เก็บแถวที่ไม่ตรงกัน
- Cการเชื่อมควรใช้ USING แทน ON
- Dstatus เป็นคำสงวน
8.ยาก
ด้วยการควบคุมภาวะพร้อมกันแบบหลายเวอร์ชัน (MVCC) ผู้อ่านหลีกเลี่ยงการบล็อกผู้เขียนได้อย่างไร?
- Aผู้อ่านรอจนผู้เขียนทั้งหมด commit เสมอ
- Bผู้อ่านอ่านข้อมูลที่ยังไม่ commit โดยตรง
- Cผู้อ่านเห็นสแน็ปช็อตที่สอดคล้องของเวอร์ชันแถวที่ commit แล้ว ขณะที่ผู้เขียนสร้างเวอร์ชันใหม่
- Dไม่อนุญาตผู้เขียนขณะมีผู้อ่านที่ทำงานอยู่
เฉลย
- 1. B · ทูเพิล (tuple)
- 2. D · ชุดคอลัมน์ที่เล็กที่สุดที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
- 3. D · คีย์ที่ประกอบด้วยสองคอลัมน์ขึ้นไป
- 4. B · ทุกแถวจากตารางซ้ายและแถวที่ตรงกันจากตารางขวา โดยเป็น NULL เมื่อไม่มีแถวที่ตรงกัน
- 5. D · WHERE
- 6. A · แต่ละคอลัมน์มีค่าอะตอมมิกและไม่มีกลุ่มข้อมูลซ้ำ
- 7. A · เงื่อนไข WHERE บน o ปฏิเสธแถวที่เติม NULL ทำให้กลายเป็น inner join
- 8. C · ผู้อ่านเห็นสแน็ปช็อตที่สอดคล้องของเวอร์ชันแถวที่ commit แล้ว ขณะที่ผู้เขียนสร้างเวอร์ชันใหม่
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com