Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

Transaction ในฐานข้อมูล: ความหมาย กระบวนการ Read/Write


Transaction (ธุรกรรม) ประกอบด้วยชุดคำสั่งที่รันในฐานข้อมูล แต่ละคำสั่งเป็น Atomic (ไม่สามารถแบ่งย่อยได้) คำสั่งใดก็ตามอาจเปลี่ยนหรือไม่เปลี่ยนโครงสร้างฐานข้อมูล การเปลี่ยนแปลงที่ Transaction ต้องการ ต้องทำร่วมกัน (All-or-Nothing) ถ้าไม่ทำเช่นนี้ ข้อมูลอาจหายถ้าระบบล้ม ไฟดับ หรือเหตุผลอื่น

ตัวอย่างง่าย

Harry โอนเงิน 100 บาทจากบัญชีตัวเองไปที่ Sally เป็น Transaction: อ่านบัญชี Harry ลดยอด 100 บันทึกกลับ อ่านบัญชี Sally เพิ่มยอด 100 บันทึกกลับ

Transaction ในฐานข้อมูล: ความหมาย กระบวนการ Read/Write

แต่ถ้าระบบ Crash หลังถอนเงินจาก Harry แล้ว ก่อนฝากให้ Sally เงินจะหาย และบัญชี Sally ไม่ได้รับอัปเดต

กระบวนการของ Transaction

Transaction ประกอบด้วย Read และ Write Operations ใช้เพื่ออ่านค่าปัจจุบันของออบเจ็กต์ และเขียนค่าที่อัปเดตแล้วกลับไปหลังคำนวณ

Read Operation

อ่านออบเจ็กต์ฐานข้อมูล: นำจาก Disk เข้า Main Memory แล้วคัดลอกค่าไปยัง Variable ที่ต้องการ

Transaction ในฐานข้อมูล: ความหมาย กระบวนการ Read/Write

Write Operation

เขียนออบเจ็กต์ฐานข้อมูล: บันทึกค่าใน Memory แล้วเก็บกลับลง Disk

Transaction ในฐานข้อมูล: ความหมาย กระบวนการ Read/Write