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

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

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

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

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

1.ง่าย

คำสั่งใดลบทั้งตารางรวมทั้งโครงสร้าง?

  1. ADELETE FROM
  2. BDROP TABLE
  3. CTRUNCATE ROWS
  4. DREMOVE TABLE
2.ง่าย

คีย์หลัก (primary key) คืออะไร?

  1. Aคอลัมน์ที่มีค่าซ้ำกันได้ แต่ห้ามเป็น NULL เด็ดขาด
  2. Bรหัสผ่านของฐานข้อมูล
  3. Cคอลัมน์แรกของทุกตาราง
  4. Dคอลัมน์หรือชุดคอลัมน์ที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
3.ง่าย

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

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

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

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

เหตุใด SELECT price * 2 AS double_price FROM t WHERE double_price > 10 จึงล้มเหลวในฐานข้อมูลส่วนใหญ่?

  1. Aไม่อนุญาตให้คำนวณเลขคณิตในรายการ SELECT
  2. Bชื่อแฝงห้ามมีขีดล่าง
  3. CWHERE เปรียบเทียบได้เฉพาะคอลัมน์ข้อความ
  4. DWHERE ถูกประเมินก่อนรายการ SELECT ชื่อแฝงจึงยังไม่มี
6.ปานกลาง

เหตุใดจึงสร้างดัชนี (index) บนคอลัมน์?

  1. Aเพื่อให้การแทรกและการแก้ไขข้อมูลบนคอลัมน์เหล่านั้นเร็วขึ้น
  2. Bเพื่อป้องกันค่า NULL
  3. Cเพื่อเร่งการค้นหาและการเชื่อมบนคอลัมน์เหล่านั้น
  4. Dเพื่อประหยัดพื้นที่ดิสก์
7.ยาก

การล็อกสองระยะ (two-phase locking, 2PL) รับประกัน:

  1. Aตารางเวลาที่ conflict-serializable
  2. Bว่าไม่ต้องใช้ล็อก
  3. Cว่า deadlock ไม่มีทางเกิดขึ้น
  4. Dว่าทรานแซกชันไม่ต้องรอเลย
8.ยาก

เหตุใด DBMS จำนวนมากจึงใช้ strict two-phase locking โดยถือล็อกแบบเอกสิทธิ์จนถึง commit?

  1. Aไม่ต้องใช้ล็อกของทรานแซกชัน
  2. Bป้องกัน cascading abort เพราะไม่มีใครอ่านการเขียนที่ยังไม่ commit ได้
  3. Cทำให้ deadlock เป็นไปไม่ได้
  4. Dทำให้ทรานแซกชันอ่านข้อมูล dirty ได้อย่างปลอดภัย

เฉลย

  1. 1. B · DROP TABLE
  2. 2. D · คอลัมน์หรือชุดคอลัมน์ที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
  3. 3. B · เฉพาะแถวที่มีค่าตรงกันในทั้งสองตาราง
  4. 4. A · โค้ดที่ทำงานอัตโนมัติเมื่อเกิดเหตุการณ์ที่กำหนด เช่น INSERT, UPDATE หรือ DELETE บนตาราง
  5. 5. D · WHERE ถูกประเมินก่อนรายการ SELECT ชื่อแฝงจึงยังไม่มี
  6. 6. C · เพื่อเร่งการค้นหาและการเชื่อมบนคอลัมน์เหล่านั้น
  7. 7. A · ตารางเวลาที่ conflict-serializable
  8. 8. B · ป้องกัน cascading abort เพราะไม่มีใครอ่านการเขียนที่ยังไม่ commit ได้

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