เมื่อฐานข้อมูลต้องรองรับผู้ใช้จำนวนมากพร้อมกันและมีการแก้ไขข้อมูลพร้อมกันหลายครั้ง การที่สองธุรกรรมอ่านข้อมูลเดียวกันแล้วได้ค่าต่างกัน (Dirty Read) เป็นปัญหาเกี่ยวกับระดับการแยกแยะแบบใด?
กRead Committed เพราะอนุญาตให้อ่านได้เฉพาะค่าที่ธุรกรรมอื่น commit แล้ว
ขRead Uncommitted เพราะยอมให้ธุรกรรมอ่านการเปลี่ยนแปลงที่ยังไม่ commit
คRepeatable Read เพราะรักษาค่าที่อ่านแล้วให้คงเดิมตลอดธุรกรรมเดียวกัน
งSerializable เพราะทำให้ผลของธุรกรรมพร้อมกันเทียบได้กับการทำงานตามลำดับ
เฉลยอธิบาย
Read Uncommitted ตามมาตรฐานเป็นระดับที่อาจยอมให้ dirty read ส่วนระดับสูงกว่าป้องกันปรากฏการณ์นี้ ดังนั้นคำตอบที่เหมาะที่สุดคือ “Read Uncommitted เพราะยอมให้ธุรกรรมอ่านการเปลี่ยนแปลงที่ยังไม่ commit” ส่วนตัวลวงที่ใกล้เคียงที่สุดไม่ผ่านเพราะ Read Committed ป้องกัน dirty read ด้วยการไม่เปิดเผยค่าที่ยังไม่ commit