บริษัทแห่งหนึ่งมีระบบที่ Stored Procedure ในฐานข้อมูลเก็บตรรกะธุรกิจทั้งหมด แต่นักพัฒนาใหม่บ่นว่าดูแลรักษายาก ปัญหานี้เกิดจากสิ่งใด

ปัญหาเกิดจากนักพัฒนาใหม่ขาดทักษะ SQL
การใช้ Stored Procedure ไม่ถูกต้อง ควรใช้ View แทน
การรวม Business Logic ไว้ใน Database Layer ทำให้ผิดหลัก Separation of Concerns
ระบบควรใช้ NoSQL Database เพื่อหลีกเลี่ยงปัญหา

เฉลยอธิบาย

หลัก Separation of Concerns กำหนดให้แต่ละชั้น (Layer) ของระบบรับผิดชอบงานเฉพาะของตน Business Logic ควรอยู่ใน Application Layer ไม่ใช่ Database Layer การรวม Business Logic ใน Stored Procedure ทำให้ดูแลรักษายาก ทดสอบยาก และขยายระบบยาก ตัวเลือก A View ใช้สำหรับแสดงข้อมูลไม่ใช่ธุรกิจ Logic ตัวเลือก C การเปลี่ยน Database ไม่แก้ปัญหาหลัก ตัวเลือก D โทษนักพัฒนาไม่ใช่การวิเคราะห์ปัญหาที่แท้จริง

ข้อสอบอื่นในวิชาการวิเคราะห์ระบบ ออกแบบฐานข้อมูลและการพัฒนาระบบสารสนเทศ

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