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

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

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

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

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

1.ง่าย

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

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

คีย์ผู้สมัคร (candidate key) คืออะไร?

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

ข้อจำกัด UNIQUE บนคอลัมน์รับประกันอะไร?

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

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

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

ตารางเก็บที่อยู่ของลูกค้าในทุกแถวคำสั่งซื้อ การเปลี่ยนที่อยู่ในแถวหนึ่งแต่ไม่เปลี่ยนในแถวอื่นเป็นตัวอย่างของ:

  1. Aความผิดปกติในการแทรก (insertion anomaly)
  2. Bความผิดปกติในการแก้ไข (update anomaly)
  3. Cphantom read
  4. Dความผิดปกติในการลบ (deletion anomaly)
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.ยาก

มีดัชนีประกอบบน (last_name, first_name) เงื่อนไขใดใช้ดัชนีนี้ได้อย่างมีประสิทธิภาพที่สุด?

  1. AWHERE first_name LIKE '%a'
  2. BWHERE first_name = 'Eva'
  3. CWHERE last_name = 'Jansen'
  4. DWHERE UPPER(first_name) = 'EVA'

เฉลย

  1. 1. A · ทุกชุดค่าผสมของแถวจากสองตาราง
  2. 2. D · ชุดคอลัมน์ที่เล็กที่สุดที่ระบุแต่ละแถวได้อย่างไม่ซ้ำกัน
  3. 3. A · ไม่มีสองแถวใดมีค่าที่ไม่ใช่ NULL เหมือนกันในคอลัมน์นั้น
  4. 4. B · แถวลูกที่อ้างอิงแถวนั้นถูกลบโดยอัตโนมัติ
  5. 5. B · ความผิดปกติในการแก้ไข (update anomaly)
  6. 6. C · เพื่อเร่งการค้นหาและการเชื่อมบนคอลัมน์เหล่านั้น
  7. 7. A · ตารางเวลาที่ conflict-serializable
  8. 8. C · WHERE last_name = 'Jansen'

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