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

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

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

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

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

1.ง่าย

แผนภาพเอนทิตี–ความสัมพันธ์ (ER diagram) ใช้ทำอะไร?

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

UNION ALL ต่างจาก UNION อย่างไร?

  1. AUNION ALL ใช้ได้กับตารางเดียวเท่านั้น
  2. BUNION ALL เก็บแถวซ้ำไว้
  3. CUNION ALL เรียงลำดับผลลัพธ์
  4. DUNION ALL ลบแถวซ้ำ
3.ง่าย

WHERE country IN ('NL', 'BE', 'DE') ทำอะไร?

  1. Aเก็บแถวที่ country เท่ากับค่าใดค่าหนึ่งในรายการ
  2. Bเรียงลำดับแถวตามลำดับในรายการ
  3. Cเก็บแถวที่ country ไม่อยู่ในรายการ
  4. Dเก็บแถวที่ค่า country มีรหัสทั้งสามตัวพร้อมกัน
4.ปานกลาง

คีย์นอกถูกประกาศด้วย ON DELETE CASCADE เกิดอะไรขึ้นเมื่อแถวแม่ถูกลบ?

  1. Aคีย์นอกในแถวลูกถูกตั้งเป็น NULL โดยอัตโนมัติ
  2. Bการลบถูกปฏิเสธเสมอ
  3. Cแถวลูกที่อ้างอิงแถวนั้นถูกลบโดยอัตโนมัติ
  4. Dแถวแม่ถูกคัดลอกไปยังตารางเก็บถาวร
5.ปานกลาง

LEFT JOIN ให้ผลลัพธ์เป็น:

  1. Aเฉพาะแถวที่ตรงกันจากทั้งสองตาราง
  2. Bทุกแถวจากตารางขวาเท่านั้น
  3. Cทุกแถวจากตารางซ้ายและแถวที่ตรงกันจากตารางขวา โดยเป็น NULL เมื่อไม่มีแถวที่ตรงกัน
  4. Dแถวที่ไม่ตรงกันในทั้งสองตาราง
6.ปานกลาง

ทริกเกอร์ (trigger) ของฐานข้อมูลคืออะไร?

  1. Aการสำรองฐานข้อมูลตามกำหนดเวลา
  2. Bคิวรีที่ผู้ใช้รันด้วยมือ
  3. Cชนิดของดัชนีที่เร่งการค้นหา
  4. Dโค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
7.ยาก

หลัง customers LEFT JOIN orders เหตุใดจึงใช้ COUNT(o.id) แทน COUNT(*) เพื่อนับคำสั่งซื้อต่อลูกค้า?

  1. ACOUNT(*) ไม่อนุญาตหลังการเชื่อม
  2. BCOUNT(*) นับแถวที่เติม NULL เป็น 1 สำหรับลูกค้าที่ไม่มีคำสั่งซื้อ
  3. CCOUNT(o.id) นับเฉพาะลูกค้าที่ไม่ซ้ำ
  4. DCOUNT(*) ละเว้นแถวที่มีค่า NULL
8.ยาก

phantom read คืออะไร?

  1. Aคิวรีที่ไม่คืนแถวใดเลย
  2. Bคิวรีซ้ำให้แถวใหม่ที่ทรานแซกชันอื่นที่ commit แล้วแทรกเข้ามา
  3. Cการอ่านการเปลี่ยนแปลงที่ยังไม่ commit
  4. Dการอ่านข้อมูลที่ไม่เคยถูกเขียน

เฉลย

  1. 1. A · สร้างแบบจำลองเอนทิตี แอตทริบิวต์ และความสัมพันธ์เมื่อออกแบบฐานข้อมูล
  2. 2. B · UNION ALL เก็บแถวซ้ำไว้
  3. 3. A · เก็บแถวที่ country เท่ากับค่าใดค่าหนึ่งในรายการ
  4. 4. C · แถวลูกที่อ้างอิงแถวนั้นถูกลบโดยอัตโนมัติ
  5. 5. C · ทุกแถวจากตารางซ้ายและแถวที่ตรงกันจากตารางขวา โดยเป็น NULL เมื่อไม่มีแถวที่ตรงกัน
  6. 6. D · โค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
  7. 7. B · COUNT(*) นับแถวที่เติม NULL เป็น 1 สำหรับลูกค้าที่ไม่มีคำสั่งซื้อ
  8. 8. B · คิวรีซ้ำให้แถวใหม่ที่ทรานแซกชันอื่นที่ commit แล้วแทรกเข้ามา

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