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

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

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

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

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

1.ง่าย

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

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

ใน PostgreSQL และ MySQL อนุประโยคใดคืนเฉพาะ 10 แถวแรกของผลลัพธ์?

  1. AMAX 10
  2. BFIRST 10 ONLY
  3. CLIMIT 10
  4. DTOP ROWS 10
3.ง่าย

คีย์นอก (foreign key) คือ:

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

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

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

ตาราง employees มีคอลัมน์ manager_id ที่อ้างอิงพนักงานอีกคน จะแสดงพนักงานแต่ละคนคู่กับชื่อผู้จัดการได้อย่างไร?

  1. Aรวมตารางกับตัวมันเองด้วย UNION ALL และตัวกรอง WHERE
  2. Bสร้างสำเนาที่สองของตารางบนดิสก์
  3. Cเชื่อมตาราง employees กับตัวเองโดยใช้ชื่อแฝงสองชื่อ
  4. Dใช้ GROUP BY manager_id อย่างเดียว
6.ปานกลาง

คอลัมน์มีค่า 10, 20 และ NULL AVG(col) คืนค่าอะไร?

  1. ANULL
  2. B15
  3. C10
  4. D30
7.ยาก

กฎการบันทึกล็อกล่วงหน้า (write-ahead logging, WAL) กำหนดอะไร?

  1. Aระเบียนล็อกของการเปลี่ยนแปลงต้องถึงที่เก็บข้อมูลเสถียรก่อนหน้าข้อมูลที่เปลี่ยน
  2. Bล็อกถูกเขียนหลังระบบล่มเท่านั้น
  3. Cหน้าข้อมูลต้องถูกเขียนก่อนล็อก
  4. Dทุกคิวรีต้องถูกบันทึกล็อกก่อนถูกแยกวิเคราะห์
8.ยาก

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

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

เฉลย

  1. 1. A · สร้างแบบจำลองเอนทิตี แอตทริบิวต์ และความสัมพันธ์เมื่อออกแบบฐานข้อมูล
  2. 2. C · LIMIT 10
  3. 3. D · คอลัมน์ที่อ้างอิงคีย์หลักของอีกตารางหนึ่ง
  4. 4. D · เพื่อเร่งการค้นหาและการเชื่อมบนคอลัมน์เหล่านั้น
  5. 5. C · เชื่อมตาราง employees กับตัวเองโดยใช้ชื่อแฝงสองชื่อ
  6. 6. B · 15
  7. 7. A · ระเบียนล็อกของการเปลี่ยนแปลงต้องถึงที่เก็บข้อมูลเสถียรก่อนหน้าข้อมูลที่เปลี่ยน
  8. 8. B · ป้องกัน cascading abort เพราะไม่มีใครอ่านการเขียนที่ยังไม่ commit ได้

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