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

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

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

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

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

1.ง่าย

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

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

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

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

คำสั่ง SQL ใดเพิ่มแถวใหม่ลงในตาราง?

  1. AINSERT
  2. BUPDATE
  3. CALTER
  4. DSELECT
4.ปานกลาง

คิวรีใดคืนจำนวนเมืองที่ต่างกันในตาราง customers?

  1. ASELECT COUNT(city) FROM customers GROUP BY city
  2. BSELECT DISTINCT COUNT(city) FROM customers
  3. CSELECT COUNT(DISTINCT city) FROM customers
  4. DSELECT SUM(DISTINCT city) FROM customers
5.ปานกลาง

SQL injection คืออะไร?

  1. Aเทคนิคการสำรองฐานข้อมูล
  2. Bเทคนิคแทรกหลายแถวอย่างรวดเร็วด้วยคำสั่ง INSERT เพียงคำสั่งเดียว
  3. Cวิธีเพิ่มดัชนี
  4. Dการโจมตีที่ข้อมูลที่ผู้ใช้ป้อนเปลี่ยนโครงสร้างของคิวรี SQL
6.ปานกลาง

ตารางมีแถวที่ col เป็น NULL แถวใดที่ WHERE col = NULL คืนมา?

  1. Aไม่มีแถวเลย เพราะการเปรียบเทียบให้ผลไม่ทราบค่า
  2. Bข้อผิดพลาดในทุกฐานข้อมูล
  3. Cเฉพาะแถวที่ col เป็น NULL เช่นเดียวกับ IS NULL
  4. Dทุกแถวของตาราง
7.ยาก

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

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

ทรานแซกชัน T1 ล็อกแถว A และรอแถว B ขณะที่ T2 ล็อกแถว B และรอแถว A DBMS ทั่วไปทำอย่างไร?

  1. Aตรวจพบ deadlock และยกเลิกทรานแซกชันหนึ่งเป็นผู้เสียสละ
  2. Bcommit ทั้งสองทรานแซกชันพร้อมกัน
  3. Cปล่อยให้ทั้งสองทรานแซกชันรอจนกว่าหนึ่งในนั้นจะคอมมิตตามปกติ
  4. Dรวมสองทรานแซกชันเป็นหนึ่ง

เฉลย

  1. 1. B · คอลัมน์ที่อ้างอิงคีย์หลักของอีกตารางหนึ่ง
  2. 2. B · ไม่มีสองแถวใดมีค่าที่ไม่ใช่ NULL เหมือนกันในคอลัมน์นั้น
  3. 3. A · INSERT
  4. 4. C · SELECT COUNT(DISTINCT city) FROM customers
  5. 5. D · การโจมตีที่ข้อมูลที่ผู้ใช้ป้อนเปลี่ยนโครงสร้างของคิวรี SQL
  6. 6. A · ไม่มีแถวเลย เพราะการเปรียบเทียบให้ผลไม่ทราบค่า
  7. 7. B · CTE แบบเรียกซ้ำ (WITH RECURSIVE)
  8. 8. A · ตรวจพบ deadlock และยกเลิกทรานแซกชันหนึ่งเป็นผู้เสียสละ

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