ใบงาน ฐานข้อมูลและ SQL พร้อมเฉลย

ใบงาน ฐานข้อมูลและ SQL ฟรีสำหรับพิมพ์: 8 ข้อ ตั้งแต่ระดับง่ายถึงระดับข้อสอบจริง พร้อมเฉลย พิมพ์หรือบันทึกเป็น PDF ได้

ใบงานใหม่ฝึกออนไลน์พร้อมคำใบ้

สำหรับผู้สอน: พิมพ์ ทำสำเนา และใช้ในชั้นเรียนได้ฟรี ใบงานใหม่แต่ละชุดมีค่าตัวเลขใหม่และเฉลยของตัวเอง หากใส่ลิงก์ไปยัง ExamProblems ในหน้ารายวิชาของคุณ เราจะขอบคุณมาก

ชื่อ: ____________________   วันที่: ____________

1.ง่าย

คีย์แทน (surrogate key) คืออะไร?

  1. Aตัวระบุที่สร้างขึ้นซึ่งไม่มีความหมายทางธุรกิจ เช่น id ที่เพิ่มอัตโนมัติ
  2. Bคีย์ที่ใช้เฉพาะในวิว
  3. Cคีย์ที่อ้างอิงอีกตารางหนึ่ง
  4. Dคีย์ที่สร้างจากข้อมูลจริง เช่น อีเมล
2.ง่าย

GROUP BY ทำอะไรในคิวรี?

  1. Aจัดแถวที่มีค่าเหมือนกันเป็นกลุ่มเพื่อคำนวณฟังก์ชันรวมค่าต่อกลุ่ม
  2. Bเชื่อมสองตารางด้วยคอลัมน์ร่วมกัน
  3. Cเรียงลำดับแถวของผลลัพธ์ตามตัวอักษร
  4. Dลบแถวที่มีค่า NULL
3.ง่าย

CROSS JOIN ให้ผลลัพธ์อะไร?

  1. Aเฉพาะแถวของตารางแรก
  2. Bทุกชุดค่าผสมของแถวจากสองตาราง
  3. Cเฉพาะแถวที่ไม่ตรงกัน
  4. Dเฉพาะแถวที่ตรงกันบนคอลัมน์คีย์ร่วม
4.ปานกลาง

เหตุใดตารางจึงมีดัชนีคลัสเตอร์ได้เพียงหนึ่งดัชนี?

  1. Aแถวเก็บทางกายภาพได้เพียงลำดับเดียว
  2. Bมาตรฐาน SQL ห้ามมีดัชนีมากกว่าหนึ่งดัชนีต่อตาราง
  3. Cดัชนีคลัสเตอร์ใช้หน่วยความจำมากเกินไป
  4. Dดัชนีคลัสเตอร์อยู่ได้เฉพาะบนคีย์หลัก
5.ปานกลาง

ROLLBACK TO SAVEPOINT s1 ทำอะไร?

  1. Aยกเลิกการเปลี่ยนแปลงหลังจุดบันทึก s1 โดยคงทรานแซกชันไว้
  2. Bยกเลิกทั้งทรานแซกชันตั้งแต่ต้น
  3. Cจบทรานแซกชันและ commit ทั้งหมด
  4. Dลบจุดบันทึกและตารางทั้งหมดที่เปลี่ยนตั้งแต่นั้น
6.ปานกลาง

ข้อใดเกี่ยวกับ HAVING ถูกต้อง?

  1. Aต้องมาก่อน WHERE ในคำสั่ง SELECT
  2. Bใช้เรียงลำดับผลลัพธ์
  3. Cใช้ร่วมกับ GROUP BY ไม่ได้
  4. Dใช้ฟังก์ชันรวมค่าเพื่อกรองกลุ่มได้
7.ยาก

ฟีเจอร์ SQL ใดเหมาะที่สุดสำหรับหาพนักงานทุกคนใต้ผู้จัดการในแผนภูมิองค์กรที่ไม่ทราบความลึก?

  1. Aself-join ของตาราง employees บน manager_id เพียงครั้งเดียว
  2. BCTE แบบเรียกซ้ำ (WITH RECURSIVE)
  3. Cข้อจำกัด UNIQUE บน manager_id
  4. DGROUP BY บน manager_id
8.ยาก

แอปรัน UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 และรายงานความขัดแย้งหากไม่มีแถวถูกอัปเดต นี่คือเทคนิคใด?

  1. Aการแบ่งส่วนฐานข้อมูล (sharding)
  2. Bการควบคุมภาวะพร้อมกันแบบมองโลกในแง่ดี (optimistic concurrency control)
  3. Ctwo-phase locking แบบเข้มงวดโดยล็อกระดับแถว
  4. Dwrite-ahead logging

เฉลย

  1. 1. A · ตัวระบุที่สร้างขึ้นซึ่งไม่มีความหมายทางธุรกิจ เช่น id ที่เพิ่มอัตโนมัติ
  2. 2. A · จัดแถวที่มีค่าเหมือนกันเป็นกลุ่มเพื่อคำนวณฟังก์ชันรวมค่าต่อกลุ่ม
  3. 3. B · ทุกชุดค่าผสมของแถวจากสองตาราง
  4. 4. A · แถวเก็บทางกายภาพได้เพียงลำดับเดียว
  5. 5. A · ยกเลิกการเปลี่ยนแปลงหลังจุดบันทึก s1 โดยคงทรานแซกชันไว้
  6. 6. D · ใช้ฟังก์ชันรวมค่าเพื่อกรองกลุ่มได้
  7. 7. B · CTE แบบเรียกซ้ำ (WITH RECURSIVE)
  8. 8. B · การควบคุมภาวะพร้อมกันแบบมองโลกในแง่ดี (optimistic concurrency control)

เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com