ทีมเว็บต้องตัดสินใจโดยคำนึงถึงความปลอดภัย ประสิทธิภาพ และการบำรุงรักษา จึงพิจารณาว่า ในระบบเว็บแอปพลิเคชันสำหรับ 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/

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับการพัฒนาโปรแกรมระบบงานในลักษณะ Web Application

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