SlideShare a Scribd company logo
1 of 11
หน่วยที่ 7
ปัญหาในการใช้ระบบฐานข้อมูลและการแก้ปัญหา
การเกิดภาวการณ์เรียกใช้ข้อมูลพร้อมกันมักเกิดขึ้นได้เสมอในระบบฐานข้อมูล เนื่องจากการที่มี
ผู้ใช้หลายคนเรียกใช้ข้อมูลพร้อมๆกัน นับเป็นปัญหาสาคัญในการใช้ฐานข้อมูล เมื่อต้องมีการปรับปรุงข้อ
มูลค่าใดค่าหนึ่งให้ถูกต้อง จะต้องกระทาให้เสร็จสิ้นก่อนที่ข้อมูลค่านั้นๆ จะถูกเรียกใช้โดยผู้ใช้คนอื่นๆ เมื่อ
เกิดภาวการณ์เรียกใช้ข้อมูลพร้อมกัน จะทาให้ผู้ใช้คนอื่นๆ ได้ข้อมูลที่มีค่าไม่ถูกต้องไป สิ่งสาคัญจึงอยู่ที่
เรื่องของข้อมูล ไม่ว่าจะเป็นข้อมูลในหน่วยความจาหลัก ซึ่งกาลังประมวลอยู่ หรือจะเป็นข้อมูลใน
หน่วยความจาสารองก็ตาม หากระบบคอมพิวเตอร์เกิดความขัดข้องขึ้น ก็อาจมีผลกระทบถึงข้อมูลได้จาเป็น
ที่ต้องทาซ้าใหม่ หรืออาจต้องทาการกู้ (Recovery) เพื่อให้ข้อมูลอยู่ในสภาพถูกต้องใช้งานได้ เนื้อหาใน
หน่วยนี้กล่าวถึงเรื่องของรายการที่เกิดการกู้และการเกิดภาวะพร้อมกัน
รายการ (Transaction)
รายการ หมายถึง ชุดของคาสั่งที่จัดการกับข้อมูลในฐานข้อมูลในลักษณะต่างๆ เช่น การอ่าน
ข้อมูล การเขียนข้อมูล การปรับปรุงข้อมูล (เพิ่ม,ลบ,แก้ไข) ซึ่งเมื่อชุดคาสั่งเหล่านั้นทางานเสร็จเรียบร้อย
แล้ว จะทาให้ข้อมูลในฐานข้อมูลอยู่ในสภาพที่ถูกต้อง
ตัวอย่างเช่น ถ้าต้องการปรับปรุงข้อมูล จานวนสั่งสินค้าในรีเลชัน ORDERING ในรายการ
สินค้า P-402 จากจานวนสั่งเดิม 60 ชิ้น สั่งเพิ่มอีก 40 ชิ้น สามาแสดงได้คาสั่ง SQL
จากตัวอย่างในรูปที่ 7.1 คาสั่ง COMMIT เป็นการบอกว่ารายการปรับปรุงนั้นเสร็จสิ้นสมบูรณ์ แต่
หากมีปัญหาเกิด ก็จะทาให้รายการนั้นๆ กลับไปสู่จัดเริ่มต้น (Rollback) ทาให้ข้อมูลกลับคืนเป็นค่าเดิมก่อนที่
จะมีการปรับปรุง
การเกิดภาวะขัดข้อง (Transaction Fail)
รายการใดๆ ที่ถูกส่งเข้าประมวลผลอาจเกิดความขัดข้อง (Transaction Fail) ขึ้นได้เนื่องจากสาเหตุ
หลายประการ ได้แก่
ระบบเกิดความขัดข้อง (System Failure)
เป็นความขัดข้องที่เกิดในขณะที่รายหนึ่งๆ กาลังถูกกระทา ทาให้มีผลต่อข้อมูลที่เก็บอยู่ใน
หน่วยความจาหลัก แต่ไม่มีผลต่อข้อมูลที่เก็บอยู่ในระบบฐานข้อมูล
ความผิดพลาดของสื่อบันทึกข้อมูล (Media Failure)
เป็นความผิดพลาดที่เกิดจากสื่อบันทึกข้อมูล เช่น Disk อาจเกิดความเสียหาย ทาให้ข้อมูลสูญ
หายไปด้วย ความผิดพลาดประเภทนี้จึงอาจทาให้ข้อมูลในฐานข้อมูลเสียหายได้
จากภาวะขัดข้องทั้ง 2 ลักษณะ ที่อาจเกิดขึ้นได้ในระบบ จึงต้องมีการกู้ (Recovery) รายการที่เกิด
ความขัดข้อง โดยระบบจะต้องสามารถตรวจสอบได้ว่า ข้อมูลของรายการที่ถูกกระทานั้นได้ถูกบันทึกลงใน
ฐานข้อมูลแล้วหรือยัง ส่วนรายการที่ถูกบันทึกลงในฐานข้อมูลแล้วถือว่ารายการนั้นถูกกระทาจนเสร็จ
สมบูรณ์แล้ว ส่วนรายการที่ยังไม่ได้ถูกบันทึกข้อมูลรายการนั้นๆ การที่ระบบจะทราบข้อขัดข้องที่เกิดขึ้นเพื่อ
แก้ปัญหานั้น สามารถทาได้โดยใช้ระบบการลงบันทึก (System Log) ซึ่งจะบันทึกการทางานของทุกรายการที่
มีผลต่อข้อมูลในฐานข้อมูล
ระบบการลงบันทึก (System Log)
ระบบการลงบันทึกรายการ จะเป็นระบบที่ทาการบันทึกค่าของข้อมูลทั้งก่อนและหลังการแก้ไขลง
ใน Log File หรือJournal การลงบันทึกจะเริ่มเมื่อมีการกระทาเกิดขึ้นกับรายการ และจะบันทึกรายการที่มีผล
ต่อการเปลี่ยนแปลงข้อมูลในฐานข้อมูล จึงอ่านค่าใหม่เพื่อบันทึกลงในฐานข้อมูล ณ จุดนั้นถือได้ว่ารายการ
นั้นได้ถูกกระทาจนเสร็จสมบูรณ์แล้ว (Commit)
การใช้เทคนิคของจุดตรวจสอบ (Check Point) ซึ่งระบบจะกาหนดช่วงเวลาที่จะทาจุดตรวจสอบ
ขึ้น เพื่อบันทึกข้อมูลลงในฐานข้อมูล และบันทึกเวลาของจุดตรวจสอบลงใน Log File หากรายการใดทาเสร็จ
ก่อน ถึงจุดตรวจสอบแล้วเกิดความผิดพลาดของระบบ รายการนั้นจะไม่จาเป็นต้องทาใหม่ (Redo) รายการใด
ที่ยังทาไม่เสร็จ แต่ระบบเกิดขัดข้องรายการนั้นจะต้องถูกยกเลิก (Undo) ส่วนรายการที่ต้องทาใหม่ ก็คือ
รายการที่ยังทาไม่เสร็จ ขณะที่มีการบันทึกรายการที่ผ่านจุดตรวจสอบ แต่รายการนั้นได้ถูกทาเสร็จก่อนที่
ระบบเกิดความขัดข้องขึ้น
รูปที่ 7.2 แสดงรายการเปลี่ยนแปลงในช่วงเวลาที่ทาการตรวจสอบ
จากรูปที่ 7.2 จะเห็นได้ว่า
1. รายการ T1 ได้ถูกกระทาเสร็จสมบูรณ์ก่อนถึงจุดตรวจสอบ
2. รายการ T2 เกิดขึ้นก่อนจุดตรวจสอบ และเสร็จสิ้นก่อนระบบเกิดความขัดข้อง
3. รายการ T3 เกิดขึ้นก่อนจุดตรวจสอบและยังทาไม่เสร็จ เมื่อระบบเกิดความขัดข้อง
4. รายการ T4 เกิดขึ้นหลังจุดตรวจสอบ และเสร็จสิ้นก่อนระบบเกิดความขัดข้อง
5. รายการ T5 เกิดขึ้นหลังจุกตรวจสอบ และยังทาไม่สาเสร็จ เมื่อระบบเกิดความขัดข้อง หากพบ
รายการลักษณะนี้เกิดขึ้นจึงควรพิจารณาดังนี้
5.1 รายการ T1 จะไม่ต้องทาใหม่ เพราะได้บันทึกรายการเปลี่ยนแปลงลงในฐานข้อมูล
เรียบร้อยแล้ว
5.2 รายการ T2 และ T4 จะต้องทาซ้าใหม่ (Redo)
5.3 รายการ T3 และ T5 และต้องยกเลิก (Undo) และกลับเป็นค่าเริ่มต้น เพราะรายการ
ทั้งสองยังทาไม่เสร็จการ
การกู้ (Recovery)
ดังกล่าวแล้วว่า การเกิดภาวะขัดข้องนั้นอาจเนื่องมาจากสาเหตุ ที่ระบบเกิดความขัดข้องหรืออาจ
เกิดจากสาเหตุความผิดพลาดของสื่อบันทึกข้อมูล ซึ่งการกู้ข้อมูลที่เกิดสาเหตุภาวะขัดข้องที่ต่างกัน ก็จะใช้
วิธีการแก้ไขปัญหาที่ต่างกันด้วย ในหัวข้อนี้จะกล่าวถึง ชนิดของการกู้ได้แก่
1. การกู้ที่เกิดจากระบบเกิดความขัดข้อง (System Recovery)
เป็นความขัดข้องที่มีผลต่อข้อมูลที่อยู่ในหน่วยความจาขณะที่มีการประมวลผล วิธีที่จะนามาใช้
ในการกู้ก็คือการนามาใช้ในการกู้ ก็คือ การนาระบบการลงบันทึกดังกล่าวข้างต้นมาใช้
2. การกู้ที่เกิดจากความผิดพลาดของสื่อบันทึก (Media Recovery)
เป็นความขัดข้องที่มีผลทาให้ข้อมูลบนสื่อบันทึกเสียหายหรือถูกทาลาย วิธีที่จะนามาใช้ในการกู้
ก็คือ การทาการสารองข้อมูล (Backup) ไว้เป็นระยะๆ เมื่อเกิดความขัดข้องกับสื่อบันทึกข้อมูลที่ใช้งานอยู่ ก็
จะนาฐานข้อมูลสารองที่ทาไว้ล่าสุด มาถ่ายลงในสื่อบันทึกชุดใหม่และใช้ระบบการลงบันทึกมาช่วยเพื่อ
พิจารณารายการที่ต้องใหม่ ซึ่งเกิดหลังจากการทาการสารองข้อมูลครั้งสุดท้ายไว้
การเกิดภาวะพร้อมกัน (Concurrency)
ในระบบฐานขอมูลที่ใช้กัน มักจะเป็นระบบที่ผู้ใช้หลาย ๆ คน สามารถใช้ข้อมูลพร้อมกันได้ใน
เวลาเดียวกัน ปัญหาจึงมาจากการที่ผู้ใช้หลาย ๆ คน มีการเรียกใช้ข้อมูลชุดเดียวกันในเวลาพร้อม ๆ กัน จึง
ทาให้เกิดภาวะพร้อมกัน และหากไม่มีการควบคุมที่ดี ก็จะทาให้เกิดปัญหาตามมาได้แก่
1ปัญหาข้อมูลไม่ได้ถูกแก้ไขให้ถูกต้อง
สมมติให้มีการเปลี่ยนแปลง 2 รายการ คือ C1 และ C2 ที่จะไปทาการแก้ไขข้อมูลชุดเดียวกัน คือ
ข้อมูล N ดังรูป
จากรูปข้างต้นรายการ C1 จะเริ่มทางานก่อน แต่ยังแก้ไขข้อมูล N ไม่เสร็จ รายการ C2 เริ่มทาแทรก
เข้ามา ข้อมูล N จะต้องถูกอ่านเข้ามาก่อนจึงทาการแก้ไขได้ที่ถูกต้องแล้ว รายการ C1 เกิดขึ้นก่อนรายการ C2
จึงควรนาผลหลังจากรายการ C1 ได้ทาการแก้ไขแล้ว มาทาการแก้ไขต่อ
เพื่อให้ชัดเจนขึ้น จะขอสมมติค่าให้ N มีค่าเท่ากับ 10 และ C1 มีค่าเท่ากับ 2 ส่วน C2 มีค่า
เท่ากับ 4 ถ้าระบบดังกล่าวทางานถูกต้อง ก็ควรให้ค่า N เป็น 16
แต่จากรูป 7.3 รายการ C1 จะอ่านค่า N เท่ากับ 10 ไปเก็บที่บัฟเฟอร์ แล้วรายการ C2 ก็อ่านค่า
N ซึ่งเท่ากับ 10 เช่นเดียวกัน รายการ C1 จะเปลี่ยนแปลงค่า N เป็น 10+2=12 และรายการ C2 ก็จะปลี่ยน
แปลงค่า N เป็น 10+4 =14 ทาให้สรุปค่า N เท่ากับ 14 แทนที่ N จะมีค่าเท่ากับ 16
2. ปัญหาการแก้ไขข้อมูลยังไม่ได้มีการ Commit
ปัญหานี้เกิดจากการที่ระบบทาการปรับปรุงข้อมูลของรายการหนึ่งยังไม่เสร็จสมบูรณ์ต้องทา
การย้อนกลับ (Rollback) ข้อมูลนั้นจึงยังคงเป็นค่าเดิม แต่ยอมให้รายการเปลี่ยนแปลงอีกรายการหนึ่ง มา
เรียกข้อมูลนั้นไปใช้จึงทาให้ได้รับข้อมูลที่มีค่าไม่ถูกต้องไปใช้งาน
3. ปัญหาการได้ผลลัพธ์ที่ขัดแย้งกับความเป็นจริง
ปัญหานี้เกิดจากการที่มีรายการถูกส่งเข้าประมวลผลพร้อมๆ กัน โดยการประมวลผลค่าของ
รายการหนึ่งยังไม่ได้ถูกต้อง ขณะเดียวกันก็มีรายการอื่นมาเรียกใช้ข้อมูลค่านั้น ระบบก็จะนาเอาค่าที่ยัง
ไม่ได้ถูกปรับไปใช้ทาให้ผลที่ได้จากการประมวลผลขัดแย้งกับความเป็นจริง
จึงเป็นหน้าที่ของระบบจัดการฐานข้อมูล ที่จะต้องควบคุมการเกิดภาวะพร้อมกัน เพื่อมิให้เกิด
ปัญหาต่างๆ ดังกล่าวมาข้างต้น
เทคนิคการปิดกั้น (Lock Technique)
จากที่กล่าวมาข้างต้น คงจะทาให้พอเห็นถึงปัญหาของการเกิดภาวะพร้อมกัน อันเนื่องมาจากการ
ที่ผู้ใช้หลายคนเรียกใช้ข้อมูลพร้อมๆ กัน โดยที่ข้อมูลรายการนั้นๆ อยู่ระหว่างการปรับปรุงค่าและยังทาไม่
เสร็จ ทาให้ผู้ใช้คนอื่นได้ค่าที่ไม่ถูกต้องไปใช้งาน
วิธีแก้ปัญหาสามารถทาได้โดยใช้เทคนิคการปิดกั้น (Lock Technique) ซึ่งจะกล่าวรายละเอียด
ดังต่อไปนี้
ชนิดของการปิดกั้น มี 2 ชนิด คือ
1.การปิดกั้นเฉพาะ (Exclusive Lock)
เป็นการปิดกั้นที่ผู้ใช้คนหนึ่งทาการปิดกั้นแบบเฉพาะ เมื่อต้องการปรับปรุงข้อมูลจนกว่าจะ
ปล่อยการปิดกั้น ผู้ใช้คนอื่นจึงสามารถปรับปรุงแก้ไขรายการนั้นได้
2.การปิดกั้นแบบร่วม (Shared Lock)
เป็นการปิดกั้นที่ผู้ใช้หลายๆ คน จะสามารถอ่านรายการใดรายการหนึ่งร่วมกันได้แต่แก้ไขไม่ได้
โดยปกติระบบจัดการฐานข้อมูล จะทาการปิดกั้นรายการโดยอัตโนมัติ เมื่อเริ่มมีการ
เปลี่ยนแปลงข้อมูลรายการนั้นๆ เพื่อป้องกันไม่ได้รายการอื่นแทรกเข้ามา จนกว่ารายการเปลี่ยนแปลงนั้น
จะเสร็จสิ้นสมบูรณ์ (Commit) หรือทาการย้อนกลับ (Rollback) ไปเป็นค่าเดิม โดยถ้าเป็นกาเรียกดูข้อมูล ก็
จะทาการปิดกั้นแบบร่วม แต่ถ้าเป็นการแก้ไขข้อมูลก็จะทาการปิดกั้นแบบเฉพาะ ดังนั้นถ้าในการ
เปลี่ยนแปลงข้อมูล ซึ่งจะต้องเริ่มด้วยการอ่านข้อมูลเข้ามา แล้วทาการปรับปรุงเปลี่ยนแปลงค่า จึงต้องมีการ
ปิดกั้นเป็น 2 ช่วง คือ ขณะที่อ่านข้อมูลเข้ามาจะปิดกั้นแบบเฉพาะ
ด้วยเทคนิคการปิดกั้นดังได้กล่าวมา จึงช่วยแก้ไขปัญหาของการเกิดภาวะพร้อมกันได้แต่ปัญหา
ตามมาที่อาจเกิดจากการใช้เทคนิคปิดกั้น ก็คือ การติดตายของรายการ (Deadlock)ซึ่งเกิดจากการที่มี
รายการตั้งแต่ 2 รายการขึ้นไปต่างหยุดรอซึ่งกันและกัน จนทาให้ไม่สามารถทางานต่อไปได้ระบบจึงต้อง
ตรวจสอบให้พบและดาเนินการแก้ไข โดยเลือกรายการใดรายการหนึ่งให้ปล่อยการปิดกั้น เพื่อให้รายการ
อื่นทางานต่อไป ส่วนรายการที่ปล่อยการปิดกั้นนั้นก็จะต้องทาการย้อนกลับด้วย

