กรณีวิเคราะห์ฐานข้อมูล 6ba5a08dd94f418be7510817eece83d2a3776064dc5987582e5aabd010b990c3: เมื่อออกแบบหรือแก้ไขระบบ ควรคำนึงถึงความถูกต้อง ความปลอดภัย และผลกระทบ ข้อใดถูกต้องเกี่ยวกับ ในระหว่างการทำธุรกรรม (Transaction) การโอนเงินจากบัญชีหนึ่งไปยังบัญชีอื่น หากเกิดข้อผิดพลาดหลังจากหักเงินแต่ยังไม่ได้บวกเงิน ควรจัดการอย่างไรตามหลักการ ACID?

โอนเงินไปตามปกติเพราะการหักเงินสำเร็จแล้ว
เก็บการหักเงินไว้ก่อน และรอให้ผู้ดูแลระบบแก้ไขการบวกเงินเมื่อมีเวลา
ยกเลิกรายการทั้งหมด (Rollback) เพื่อให้ฐานข้อมูลกลับไปในสถานะเดิม ตามหลักการ Atomicity
แสดงข้อความแจ้งความผิดพลาดให้ผู้ใช้ และให้ผู้ใช้ลองทำรายการใหม่

เฉลยอธิบาย

หลักการ Atomicity หมายถึง ธุรกรรมจะต้องสำเร็จ (Commit) ทั้งหมด หรือจะต้องถูกยกเลิก (Rollback) ทั้งหมด ไม่สามารถบางส่วนสำเร็จบางส่วนล้มเหลว ดังนั้นหากเกิดข้อผิดพลาดในระหว่างธุรกรรมควรยกเลิกรายการทั้งหมด เพื่อไม่ให้ข้อมูลไม่สอดคล้องกัน ตัวเลือก B จะเสี่ยงต่อการสูญหายเงิน ตัวเลือก C ละเมิดหลักการ Atomicity และตัวเลือก D ไม่ได้แก้ปัญหาที่เกิดขึ้น

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับระบบฐานข้อมูล (Database System) และ ระบบการบริหารจัดการข้อมูล (Database Management System)

ดูข้อสอบวิชานี้ทั้งหมด →