ใบงาน ฐานข้อมูลและ SQL พร้อมเฉลย
ใบงาน ฐานข้อมูลและ SQL ฟรีสำหรับพิมพ์: 8 ข้อ ตั้งแต่ระดับง่ายถึงระดับข้อสอบจริง พร้อมเฉลย พิมพ์หรือบันทึกเป็น PDF ได้
สำหรับผู้สอน: พิมพ์ ทำสำเนา และใช้ในชั้นเรียนได้ฟรี ใบงานใหม่แต่ละชุดมีค่าตัวเลขใหม่และเฉลยของตัวเอง หากใส่ลิงก์ไปยัง ExamProblems ในหน้ารายวิชาของคุณ เราจะขอบคุณมาก
ชื่อ: ____________________ วันที่: ____________
1.ง่าย
WHERE price BETWEEN 10 AND 20 เลือกแถวใด?
- Aแถวที่ price มากกว่า 10 และน้อยกว่า 20 โดยไม่รวม 10 และ 20
- Bเฉพาะแถวที่ price เท่ากับ 10 หรือ 20
- Cแถวที่ price ตั้งแต่ 10 ถึง 20 รวม 10 และ 20
- Dแถวที่ price อยู่นอกช่วง 10 ถึง 20
2.ง่าย
จะเรียงผลลัพธ์จากเงินเดือนสูงสุดไปต่ำสุดได้อย่างไร?
- AORDER BY salary DESC
- BGROUP BY salary DESC
- CSORT salary DOWN
- DORDER BY salary ASC
3.ง่าย
ในแบบจำลองเชิงสัมพันธ์ แถวของตารางเรียกว่าอะไร?
- Aโดเมน (domain)
- Bทูเพิล (tuple)
- Cสคีมา (schema)
- Dแอตทริบิวต์ (attribute)
4.ปานกลาง
SQL injection คืออะไร?
- Aเทคนิคการสำรองฐานข้อมูล
- Bวิธีเพิ่มดัชนี
- Cเทคนิคแทรกหลายแถวอย่างรวดเร็วด้วยคำสั่ง INSERT เพียงคำสั่งเดียว
- Dการโจมตีที่ข้อมูลที่ผู้ใช้ป้อนเปลี่ยนโครงสร้างของคิวรี SQL
5.ปานกลาง
ทริกเกอร์ (trigger) ของฐานข้อมูลคืออะไร?
- Aการสำรองฐานข้อมูลตามกำหนดเวลา
- Bโค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
- Cชนิดของดัชนีที่เร่งการค้นหา
- Dคิวรีที่ผู้ใช้รันด้วยมือ
6.ปานกลาง
ตาราง employees มีคอลัมน์ manager_id ที่อ้างอิงพนักงานอีกคน จะแสดงพนักงานแต่ละคนคู่กับชื่อผู้จัดการได้อย่างไร?
- Aรวมตารางกับตัวมันเองด้วย UNION ALL และตัวกรอง WHERE
- Bเชื่อมตาราง employees กับตัวเองโดยใช้ชื่อแฝงสองชื่อ
- Cสร้างสำเนาที่สองของตารางบนดิสก์
- Dใช้ GROUP BY manager_id อย่างเดียว
7.ยาก
แอปรัน UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 และรายงานความขัดแย้งหากไม่มีแถวถูกอัปเดต นี่คือเทคนิคใด?
- Aการแบ่งส่วนฐานข้อมูล (sharding)
- Bการควบคุมภาวะพร้อมกันแบบมองโลกในแง่ดี (optimistic concurrency control)
- Cwrite-ahead logging
- Dtwo-phase locking แบบเข้มงวดโดยล็อกระดับแถว
8.ยาก
x เป็น NULL และ y = 1 ค่าของเงื่อนไข (x > 5 OR y = 1) คืออะไร?
- ATRUE
- BFALSE
- CNULL ดังนั้นแถวถูกปฏิเสธเสมอ
- DUNKNOWN
เฉลย
- 1. C · แถวที่ price ตั้งแต่ 10 ถึง 20 รวม 10 และ 20
- 2. A · ORDER BY salary DESC
- 3. B · ทูเพิล (tuple)
- 4. D · การโจมตีที่ข้อมูลที่ผู้ใช้ป้อนเปลี่ยนโครงสร้างของคิวรี SQL
- 5. B · โค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
- 6. B · เชื่อมตาราง employees กับตัวเองโดยใช้ชื่อแฝงสองชื่อ
- 7. B · การควบคุมภาวะพร้อมกันแบบมองโลกในแง่ดี (optimistic concurrency control)
- 8. A · TRUE
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com