More Related Content

What's hot

หนังสือเชิญ สัมมนา
หนังสือเชิญ สัมมนาหนังสือเชิญ สัมมนา
หนังสือเชิญ สัมมนาBundit Umaharakham
 
ลม ฟ้า อากาศ
ลม ฟ้า อากาศลม ฟ้า อากาศ
ลม ฟ้า อากาศPatzuri Orz
 
บทที่ 13 การสังเคราะห์ด้วยแสง
บทที่ 13 การสังเคราะห์ด้วยแสงบทที่ 13 การสังเคราะห์ด้วยแสง
บทที่ 13 การสังเคราะห์ด้วยแสงฟลุ๊ค ลำพูน
 
สมุดเล่มเล็ก
สมุดเล่มเล็กสมุดเล่มเล็ก
สมุดเล่มเล็กSaowalak Kaewket
 
อาณาจักรโพรติสตา Protista-kingdom
อาณาจักรโพรติสตา Protista-kingdomอาณาจักรโพรติสตา Protista-kingdom
อาณาจักรโพรติสตา Protista-kingdomPl'nice Destiny
 
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพบทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพOrnkapat Bualom
 
บทที่ 6 ดาวฤกษ์
บทที่ 6 ดาวฤกษ์บทที่ 6 ดาวฤกษ์
บทที่ 6 ดาวฤกษ์Ta Lattapol
 
