นาย ณัฐพล กรงเงิน รหัสนักศึกษา 544244062
วิชา COMP331 ระบบการจัดการฐานข้อมูล
สาขาวิชา วิทยาการคอมพิวเตอร์ กลุ่ม 2
ชื่องาน คำถามท้ายบทที่ 2 ข้อ 5
คำถาม
จากตัวอย่างที่นำมาตอบในข้อ 4 แบบใดเป็น การทำงานเป็นเหมือนต่อเนื่อง และแบบใดไม่เป็นการทำงานเป็นเหมือนต่อเนื่อง
คำตอบ
แบบที่ 1
| ถอนเงิน (T1) | ฝากเงิน (T2) | acc |
| begin_transaction | 500 | |
| read(acc) | ||
| acc = acc + 200 | ||
| begin_transaction | ||
| write(acc) | 700 | |
| read(acc) | ||
| rollback | 500 | |
| acc = acc - 150 | ||
| write(acc) | 550 | |
| commit |
แบบที่ 1 ไม่เป็นการทำงานเป็นเหมือนต่อเนื่อง เพราะข้อมูลของ T2 ไม่ได้รับการยืนยันข้อมูล เมื่อมีการเปลี่ยนแปลง T1 ใช้ข้อมูลจาก T2 ที่อ่านได้ ก่อน rollback การทำงานจึงไม่สมบูรณ์
แบบที่ 2
| T1 | T2 | acc |
| begin_transaction | 500 | |
| begin_transaction | ||
| read(acc) | ||
| read(acc) | ||
| acc = acc + 300 | ||
| acc = acc - 100 | ||
| write(acc) | 800 | |
| write(acc) | 700 | |
| commit | ||
| commit |
แบบที่ 2 เป็นการทำงานเป็นเหมือนต่อเนื่อง เพราะ ลำดับการทำงาน การยืยนยันข้อมูล และข้อมูลย้อนกลับมีความสัมพันธ์กัน และมีความถูกต้อง

ไม่มีความคิดเห็น:
แสดงความคิดเห็น