1.ง่าย
คีย์นอก (foreign key) คือ:
- Aคอลัมน์ที่ค่าต้องไม่ซ้ำกันทุกแถวของตาราง
- Bคอลัมน์ที่อ้างอิงคีย์หลักของอีกตารางหนึ่ง
- Cคีย์ที่ผู้ใช้ต่างชาติใช้
- Dคีย์ที่ถูกเข้ารหัสเสมอ
2.ง่าย
ข้อจำกัด UNIQUE บนคอลัมน์รับประกันอะไร?
- Aค่าในคอลัมน์เปลี่ยนไม่ได้หลังแทรก
- Bไม่มีสองแถวใดมีค่าที่ไม่ใช่ NULL เหมือนกันในคอลัมน์นั้น
- Cคอลัมน์นั้นกลายเป็นคีย์หลักของตารางโดยอัตโนมัติ
- Dค่าในคอลัมน์ถูกเรียงลำดับ
3.ง่าย
คำสั่ง SQL ใดเพิ่มแถวใหม่ลงในตาราง?
- AINSERT
- BUPDATE
- CALTER
- DSELECT
4.ปานกลาง
คิวรีใดคืนจำนวนเมืองที่ต่างกันในตาราง customers?
- ASELECT COUNT(city) FROM customers GROUP BY city
- BSELECT DISTINCT COUNT(city) FROM customers
- CSELECT COUNT(DISTINCT city) FROM customers
- DSELECT SUM(DISTINCT city) FROM customers
5.ปานกลาง
SQL injection คืออะไร?
- Aเทคนิคการสำรองฐานข้อมูล
- Bเทคนิคแทรกหลายแถวอย่างรวดเร็วด้วยคำสั่ง INSERT เพียงคำสั่งเดียว
- Cวิธีเพิ่มดัชนี
- Dการโจมตีที่ข้อมูลที่ผู้ใช้ป้อนเปลี่ยนโครงสร้างของคิวรี SQL
6.ปานกลาง
ตารางมีแถวที่ col เป็น NULL แถวใดที่ WHERE col = NULL คืนมา?
- Aไม่มีแถวเลย เพราะการเปรียบเทียบให้ผลไม่ทราบค่า
- Bข้อผิดพลาดในทุกฐานข้อมูล
- Cเฉพาะแถวที่ col เป็น NULL เช่นเดียวกับ IS NULL
- Dทุกแถวของตาราง
7.ยาก
ฟีเจอร์ SQL ใดเหมาะที่สุดสำหรับหาพนักงานทุกคนใต้ผู้จัดการในแผนภูมิองค์กรที่ไม่ทราบความลึก?
- Aข้อจำกัด UNIQUE บน manager_id
- BCTE แบบเรียกซ้ำ (WITH RECURSIVE)
- Cself-join ของตาราง employees บน manager_id เพียงครั้งเดียว
- DGROUP BY บน manager_id
8.ยาก
ทรานแซกชัน T1 ล็อกแถว A และรอแถว B ขณะที่ T2 ล็อกแถว B และรอแถว A DBMS ทั่วไปทำอย่างไร?
- Aตรวจพบ deadlock และยกเลิกทรานแซกชันหนึ่งเป็นผู้เสียสละ
- Bcommit ทั้งสองทรานแซกชันพร้อมกัน
- Cปล่อยให้ทั้งสองทรานแซกชันรอจนกว่าหนึ่งในนั้นจะคอมมิตตามปกติ
- Dรวมสองทรานแซกชันเป็นหนึ่ง
เฉลย
- 1. B · คอลัมน์ที่อ้างอิงคีย์หลักของอีกตารางหนึ่ง
- 2. B · ไม่มีสองแถวใดมีค่าที่ไม่ใช่ NULL เหมือนกันในคอลัมน์นั้น
- 3. A · INSERT
- 4. C · SELECT COUNT(DISTINCT city) FROM customers
- 5. D · การโจมตีที่ข้อมูลที่ผู้ใช้ป้อนเปลี่ยนโครงสร้างของคิวรี SQL
- 6. A · ไม่มีแถวเลย เพราะการเปรียบเทียบให้ผลไม่ทราบค่า
- 7. B · CTE แบบเรียกซ้ำ (WITH RECURSIVE)
- 8. A · ตรวจพบ deadlock และยกเลิกทรานแซกชันหนึ่งเป็นผู้เสียสละ
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com