การถ่ายโอนความร้อน ม.1
การถ่ายโอนความร้อน ม.1การถ่ายโอนความร้อน ม.1
การถ่ายโอนความร้อน ม.1Wuttipong Tubkrathok
 
ชุดกิจกรรมการเรียนรู้วิทยาศาสตร์ เรื่อง สารและการจำแนกสาร ชุดที่ 1 สสารและสาร
ชุดกิจกรรมการเรียนรู้วิทยาศาสตร์ เรื่อง สารและการจำแนกสาร ชุดที่ 1 สสารและสารชุดกิจกรรมการเรียนรู้วิทยาศาสตร์ เรื่อง สารและการจำแนกสาร ชุดที่ 1 สสารและสาร
ชุดกิจกรรมการเรียนรู้วิทยาศาสตร์ เรื่อง สารและการจำแนกสาร ชุดที่ 1 สสารและสารKetsarin Prommajun
 
การบริหารลูกหนี้ การบริหารสินค้า
การบริหารลูกหนี้ การบริหารสินค้าการบริหารลูกหนี้ การบริหารสินค้า
การบริหารลูกหนี้ การบริหารสินค้าtumetr1
 
Pat2 มีนาคม 2553
Pat2 มีนาคม 2553Pat2 มีนาคม 2553
Pat2 มีนาคม 2553Gitniphat Prom
 
