ทีมเว็บต้องตัดสินใจโดยคำนึงถึงความปลอดภัย ประสิทธิภาพ และการบำรุงรักษา จึงพิจารณาว่า ในระบบเว็บแอปพลิเคชันสำหรับ E-Commerce ที่มีการสั่งซื้อสินค้า นักพัฒนาต้องการให้การหักเงินและการลดจำนวนสินค้าในคลังเกิดขึ้นพร้อมกัน หากขั้นตอนใดขั้นตอนหนึ่งล้มเหลว ควรยกเลิกทั้งหมด ควรใช้หลักการใด
กเขียน Error Handling ใน JavaScript ฝั่งไคลเอนต์เพื่อจัดการกรณีล้มเหลว
ขใช้ Trigger ในฐานข้อมูลเพื่อตรวจสอบทุก Query อัตโนมัติ
คใช้ Stored Procedure ที่ทำงานช้าลงเพื่อให้แต่ละ Query เสร็จก่อน
งใช้ Database Transaction เพื่อให้แน่ใจว่าทุกขั้นตอน Commit หรือ Rollback พร้อมกัน
เฉลยอธิบาย
Database Transaction ตามหลัก ACID (Atomicity, Consistency, Isolation, Durability) รับประกันว่าชุดคำสั่ง SQL จะทำงานครบทั้งหมด (Commit) หรือยกเลิกทั้งหมด (Rollback) เหมาะสำหรับกรณีที่ต้องการความสมบูรณ์ของข้อมูล ส่วน A Trigger ไม่รับประกัน Atomicity, C Error Handling ฝั่งไคลเอนต์ไม่เพียงพอเพราะ Database อาจไม่ได้รับการ Rollback, D Stored Procedure ช่วยได้แต่ไม่ใช่หลักการที่ตรงจุด ฐานความปลอดภัยปัจจุบัน: OWASP Top 10:2025 — https://owasp.org/Top10/