1.ง่าย
GRANT และ REVOKE จัดอยู่ในส่วนใดของ SQL?
- Aภาษานิยามข้อมูล (Data Definition Language, DDL)
- Bภาษาคิวรีข้อมูล (Data Query Language, DQL)
- Cภาษาจัดการข้อมูล (Data Manipulation Language, DML)
- Dภาษาควบคุมข้อมูล (Data Control Language, DCL)
2.ง่าย
คำสั่ง SQL ใดเพิ่มแถวใหม่ลงในตาราง?
- AUPDATE
- BALTER
- CSELECT
- DINSERT
3.ง่าย
คีย์ผู้สมัคร (candidate key) คืออะไร?
- Aคอลัมน์ที่รอเป็นคีย์นอก
- Bชุดคอลัมน์ที่เล็กที่สุดที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
- Cชุดคอลัมน์ที่ใช้ร่วมกันระหว่างสองตารางเพื่อเชื่อมแถว
- Dคอลัมน์ใดก็ตามที่มีค่า NULL
4.ปานกลาง
รูปแบบบรรทัดฐานที่สาม (3NF) ขจัด:
- Aคีย์ประกอบ
- Bดัชนีที่ซ้ำซ้อนบนคอลัมน์ที่ไม่ได้เป็นส่วนของคีย์
- Cค่าอะตอมมิก
- Dการพึ่งพาแบบถ่ายทอดระหว่างแอตทริบิวต์ที่ไม่ใช่คีย์
5.ปานกลาง
LEFT JOIN ให้ผลลัพธ์เป็น:
- Aแถวที่ไม่ตรงกันในทั้งสองตาราง
- Bทุกแถวจากตารางขวาเท่านั้น
- Cเฉพาะแถวที่ตรงกันจากทั้งสองตาราง
- Dทุกแถวจากตารางซ้ายและแถวที่ตรงกันจากตารางขวา โดยเป็น NULL เมื่อไม่มีแถวที่ตรงกัน
6.ปานกลาง
คิวรีใดคืนจำนวนเมืองที่ต่างกันในตาราง customers?
- ASELECT SUM(DISTINCT city) FROM customers
- BSELECT DISTINCT COUNT(city) FROM customers
- CSELECT COUNT(DISTINCT city) FROM customers
- DSELECT COUNT(city) FROM customers GROUP BY city
7.ยาก
การแยก R เป็น R1 และ R2 รับประกันว่าไม่สูญเสียเมื่อใด?
- Aเมื่อ R1 และ R2 ไม่มีแอตทริบิวต์ร่วมกัน
- Bเมื่อแอตทริบิวต์ร่วมของ R1 และ R2 เป็นซูเปอร์คีย์ของ R1 หรือของ R2
- Cเมื่อทุกแอตทริบิวต์ของ R ปรากฏในทั้ง R1 และ R2
- Dเมื่อ R1 และ R2 มีจำนวนคอลัมน์เท่ากัน
8.ยาก
phantom read คืออะไร?
- Aคิวรีซ้ำให้แถวใหม่ที่ทรานแซกชันอื่นที่ commit แล้วแทรกเข้ามา
- Bคิวรีที่ไม่คืนแถวใดเลย
- Cการอ่านการเปลี่ยนแปลงที่ยังไม่ commit
- Dการอ่านข้อมูลที่ไม่เคยถูกเขียน
เฉลย
- 1. D · ภาษาควบคุมข้อมูล (Data Control Language, DCL)
- 2. D · INSERT
- 3. B · ชุดคอลัมน์ที่เล็กที่สุดที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
- 4. D · การพึ่งพาแบบถ่ายทอดระหว่างแอตทริบิวต์ที่ไม่ใช่คีย์
- 5. D · ทุกแถวจากตารางซ้ายและแถวที่ตรงกันจากตารางขวา โดยเป็น NULL เมื่อไม่มีแถวที่ตรงกัน
- 6. C · SELECT COUNT(DISTINCT city) FROM customers
- 7. B · เมื่อแอตทริบิวต์ร่วมของ R1 และ R2 เป็นซูเปอร์คีย์ของ R1 หรือของ R2
- 8. A · คิวรีซ้ำให้แถวใหม่ที่ทรานแซกชันอื่นที่ commit แล้วแทรกเข้ามา
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com