แบบฝึกหัดที่ 2 เซลล์พืช และเซลล์สัตว์
แบบฝึกหัดที่ 2 เซลล์พืช และเซลล์สัตว์แบบฝึกหัดที่ 2 เซลล์พืช และเซลล์สัตว์
แบบฝึกหัดที่ 2 เซลล์พืช และเซลล์สัตว์Wann Rattiya
 
การตั้งสมมติฐานและการกำหนดตัวแปร
การตั้งสมมติฐานและการกำหนดตัวแปรการตั้งสมมติฐานและการกำหนดตัวแปร
การตั้งสมมติฐานและการกำหนดตัวแปรDuangdenSandee
 
สมบัติบางประการของสารละลาย
สมบัติบางประการของสารละลายสมบัติบางประการของสารละลาย
สมบัติบางประการของสารละลายพัน พัน
 
วัฏจักรน้ำ
วัฏจักรน้ำวัฏจักรน้ำ
วัฏจักรน้ำsavokclash
 
แนวคิด ทฤษฎีการเรียนรู้ร่วมสมัย
แนวคิด ทฤษฎีการเรียนรู้ร่วมสมัยแนวคิด ทฤษฎีการเรียนรู้ร่วมสมัย
แนวคิด ทฤษฎีการเรียนรู้ร่วมสมัยkhanidthakpt
 
เครื่องสำอาง อบรม อย. (น้อยเทวราช ปี56)
เครื่องสำอาง อบรม อย. (น้อยเทวราช ปี56)เครื่องสำอาง อบรม อย. (น้อยเทวราช ปี56)
เครื่องสำอาง อบรม อย. (น้อยเทวราช ปี56)Thiti Wongpong
 

What's hot (20)

หนังสือเชิญ สัมมนา
หนังสือเชิญ สัมมนาหนังสือเชิญ สัมมนา
หนังสือเชิญ สัมมนา
 
ลม ฟ้า อากาศ
ลม ฟ้า อากาศลม ฟ้า อากาศ
ลม ฟ้า อากาศ
 
บทที่ 13 การสังเคราะห์ด้วยแสง
บทที่ 13 การสังเคราะห์ด้วยแสงบทที่ 13 การสังเคราะห์ด้วยแสง
บทที่ 13 การสังเคราะห์ด้วยแสง
 
สมุดเล่มเล็ก
สมุดเล่มเล็กสมุดเล่มเล็ก
สมุดเล่มเล็ก
 
อาณาจักรโพรติสตา Protista-kingdom
อาณาจักรโพรติสตา Protista-kingdomอาณาจักรโพรติสตา Protista-kingdom
อาณาจักรโพรติสตา Protista-kingdom
 
2แบบทดสอบระบบนิเวศ (ตอนที่ 2)
2แบบทดสอบระบบนิเวศ (ตอนที่ 2)2แบบทดสอบระบบนิเวศ (ตอนที่ 2)
2แบบทดสอบระบบนิเวศ (ตอนที่ 2)
 
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพบทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
 
บทที่ 6 ดาวฤกษ์
บทที่ 6 ดาวฤกษ์บทที่ 6 ดาวฤกษ์
บทที่ 6 ดาวฤกษ์
 
การถ่ายโอนความร้อน ม.1
การถ่ายโอนความร้อน ม.1การถ่ายโอนความร้อน ม.1
การถ่ายโอนความร้อน ม.1
 
ชุดกิจกรรมการเรียนรู้วิทยาศาสตร์ เรื่อง สารและการจำแนกสาร ชุดที่ 1 สสารและสาร
ชุดกิจกรรมการเรียนรู้วิทยาศาสตร์ เรื่อง สารและการจำแนกสาร ชุดที่ 1 สสารและสารชุดกิจกรรมการเรียนรู้วิทยาศาสตร์ เรื่อง สารและการจำแนกสาร ชุดที่ 1 สสารและสาร
ชุดกิจกรรมการเรียนรู้วิทยาศาสตร์ เรื่อง สารและการจำแนกสาร ชุดที่ 1 สสารและสาร
 
การบริหารลูกหนี้ การบริหารสินค้า
การบริหารลูกหนี้ การบริหารสินค้าการบริหารลูกหนี้ การบริหารสินค้า
การบริหารลูกหนี้ การบริหารสินค้า
 
Pat2 มีนาคม 2553
Pat2 มีนาคม 2553Pat2 มีนาคม 2553
Pat2 มีนาคม 2553
 
แบบฝึกหัดที่ 2 เซลล์พืช และเซลล์สัตว์
แบบฝึกหัดที่ 2 เซลล์พืช และเซลล์สัตว์แบบฝึกหัดที่ 2 เซลล์พืช และเซลล์สัตว์
แบบฝึกหัดที่ 2 เซลล์พืช และเซลล์สัตว์
 
ปกข้อสอบกลางภาค2557 2
ปกข้อสอบกลางภาค2557 2ปกข้อสอบกลางภาค2557 2
ปกข้อสอบกลางภาค2557 2
 
Kingdom plantae
Kingdom plantaeKingdom plantae
Kingdom plantae
 
การตั้งสมมติฐานและการกำหนดตัวแปร
การตั้งสมมติฐานและการกำหนดตัวแปรการตั้งสมมติฐานและการกำหนดตัวแปร
การตั้งสมมติฐานและการกำหนดตัวแปร
 
สมบัติบางประการของสารละลาย
สมบัติบางประการของสารละลายสมบัติบางประการของสารละลาย
สมบัติบางประการของสารละลาย
 
วัฏจักรน้ำ
วัฏจักรน้ำวัฏจักรน้ำ
วัฏจักรน้ำ
 
แนวคิด ทฤษฎีการเรียนรู้ร่วมสมัย
แนวคิด ทฤษฎีการเรียนรู้ร่วมสมัยแนวคิด ทฤษฎีการเรียนรู้ร่วมสมัย
แนวคิด ทฤษฎีการเรียนรู้ร่วมสมัย
 
เครื่องสำอาง อบรม อย. (น้อยเทวราช ปี56)
เครื่องสำอาง อบรม อย. (น้อยเทวราช ปี56)เครื่องสำอาง อบรม อย. (น้อยเทวราช ปี56)
เครื่องสำอาง อบรม อย. (น้อยเทวราช ปี56)
 

Viewers also liked

นอมัลไลเซชั่น ( Normalization )1nf-3nf
นอมัลไลเซชั่น ( Normalization )1nf-3nfนอมัลไลเซชั่น ( Normalization )1nf-3nf
นอมัลไลเซชั่น ( Normalization )1nf-3nfCh Khankluay
 
การสื่อสารและระบบเครือข่าย (Communication and Network)
การสื่อสารและระบบเครือข่าย (Communication and Network)การสื่อสารและระบบเครือข่าย (Communication and Network)
การสื่อสารและระบบเครือข่าย (Communication and Network)supatra2011
 
บทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนบทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนSrion Janeprapapong
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalizationkunemata
 
นอร์มัลไลเซชัน Normalization
นอร์มัลไลเซชัน Normalizationนอร์มัลไลเซชัน Normalization
นอร์มัลไลเซชัน NormalizationPrintZii Subruang
 
Database design & Normalization (1NF, 2NF, 3NF)
Database design & Normalization (1NF, 2NF, 3NF)Database design & Normalization (1NF, 2NF, 3NF)
Database design & Normalization (1NF, 2NF, 3NF)Jargalsaikhan Alyeksandr
 

Viewers also liked (9)

นอมัลไลเซชั่น ( Normalization )1nf-3nf
นอมัลไลเซชั่น ( Normalization )1nf-3nfนอมัลไลเซชั่น ( Normalization )1nf-3nf
นอมัลไลเซชั่น ( Normalization )1nf-3nf
 
การสื่อสารและระบบเครือข่าย (Communication and Network)
การสื่อสารและระบบเครือข่าย (Communication and Network)การสื่อสารและระบบเครือข่าย (Communication and Network)
การสื่อสารและระบบเครือข่าย (Communication and Network)
 
บทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนบทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืน
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
นอร์มัลไลเซชัน Normalization
นอร์มัลไลเซชัน Normalizationนอร์มัลไลเซชัน Normalization
นอร์มัลไลเซชัน Normalization
 
รายงานเครือข่ายคอมพิวเตอร์
รายงานเครือข่ายคอมพิวเตอร์รายงานเครือข่ายคอมพิวเตอร์
รายงานเครือข่ายคอมพิวเตอร์
 
บทที่ 5 การแปลง er diagram ให้เป็น table
บทที่ 5 การแปลง er diagram ให้เป็น tableบทที่ 5 การแปลง er diagram ให้เป็น table
บทที่ 5 การแปลง er diagram ให้เป็น table
 
บทที่ 4 er diagram
บทที่ 4 er diagramบทที่ 4 er diagram
บทที่ 4 er diagram
 
Database design & Normalization (1NF, 2NF, 3NF)
Database design & Normalization (1NF, 2NF, 3NF)Database design & Normalization (1NF, 2NF, 3NF)
Database design & Normalization (1NF, 2NF, 3NF)
 

Similar to บทที่7

งานนำเสนอ การจัดการฐานข้อมุล
งานนำเสนอ การจัดการฐานข้อมุลงานนำเสนอ การจัดการฐานข้อมุล
งานนำเสนอ การจัดการฐานข้อมุลchanoot29
 
การจัดการข้อมูลด้วยระบบการจัดการฐานข้อมูล
การจัดการข้อมูลด้วยระบบการจัดการฐานข้อมูลการจัดการข้อมูลด้วยระบบการจัดการฐานข้อมูล
การจัดการข้อมูลด้วยระบบการจัดการฐานข้อมูลchanoot29
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1nunzaza
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลGatesiree G'ate
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2nunzaza
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลwarathip-por
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลwarathip-por
 
Database basic new
Database basic newDatabase basic new
Database basic newQoo Kratai
 
นางสาว หัทยา เชื้อสมเกียรติ ม.5
นางสาว หัทยา เชื้อสมเกียรติ ม.5นางสาว หัทยา เชื้อสมเกียรติ ม.5
นางสาว หัทยา เชื้อสมเกียรติ ม.5hattayagif
 
นางสาว อรอนงค์ สุขาวรรณ
นางสาว อรอนงค์ สุขาวรรณนางสาว อรอนงค์ สุขาวรรณ
นางสาว อรอนงค์ สุขาวรรณlovelovejung
 
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศtaenmai
 
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศtaenmai
 
Power point2
Power point2Power point2
Power point2056777777
 
ระบบฐานข้อมูล
ระบบฐานข้อมูลระบบฐานข้อมูล
ระบบฐานข้อมูลchanoot29
 
ธันยพร นกศิริ ม409 เลขที่2
ธันยพร นกศิริ ม409 เลขที่2ธันยพร นกศิริ ม409 เลขที่2
ธันยพร นกศิริ ม409 เลขที่2Hitsuji12
 
หน่วยที่ 2 (1)
หน่วยที่ 2 (1)หน่วยที่ 2 (1)
หน่วยที่ 2 (1)056777777
 
หน่วยการเรียนรู้ที่ 1 ข้อมูลและระบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 1 ข้อมูลและระบบฐานข้อมูลวิชา การจัดการฐานข้อมูลหน่วยการเรียนรู้ที่ 1 ข้อมูลและระบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 1 ข้อมูลและระบบฐานข้อมูลวิชา การจัดการฐานข้อมูลchaiwat vichianchai
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูลYongyut Nintakan
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูลYongyut Nintakan
 

Similar to บทที่7 (20)

งานนำเสนอ การจัดการฐานข้อมุล
งานนำเสนอ การจัดการฐานข้อมุลงานนำเสนอ การจัดการฐานข้อมุล
งานนำเสนอ การจัดการฐานข้อมุล
 
การจัดการข้อมูลด้วยระบบการจัดการฐานข้อมูล
การจัดการข้อมูลด้วยระบบการจัดการฐานข้อมูลการจัดการข้อมูลด้วยระบบการจัดการฐานข้อมูล
การจัดการข้อมูลด้วยระบบการจัดการฐานข้อมูล
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
Database basic new
Database basic newDatabase basic new
Database basic new
 
นางสาว หัทยา เชื้อสมเกียรติ ม.5
นางสาว หัทยา เชื้อสมเกียรติ ม.5นางสาว หัทยา เชื้อสมเกียรติ ม.5
นางสาว หัทยา เชื้อสมเกียรติ ม.5
 
นางสาว อรอนงค์ สุขาวรรณ
นางสาว อรอนงค์ สุขาวรรณนางสาว อรอนงค์ สุขาวรรณ
นางสาว อรอนงค์ สุขาวรรณ
 
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
 
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
ประวัติความเป็นมาและการพัฒนาของระบบเทคโนโลยีสารสนเทศ
 
Power point2
Power point2Power point2
Power point2
 
ระบบฐานข้อมูล
ระบบฐานข้อมูลระบบฐานข้อมูล
ระบบฐานข้อมูล
 
งานจูน
งานจูนงานจูน
งานจูน
 
ธันยพร นกศิริ ม409 เลขที่2
ธันยพร นกศิริ ม409 เลขที่2ธันยพร นกศิริ ม409 เลขที่2
ธันยพร นกศิริ ม409 เลขที่2
 
หน่วยที่ 2 (1)
หน่วยที่ 2 (1)หน่วยที่ 2 (1)
หน่วยที่ 2 (1)
 
หน่วยการเรียนรู้ที่ 1 ข้อมูลและระบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 1 ข้อมูลและระบบฐานข้อมูลวิชา การจัดการฐานข้อมูลหน่วยการเรียนรู้ที่ 1 ข้อมูลและระบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 1 ข้อมูลและระบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูล
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูล
 

More from nunzaza

บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10nunzaza
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8nunzaza
 
บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6nunzaza
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5nunzaza
 
บทที่ 4
บทที่  4บทที่  4
บทที่ 4nunzaza
 
บทที่ 3
บทที่ 3บทที่ 3
บทที่ 3nunzaza
 

More from nunzaza (6)

บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8
 
บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 4
บทที่  4บทที่  4
บทที่ 4
 
บทที่ 3
บทที่ 3บทที่ 3
บทที่ 3
 

บทที่7

  • 2. การเกิดภาวการณ์เรียกใช้ข้อมูลพร้อมกันมักเกิดขึ้นได้เสมอในระบบฐานข้อมูล เนื่องจากการที่มี ผู้ใช้หลายคนเรียกใช้ข้อมูลพร้อมๆกัน นับเป็นปัญหาสาคัญในการใช้ฐานข้อมูล เมื่อต้องมีการปรับปรุงข้อ มูลค่าใดค่าหนึ่งให้ถูกต้อง จะต้องกระทาให้เสร็จสิ้นก่อนที่ข้อมูลค่านั้นๆ จะถูกเรียกใช้โดยผู้ใช้คนอื่นๆ เมื่อ เกิดภาวการณ์เรียกใช้ข้อมูลพร้อมกัน จะทาให้ผู้ใช้คนอื่นๆ ได้ข้อมูลที่มีค่าไม่ถูกต้องไป สิ่งสาคัญจึงอยู่ที่ เรื่องของข้อมูล ไม่ว่าจะเป็นข้อมูลในหน่วยความจาหลัก ซึ่งกาลังประมวลอยู่ หรือจะเป็นข้อมูลใน หน่วยความจาสารองก็ตาม หากระบบคอมพิวเตอร์เกิดความขัดข้องขึ้น ก็อาจมีผลกระทบถึงข้อมูลได้จาเป็น ที่ต้องทาซ้าใหม่ หรืออาจต้องทาการกู้ (Recovery) เพื่อให้ข้อมูลอยู่ในสภาพถูกต้องใช้งานได้ เนื้อหาใน หน่วยนี้กล่าวถึงเรื่องของรายการที่เกิดการกู้และการเกิดภาวะพร้อมกัน
  • 3. รายการ (Transaction) รายการ หมายถึง ชุดของคาสั่งที่จัดการกับข้อมูลในฐานข้อมูลในลักษณะต่างๆ เช่น การอ่าน ข้อมูล การเขียนข้อมูล การปรับปรุงข้อมูล (เพิ่ม,ลบ,แก้ไข) ซึ่งเมื่อชุดคาสั่งเหล่านั้นทางานเสร็จเรียบร้อย แล้ว จะทาให้ข้อมูลในฐานข้อมูลอยู่ในสภาพที่ถูกต้อง ตัวอย่างเช่น ถ้าต้องการปรับปรุงข้อมูล จานวนสั่งสินค้าในรีเลชัน ORDERING ในรายการ สินค้า P-402 จากจานวนสั่งเดิม 60 ชิ้น สั่งเพิ่มอีก 40 ชิ้น สามาแสดงได้คาสั่ง SQL จากตัวอย่างในรูปที่ 7.1 คาสั่ง COMMIT เป็นการบอกว่ารายการปรับปรุงนั้นเสร็จสิ้นสมบูรณ์ แต่ หากมีปัญหาเกิด ก็จะทาให้รายการนั้นๆ กลับไปสู่จัดเริ่มต้น (Rollback) ทาให้ข้อมูลกลับคืนเป็นค่าเดิมก่อนที่ จะมีการปรับปรุง
  • 4. การเกิดภาวะขัดข้อง (Transaction Fail) รายการใดๆ ที่ถูกส่งเข้าประมวลผลอาจเกิดความขัดข้อง (Transaction Fail) ขึ้นได้เนื่องจากสาเหตุ หลายประการ ได้แก่ ระบบเกิดความขัดข้อง (System Failure) เป็นความขัดข้องที่เกิดในขณะที่รายหนึ่งๆ กาลังถูกกระทา ทาให้มีผลต่อข้อมูลที่เก็บอยู่ใน หน่วยความจาหลัก แต่ไม่มีผลต่อข้อมูลที่เก็บอยู่ในระบบฐานข้อมูล ความผิดพลาดของสื่อบันทึกข้อมูล (Media Failure) เป็นความผิดพลาดที่เกิดจากสื่อบันทึกข้อมูล เช่น Disk อาจเกิดความเสียหาย ทาให้ข้อมูลสูญ หายไปด้วย ความผิดพลาดประเภทนี้จึงอาจทาให้ข้อมูลในฐานข้อมูลเสียหายได้ จากภาวะขัดข้องทั้ง 2 ลักษณะ ที่อาจเกิดขึ้นได้ในระบบ จึงต้องมีการกู้ (Recovery) รายการที่เกิด ความขัดข้อง โดยระบบจะต้องสามารถตรวจสอบได้ว่า ข้อมูลของรายการที่ถูกกระทานั้นได้ถูกบันทึกลงใน ฐานข้อมูลแล้วหรือยัง ส่วนรายการที่ถูกบันทึกลงในฐานข้อมูลแล้วถือว่ารายการนั้นถูกกระทาจนเสร็จ สมบูรณ์แล้ว ส่วนรายการที่ยังไม่ได้ถูกบันทึกข้อมูลรายการนั้นๆ การที่ระบบจะทราบข้อขัดข้องที่เกิดขึ้นเพื่อ แก้ปัญหานั้น สามารถทาได้โดยใช้ระบบการลงบันทึก (System Log) ซึ่งจะบันทึกการทางานของทุกรายการที่ มีผลต่อข้อมูลในฐานข้อมูล
  • 5. ระบบการลงบันทึก (System Log) ระบบการลงบันทึกรายการ จะเป็นระบบที่ทาการบันทึกค่าของข้อมูลทั้งก่อนและหลังการแก้ไขลง ใน Log File หรือJournal การลงบันทึกจะเริ่มเมื่อมีการกระทาเกิดขึ้นกับรายการ และจะบันทึกรายการที่มีผล ต่อการเปลี่ยนแปลงข้อมูลในฐานข้อมูล จึงอ่านค่าใหม่เพื่อบันทึกลงในฐานข้อมูล ณ จุดนั้นถือได้ว่ารายการ นั้นได้ถูกกระทาจนเสร็จสมบูรณ์แล้ว (Commit) การใช้เทคนิคของจุดตรวจสอบ (Check Point) ซึ่งระบบจะกาหนดช่วงเวลาที่จะทาจุดตรวจสอบ ขึ้น เพื่อบันทึกข้อมูลลงในฐานข้อมูล และบันทึกเวลาของจุดตรวจสอบลงใน Log File หากรายการใดทาเสร็จ ก่อน ถึงจุดตรวจสอบแล้วเกิดความผิดพลาดของระบบ รายการนั้นจะไม่จาเป็นต้องทาใหม่ (Redo) รายการใด ที่ยังทาไม่เสร็จ แต่ระบบเกิดขัดข้องรายการนั้นจะต้องถูกยกเลิก (Undo) ส่วนรายการที่ต้องทาใหม่ ก็คือ รายการที่ยังทาไม่เสร็จ ขณะที่มีการบันทึกรายการที่ผ่านจุดตรวจสอบ แต่รายการนั้นได้ถูกทาเสร็จก่อนที่ ระบบเกิดความขัดข้องขึ้น
  • 6. รูปที่ 7.2 แสดงรายการเปลี่ยนแปลงในช่วงเวลาที่ทาการตรวจสอบ จากรูปที่ 7.2 จะเห็นได้ว่า 1. รายการ T1 ได้ถูกกระทาเสร็จสมบูรณ์ก่อนถึงจุดตรวจสอบ 2. รายการ T2 เกิดขึ้นก่อนจุดตรวจสอบ และเสร็จสิ้นก่อนระบบเกิดความขัดข้อง 3. รายการ T3 เกิดขึ้นก่อนจุดตรวจสอบและยังทาไม่เสร็จ เมื่อระบบเกิดความขัดข้อง 4. รายการ T4 เกิดขึ้นหลังจุดตรวจสอบ และเสร็จสิ้นก่อนระบบเกิดความขัดข้อง 5. รายการ T5 เกิดขึ้นหลังจุกตรวจสอบ และยังทาไม่สาเสร็จ เมื่อระบบเกิดความขัดข้อง หากพบ รายการลักษณะนี้เกิดขึ้นจึงควรพิจารณาดังนี้
  • 7. 5.1 รายการ T1 จะไม่ต้องทาใหม่ เพราะได้บันทึกรายการเปลี่ยนแปลงลงในฐานข้อมูล เรียบร้อยแล้ว 5.2 รายการ T2 และ T4 จะต้องทาซ้าใหม่ (Redo) 5.3 รายการ T3 และ T5 และต้องยกเลิก (Undo) และกลับเป็นค่าเริ่มต้น เพราะรายการ ทั้งสองยังทาไม่เสร็จการ การกู้ (Recovery) ดังกล่าวแล้วว่า การเกิดภาวะขัดข้องนั้นอาจเนื่องมาจากสาเหตุ ที่ระบบเกิดความขัดข้องหรืออาจ เกิดจากสาเหตุความผิดพลาดของสื่อบันทึกข้อมูล ซึ่งการกู้ข้อมูลที่เกิดสาเหตุภาวะขัดข้องที่ต่างกัน ก็จะใช้ วิธีการแก้ไขปัญหาที่ต่างกันด้วย ในหัวข้อนี้จะกล่าวถึง ชนิดของการกู้ได้แก่ 1. การกู้ที่เกิดจากระบบเกิดความขัดข้อง (System Recovery) เป็นความขัดข้องที่มีผลต่อข้อมูลที่อยู่ในหน่วยความจาขณะที่มีการประมวลผล วิธีที่จะนามาใช้ ในการกู้ก็คือการนามาใช้ในการกู้ ก็คือ การนาระบบการลงบันทึกดังกล่าวข้างต้นมาใช้ 2. การกู้ที่เกิดจากความผิดพลาดของสื่อบันทึก (Media Recovery) เป็นความขัดข้องที่มีผลทาให้ข้อมูลบนสื่อบันทึกเสียหายหรือถูกทาลาย วิธีที่จะนามาใช้ในการกู้ ก็คือ การทาการสารองข้อมูล (Backup) ไว้เป็นระยะๆ เมื่อเกิดความขัดข้องกับสื่อบันทึกข้อมูลที่ใช้งานอยู่ ก็ จะนาฐานข้อมูลสารองที่ทาไว้ล่าสุด มาถ่ายลงในสื่อบันทึกชุดใหม่และใช้ระบบการลงบันทึกมาช่วยเพื่อ พิจารณารายการที่ต้องใหม่ ซึ่งเกิดหลังจากการทาการสารองข้อมูลครั้งสุดท้ายไว้
  • 8. การเกิดภาวะพร้อมกัน (Concurrency) ในระบบฐานขอมูลที่ใช้กัน มักจะเป็นระบบที่ผู้ใช้หลาย ๆ คน สามารถใช้ข้อมูลพร้อมกันได้ใน เวลาเดียวกัน ปัญหาจึงมาจากการที่ผู้ใช้หลาย ๆ คน มีการเรียกใช้ข้อมูลชุดเดียวกันในเวลาพร้อม ๆ กัน จึง ทาให้เกิดภาวะพร้อมกัน และหากไม่มีการควบคุมที่ดี ก็จะทาให้เกิดปัญหาตามมาได้แก่ 1ปัญหาข้อมูลไม่ได้ถูกแก้ไขให้ถูกต้อง สมมติให้มีการเปลี่ยนแปลง 2 รายการ คือ C1 และ C2 ที่จะไปทาการแก้ไขข้อมูลชุดเดียวกัน คือ ข้อมูล N ดังรูป จากรูปข้างต้นรายการ C1 จะเริ่มทางานก่อน แต่ยังแก้ไขข้อมูล N ไม่เสร็จ รายการ C2 เริ่มทาแทรก เข้ามา ข้อมูล N จะต้องถูกอ่านเข้ามาก่อนจึงทาการแก้ไขได้ที่ถูกต้องแล้ว รายการ C1 เกิดขึ้นก่อนรายการ C2 จึงควรนาผลหลังจากรายการ C1 ได้ทาการแก้ไขแล้ว มาทาการแก้ไขต่อ
  • 9. เพื่อให้ชัดเจนขึ้น จะขอสมมติค่าให้ N มีค่าเท่ากับ 10 และ C1 มีค่าเท่ากับ 2 ส่วน C2 มีค่า เท่ากับ 4 ถ้าระบบดังกล่าวทางานถูกต้อง ก็ควรให้ค่า N เป็น 16 แต่จากรูป 7.3 รายการ C1 จะอ่านค่า N เท่ากับ 10 ไปเก็บที่บัฟเฟอร์ แล้วรายการ C2 ก็อ่านค่า N ซึ่งเท่ากับ 10 เช่นเดียวกัน รายการ C1 จะเปลี่ยนแปลงค่า N เป็น 10+2=12 และรายการ C2 ก็จะปลี่ยน แปลงค่า N เป็น 10+4 =14 ทาให้สรุปค่า N เท่ากับ 14 แทนที่ N จะมีค่าเท่ากับ 16 2. ปัญหาการแก้ไขข้อมูลยังไม่ได้มีการ Commit ปัญหานี้เกิดจากการที่ระบบทาการปรับปรุงข้อมูลของรายการหนึ่งยังไม่เสร็จสมบูรณ์ต้องทา การย้อนกลับ (Rollback) ข้อมูลนั้นจึงยังคงเป็นค่าเดิม แต่ยอมให้รายการเปลี่ยนแปลงอีกรายการหนึ่ง มา เรียกข้อมูลนั้นไปใช้จึงทาให้ได้รับข้อมูลที่มีค่าไม่ถูกต้องไปใช้งาน 3. ปัญหาการได้ผลลัพธ์ที่ขัดแย้งกับความเป็นจริง ปัญหานี้เกิดจากการที่มีรายการถูกส่งเข้าประมวลผลพร้อมๆ กัน โดยการประมวลผลค่าของ รายการหนึ่งยังไม่ได้ถูกต้อง ขณะเดียวกันก็มีรายการอื่นมาเรียกใช้ข้อมูลค่านั้น ระบบก็จะนาเอาค่าที่ยัง ไม่ได้ถูกปรับไปใช้ทาให้ผลที่ได้จากการประมวลผลขัดแย้งกับความเป็นจริง จึงเป็นหน้าที่ของระบบจัดการฐานข้อมูล ที่จะต้องควบคุมการเกิดภาวะพร้อมกัน เพื่อมิให้เกิด ปัญหาต่างๆ ดังกล่าวมาข้างต้น
  • 10. เทคนิคการปิดกั้น (Lock Technique) จากที่กล่าวมาข้างต้น คงจะทาให้พอเห็นถึงปัญหาของการเกิดภาวะพร้อมกัน อันเนื่องมาจากการ ที่ผู้ใช้หลายคนเรียกใช้ข้อมูลพร้อมๆ กัน โดยที่ข้อมูลรายการนั้นๆ อยู่ระหว่างการปรับปรุงค่าและยังทาไม่ เสร็จ ทาให้ผู้ใช้คนอื่นได้ค่าที่ไม่ถูกต้องไปใช้งาน วิธีแก้ปัญหาสามารถทาได้โดยใช้เทคนิคการปิดกั้น (Lock Technique) ซึ่งจะกล่าวรายละเอียด ดังต่อไปนี้ ชนิดของการปิดกั้น มี 2 ชนิด คือ 1.การปิดกั้นเฉพาะ (Exclusive Lock) เป็นการปิดกั้นที่ผู้ใช้คนหนึ่งทาการปิดกั้นแบบเฉพาะ เมื่อต้องการปรับปรุงข้อมูลจนกว่าจะ ปล่อยการปิดกั้น ผู้ใช้คนอื่นจึงสามารถปรับปรุงแก้ไขรายการนั้นได้ 2.การปิดกั้นแบบร่วม (Shared Lock) เป็นการปิดกั้นที่ผู้ใช้หลายๆ คน จะสามารถอ่านรายการใดรายการหนึ่งร่วมกันได้แต่แก้ไขไม่ได้
  • 11. โดยปกติระบบจัดการฐานข้อมูล จะทาการปิดกั้นรายการโดยอัตโนมัติ เมื่อเริ่มมีการ เปลี่ยนแปลงข้อมูลรายการนั้นๆ เพื่อป้องกันไม่ได้รายการอื่นแทรกเข้ามา จนกว่ารายการเปลี่ยนแปลงนั้น จะเสร็จสิ้นสมบูรณ์ (Commit) หรือทาการย้อนกลับ (Rollback) ไปเป็นค่าเดิม โดยถ้าเป็นกาเรียกดูข้อมูล ก็ จะทาการปิดกั้นแบบร่วม แต่ถ้าเป็นการแก้ไขข้อมูลก็จะทาการปิดกั้นแบบเฉพาะ ดังนั้นถ้าในการ เปลี่ยนแปลงข้อมูล ซึ่งจะต้องเริ่มด้วยการอ่านข้อมูลเข้ามา แล้วทาการปรับปรุงเปลี่ยนแปลงค่า จึงต้องมีการ ปิดกั้นเป็น 2 ช่วง คือ ขณะที่อ่านข้อมูลเข้ามาจะปิดกั้นแบบเฉพาะ ด้วยเทคนิคการปิดกั้นดังได้กล่าวมา จึงช่วยแก้ไขปัญหาของการเกิดภาวะพร้อมกันได้แต่ปัญหา ตามมาที่อาจเกิดจากการใช้เทคนิคปิดกั้น ก็คือ การติดตายของรายการ (Deadlock)ซึ่งเกิดจากการที่มี รายการตั้งแต่ 2 รายการขึ้นไปต่างหยุดรอซึ่งกันและกัน จนทาให้ไม่สามารถทางานต่อไปได้ระบบจึงต้อง ตรวจสอบให้พบและดาเนินการแก้ไข โดยเลือกรายการใดรายการหนึ่งให้ปล่อยการปิดกั้น เพื่อให้รายการ อื่นทางานต่อไป ส่วนรายการที่ปล่อยการปิดกั้นนั้นก็จะต้องทาการย้อนกลับด้วย