--- title: (ฝึก PE v.2 1 คน กับ Bot ASR) ห้องเรียนสกลฯ หลักการและระบบการจัดการฐานข้อมูล อ.เกวลี 10 ม.ค. 66 นาโน subtitle: date: วันอังคารที่ 21 มีนาคม 2566 เวลา 13.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) เคค่ะ อย่างนั้น เดี๋ยวเริ่มเลยนะคะ วันนี้จะเป็นบทที่ 8บทเหลืออีก 2 บทเราก็ได้ธรรมปฏิบัติวันนี้จะเป็นเกี่ยวกับกระบวนการทำงานของฐานข้อมูลเนี่ยมันก็จะมีการเปลี่ยนแปลงข้อมูลมันเป็นการเพิ่มลบแก้ไขเราจะเรียกว่าเป็นการเปลี่ยนแปลงเราจะทำการกู้คืนระบบยังไงหรือจะสำรองข้อมูลอย่างไร เพื่อป้องกันความเสียหายของข้อมูลนะคะ โดยรายการการเปลี่ยนแปลงนี่ มันจะมีนิยามอยู่ 3 ยุค ยุคแรก ก็คือไฟล์ที่เราเก็บรายการที่มีการเปลี่ยนแปลงไว้นี่นะคะ จะเก็บไว้ในแฟ้มข้อมูลหลัก ซึ่งจะเป็นการเก็บเป็นแบบเรียงลำดับนะคะ หรือ Sequential File ที่มีการเรียงข้อมูลไว้เรียบร้อยแล้วนะคะ ต่อมาจะเป็นยุคที่ 2 ตอนแรกก็เก็บข้อมูล เป็นเหมือน อาจจะเป็นคล้าย ๆ ไฟล์กระดาษ พยุคที่ 2 นี่ เราจะเริ่มใช้เป็นพวกนี้เก็บข้อมูลซึ่งการเก็บข้อมูลในฮาร์ดดิสเนี่ยมันจะไม่เป็นการเก็บข้อมูลแบบเรียงลำดับแล้วนะคะ ซึ่งรายการเปลี่ยนแปลงที่เกิดขึ้นนี่ จะหมายถึงทุก ๆ กิจกรรมที่ทำอยู่บนไฟล์ข้อมูลของเรานะคะ เช่น อาจจะตอนเช้า 10:00 น. มีการเพิ่มข้อมูลนะคะ 10:30 น. อาจจะเป็นการเปลี่ยนแปลงข้อมูลใด ๆ ก็ตามที่เกิดขึ้นนะคะ อันนี้จะเริ่มเป็นยุคที่ 2 พอยุคที่ 3 นะคะ ซึ่งเป็นยุคปัจจุบันนี่แหละ การเก็บข้อมูลนะคะ การเปลี่ยนแปลงทุกอย่างที่เกิดขึ้นในระบบจัดการฐานข้อมูลนี่ จะอยู่ในรูปแบบของกลุ่มคำสั่งนะคะ โดยใช้ภาษาที่ใช้จัดการฐานข้อมูลระดับตรรกะนะคะ ที่อาจจะมีการยอมให้ละเมิดกฎความคงสภาพของข้อมูลบางกฎได้นะคะ หรือกฎที่บังทำความถูกต้องของฐานข้อมูลแต่จะต้องเป็นเกี่ยวข้องกับกฎของการดำเนินธุรกิจต่าง ๆ เราจะต้องใส่ข้อบังคับไว้ว่าข้อมูลเหล่านี้ถ้าสมมุติว่าคุณผิดพลาดจะเป็นอย่างไร ถ้าใส่ข้อมูลถูก ต้องระบบจะแจ้งเตือนอย่างไร ซึ่งกฎต่าง ๆ พวกนี้นี่ ที่อยู่ในฐานข้อมูลถูกบังคับใช้โดยระบบจัดการฐานข้อมูลอันนี้ก็คือการเปลี่ยนแปลงข้อมูลในยุคปัจจุบันเราจะใช้กลุ่มของคำสั่งภาษาที่จัดการฐานข้อมูลนะคะ ซึ่งในวิชานี้เราจะเรียนเกี่ยวกับภาษา SQL เบื้องต้นนะคะ โดยเริ่มแรกนะคะ รายการการเปลี่ยนแปลงนี่ มันอาจจะเกิดขึ้นกับระบบที่ใช้งานคนเดียวนะคะ หรือเป็นระบบที่ใช้งานร่วมกันหลายคน หรืออาจจะเป็นการทำงานที่พร้อม ๆ กันไปนะคะ ซึ่งการทำงานพร้อมกันนี่ ก็จะมีอยู่ 2 แบบ ก็คืออาจจะเป็นการทำงานที่มีรายการลำดับที่ 1 รายการลำดับที่ 2 สลับกันทำงาน ในเวลา โยกัง สลับกัน กับอย่างที่ 2 ก็คือจะเป็นการทำงานพร้อม ๆ กัน อาจจะมีทั้ง 2 งาน 3 งาน 4 งาน ว่าไป เป็นงานที่มากกว่า 1 ส่งข้อมูลเป็นรายงาน แต่ทุกอย่างจะประมวลผลพร้อม ๆ กัน อันนี้คือการทำงานของรายการเปลี่ยนแปลงที่อาจจะเกิดขึ้นในฐานข้อมูล อย่างเช่นว่า ระบบ อาจจะเป็นระบบใบเรียกชื่อนักศึกษานะคะ อาจารย์ในมหาวิทยาลัยมี 300 คน สามารถเข้าใช้ระบบนี้ได้พร้อมกัน อาจจะมีการประมวลผลรายชื่อนักศึกษาได้พร้อม ๆ กัน 300 คนก็ได้นะคะ อันนี้ก็คือการประมวลผลมากกว่า 1 คนนะคะ ในเวลาเดียวกันนี่ อาจจะมีสัก 10 คน ดูข้อมูลนักศึกษาชุดเดียวกันก็ได้ แต่ถ้าถามว่ามันจะทำงานได้ไหม มันต้องทำงานได้ ซึ่งการทำงาน 1 คนเดียวกันทำงานหลายคน มันจะมีแนวทางหรือข้อกำหนดประเภทของฐานข้อมูลอีกแบบหนึ่ง โดยที่จะกำหนดจำนวนของผู้ใช้งาน ที่สามารถเข้าใช้งานพร้อมกันได้ อย่างเช่น ว่าบางระบบในระบบจัดการฐานข้อมูลเขาจะกำหนดไว้ว่า ในเวลานั้นจะต้องมีผู้ใช้งานแค่คนเดียวที่ทำงานอยู่ หรือถ้าเป็นระบบจัดการฐานข้อมูลโดยทั่วไปในโลกของความเป็นจริง ส่วนมากเขาจะให้ผู้ใช้งานนี่ สามารถเข้าใช้งานได้พร้อมกันหลาย ๆ คน ในเวลาเดียวกัน แต่มีการกำหนดสิทธิ์ของผู้ใช้งานแต่ละคนไม่เท่ากัน เข้าใช้งานพร้อมกันก็จริงค่ะ แต่บางคนอาจจะแค่ดูข้อมูล บางคนอาจจะมาลบข้อมูล บางคนอาจจะมาแก้ไขบางส่วน มาเพิ่มข้อมูลเข้าไปได้หลาย ๆ คนน่ะ จะทำงานพร้อม ๆ กัน แต่สิทธิ์ในการแก้ไข หรือการเพิ่มเติมใด ๆ ก็ตามนี่ ไม่เท่ากันนะคะ โดยในการเปลี่ยนแปลงนี่ มันจะเป็นเกี่ยวกับการประมวลผลของโปรแกรมที่ทำงานในเชิงก็คือเป็นอาจจะคิดว่าข้อมูลนี้จริงหรือเท็จข้อมูลนี้ถูกหรือผิด โดยในการเปลี่ยนแปลงนี่จะประกอบไปด้วยการปฏิบัติที่ทั้งหน่วยประมวลผลทั้งฐานข้อมูลจะมีกระบวนการทำงานใด ๆ กระบวนการเกิดขึ้นพร้อมกันนะคะ ซึ่งการทำงานของฐานข้อมูลนี่ จะเป็นการกระทำผ่านโปรแกรมประยุกต์นะคะ ที่เดี๋ยวอีก 2 สัปดาห์เราจะได้เรียน โดยใช้ภาษาระดับสูงภาษา SQL ที่เราจะเรียนเราถือว่าเป็นภาษาระดับสูง เพราะเป็นภาษาที่มนุษย์อ่านแล้วเข้าใจ ใกล้เคียงกับภาษามนุษย์มากที่สุด แต่นักศึกษาต้องเข้าใจอย่างหนึ่ง ว่าเราจะต้องใช้เป็นภาษาอังกฤษนะคะ เพราะฉะนั้น คุณพิมพ์คำสั่งเป็นภาษาไทยนี่ ระบบจะไม่ประมวลผลเลย สำหรับ SQL เบื้องต้น โดยในการเปลี่ยนแปลงทุกรายการ จะต้องมีจุดเริ่มต้นและจุดสิ้นสุดสิ้นสุดนะคะ เหมือนคุณไปกดเงินอยู่หน้ามหาวิทยาลัย จุดเริ่มต้นคืออะไร วิธีการใส่บัตร ATM เข้าไป หรือตอนนี้ไม่มีใครกดเงินโดยใช้บัตร ATM แล้ว จุดเริ่มต้น คือ เข้า Application กดถอนเงินโดยไม่ใช้บัตร ทุกอย่างจะเป็นขั้นตอน ทำตามขั้นตอนไปเรื่อย ๆ ถึงจุดสิ้นสุด คือ คุณได้รับเงินออกจากเครื่อง ATM นะคะ ซึ่งทุกอย่างจะถูกเก็บไว้ว่า คุณเริ่มกดรหัสเมื่อเวลาเท่าไรนะคะ คุณยืนยันยอดเงินกี่โมง เงินออกจากตู้กี่โมง ทุกอย่างจะถูกเก็บไว้นะคะ ถ้าหากว่าในการจัดการฐานข้อมูลนี่ มันจะมีรายการเปลี่ยนแปลงนะคะ ที่อาจจะ User ผู้ใช้งานทั่วไปอาจจะไม่จำเป็นต้องมีการเปลี่ยนแปลง หรือนะคะ มีไว้อ่านเฉย ๆ ถ้าศัพท์ภาษาอังกฤษเรียกว่า Read Only นะคะ เอามาดูอย่างเดียว อย่างเช่น การเปลี่ยนแปลงที่ไม่ก่อให้เกิดผลกระทบกับฐานข้อมูล เช่น คุณแค่อยากดูยอดเงินปัจจุบันว่ามีเงินเท่าไร เราแค่ดู ถามว่าคุณจะถอนเงินไหม ไม่ อยากรู้ว่าตอนนี้ฉันมีเงินกี่บาท เราจะเรียกว่ารายการนั้น คือ หรือกระบวนการนั้นว่าเป็นการอ่านอย่างเดียว ไม่มีการแก้ไขนะคะ โดยกระบวนการทำงานของฐานข้อมูลนะคะ อย่างเริ่มต้น ก็คือมันจะเรียกข้อมูลขึ้นมาดูก่อนนะคะ เรียกข้อมูลว่า สมมติว่าอยากดูว่าวันนี้เราจะถอนเงิน แต่เราจำไม่ได้ว่าเรามีเงินกี่บาท เราต้องทำการเรียกข้อมูลขึ้นมาดูก่อนว่าเงินในบัญชีมีเท่าไร หน้าจอมันก็แสดงผลว่าเรามีเงินเท่าไร หลังจากนั้นจะเป็นการเขียน หรือการแก้ไข หรือการลบนะค ซึ่งขั้นตอนที่ 3 นี่ ขึ้นอยู่ที่ว่าเราจะโอนเงิน หรือเราจะถอนเงินนะคะ หรือเราจะไม่ทำอะไรเลยก็ได้ ทุกอย่างจะต้องมีจุดเริ่มต้น อย่างตัวอย่างตัวนี้ ตัวอย่างของการเปลี่ยนแปลงนะคะ อย่างสมมติให้ T นี่ ให้ T นะคะ เป็นรายการเปลี่ยนแปลงที่เกิดขึ้น เขาต้องการจะโอนเงินจากบัญชีของ a จำนวน 5,000 บาทไปยังบัญชี Bนะคะ สิ่งที่เกิดขึ้นคืออะไร สิ่งที่เกิดขึ้นคือตอนแรกเราจะต้องดูข้อมูลก่อนว่า ในบัญชี a ที่เขาบอกว่าเขาจะโอนเงินไปนี่ โอน 5,000 ขั้นตอนแรกคือดูก่อนสิว่าบัญชี a มีเงินถึง 5000 ไหม มีเกินหรือเปล่า เช็กยอดเงินเสร็จปุ๊บ เราก็จะมาหักบัญชี เช่น สมมติเขามี 5,000 บาท 100 บาท อย่างนั้น แสดงว่ามีจะยอดเงินพอที่จะโอนไปให้ จะทำการลบเงินออก5,000 ลบไปแล้ว 5000 ใช่ไหมคะ เพราะว่าเราจะโอน เพราะฉะนั้น สุดท้ายแล้วบัญชีเอจะต้องเหลือเงิน 100 บาท ใช่ไหม เวลาเราโอนเงินแล้วถอนเงินเขาจะบอกยอดเงินปัจจุบันของเราด้วย อันนี้เป็นเรื่องปกติใช่ไหมคะ หลังจากนั้น เราก็จะมาดูว่า เอ๊ะ เขาจะโอนไปที่บัญชี B ใช่ไหมคะ เราว่ายอดเงินบัญชี B ขึ้นมาดูสิ ว่ามีเท่าไหร่บัญชีบีจะมีอยู่ 1000 บัญชี b 1000 โอนมาอีก 5,000เราก็ต้องอัพเดทหรือการปรับปรุงข้อมูลบัญชี B 1000 ก็จะเพิ่มเป็น 6,000 บาท อันนี้คือรายการเปลี่ยนแปลงของการโอนบัญชีนะคะ แต่ทุกลำดับขั้นตอนจะต้องมีวันที่เวลากำหนดไว้ทุกการเปลี่ยนแปลง เป็นวินาทีเลยด้วยซ้ำนะคะ พอมันมีการเปลี่ยนแปลงแล้วนี่ เราใช้งานไปเรื่อย ๆ ระบบมันอาจจะมีปัญหา มันจะต้องมีการสำรองข้อมูลนะคะ พอเราสำรองข้อมูลไว้ ทำไมเราต้องสำรองข้อมูลนะคะ ถ้ามีข้อมูลสำรองไว้ ถ้าระบบมีปัญหา เราสามารถกู้ข้อมูลกลับคืนมาได้ ทำไมเราถึงจำเป็นต้องกู้คืนข้อมูลเกิดเมื่อกี้นี้เป็นคุณกำลังโอนเงิน แล้วไฟดับ คุณโอนไปแล้ว 5,000 บาท ไฟดับพอดี เงินคุณออกไปแล้ว แต่บัญชีที่คุณจะโอนให้ เงินยังไม่ได้ เพราะไฟดับพอดี ทำอย่างไร เพราะฉะนั้น ถือว่าระบบล่มมันจะต้องมีการแก้ปัญหาซึ่งเป็นหน้าที่ของระบบจัดการฐานข้อมูลระบบจัดการฐานข้อมูลจะต้องรับผิดชอบว่าทุก ๆ การทำงานที่เกิดขึ้นในรายการเปลี่ยนแปลงต้องทำเสร็จเรียบร้อย มีการเปลี่ยนแปลงดังกล่าว จะถือว่าเป็นการเปลี่ยนแปลงบันทึกข้อมูลถาวร ถ้าโอนไป เงินออกจากบัญชีคุณ แต่ปลายทางยังไม่ได้ รับถือว่าการทำรายการเปลี่ยนแปลงนั้นยังไม่สมบูรณ์ นะคะ โดยที่ระบบจัดการฐานข้อมูลจะไม่อนุญาตให้บางกระบวนการทำงานของรายการเปลี่ยนแปลงนะคะ จะถูกส่งเข้าไปฐานข้อมูลนะคะ เหมือนจะเป็นไปได้ไหม ว่าการจะโอนเงิน 5,000 บาท แล้วก็คงจะถอนอีก3000 ในเวลาเดียวกัน เป็นไปไม่ได้ เพราะฉะนั้น กระบวนการทำงานจะต้องเป็นตามรายการที่กระทำอยู่รายการเดียวเท่านั้น ทั้งถอนทั้งโอนไม่ได้ ต้องเลือกก่อนว่า สรุปคุณจะโอนก่อน หรือคุณจะถอน เพราะว่าถ้าบังเอิญว่าคุณปล่อยให้มีการกระทำมากกว่า 2 มากกว่า 1 การกระทำขึ้นมาพร้อมกัน มันจะเอาไปมันจะสามารถไปเกิดปัญหาความไม่ถูกต้องแน่นอนของข้อมูล เช่น เรามีเงิน 5000 เราจะโอน 5,000 แล้วเราก็จะถอน 3000 เป็นไปไม่ได้ เหมือนบางคนมี app โทรศัพท์ แต่บัตร ATM อยู่กับแม่ โอนเงินให้เพื่อน 5,000 บาท มั่นใจว่าจะมี 5,000 แม่กดไปแล้ว 3000 แล้วก็ยังโอนมันโอนไม่ได้ค่ะ เพราะว่ายอดเงินไม่พอ เพราะฉะนั้น ใครผิด อันนี้ก็เป็นสิ่งที่ยอมไม่ได้ของระบบจัดการฐานข้อมูลนะคะ ซึ่งปัญหานะคะ การที่ระบบล่ม นะคะ มันจะมีอยู่ 3 ประเภท แบบแรก ก็คือรายการเปลี่ยนแปลงผิดพลาด กับข้อ 2 เป็นปัญหาที่ระบบ ข้อ 3 จะเป็นปัญหาที่สิ่งวัตถุที่มาใช้เก็บข้อมูลนะคะ โดยที่ปัญหาที่เกิดระหว่างการประมวลผล บางครั้งอาจจะเกิดจากคอมพิวเตอร์พังนะคะ หรืออาจจะเป็นปัญหาของรายการเปลี่ยนแปลงมัน Error ก็จะเป็นโค้ดโปรแกรมอาจจะมีปัญหานะคะ การเรียกดูข้อมูลอาจจะถูกดัก เจอรายการเปลี่ยนแปลงที่มีความผิดปกติ เช่น บอกว่ามีคนโอนเงินมา แต่จริง ๆ แล้วไม่พบรายการข้อมูลที่มีการเปลี่ยนแปลง ทั้ง ๆ ที่โอนไปแล้ว แต่ยอดเงินไม่ขึ้นนะคะ รวมถึงกระบวนการควบคุมการประมวลผลพร้อมกัน จะทำอย่างไรนะคะ อาจจะมีเกี่ยวกับอุปกรณ์พัง Harddisk พัง คนใช้งานนาน ๆ อากาศร้อน คอมพิวเตอร์ก็พังได้เหมือนกันนะคะ เหมือนบางคนเปิดคอมพิวเตอร์ไว้ไม่เคยปิดเลย พอช่วงฤดูร้อน มันร้อนมาก ตัว Main board งอ ความร้อนก็มีรวมถึงอาจจะเกี่ยวกับไฟดับไฟไหม้อุทกภัยหรือภัยธรรมชาติต่าง ๆ อาจเกิดขึ้นได้ถือว่าเป็นสาเหตุที่ทำให้การประมวลผลมีปัญหาเช่นเดียวกันนะคะ หรือในการทำงานบางอย่าง อาจนำไปสู่นำไปสู่การล่มของระบบ เช่น คุณใส่ข้อมูลเยอะเกินไป เหมือนเวลาเราเขียนโปรแกรมแล้วมันไม่รู้จบ หรือการที่เอา 0 มาหาร เวลาเราเอา 0 มาหาค่านี่ มันจะหาค่าไม่ได้ ตอนที่เราเขียนโปรแกรมระบบไปรษณีย์ล่ม รวมถึงตรรกะของการเขียนโปรแกรมอาจจะผิด อย่างไรดี ถ้าคนผมสั้น สมมติตรรกะบโปรแกรม คนผมสั้นจะต้องเป็นผู้ชายเท่านั้น ถามว่าจริงไหม ไม่จริ งผู้ชายผมยาวก็มี ผู้หญิงผมสั้นก็มี อันนี้คือตรรกะผิดพลาด เราจะมากำหนดอย่างนี้เลยไม่ได้ เหมือนเวลาสแกนใบหน้าอย่างนี้แล้วบอกว่า ผมสั้นมา ต้องเป็นแน่นอน ซึ่งมันไม่จริงหรือ User หรือผู้ใช้งานอาจเป็นการหยุดที่ไม่ถูกต้อง ระหว่างประมวลผล เช่น กำลังดาวน์โหลดเอกสาร หรือกำลังทำธุรกรรม บางคนกำลังโอนเงินอยู่ แล้วไม่ได้ใช้เน็ตในโทรศัพท์ ใช้เน็ต Wi-Fi มีคนถอดปลั๊กออก การโอนเงินของตอนนั้นของคุณอาจจะมีปัญหาก็ได้ อันนี้คือการทำงานอาจจะมีการผิดพลาด หรือปัญหาเกิดขึ้น อันนี้ก็อธิบายไปแล้วนะ อันนี้เปลี่ยนแปลง ซึ่งสาเหตุเหล่านี้นี่ เราเลยจำเป็นจะต้องมีทั้งการกู้คืน แล้วก็การสำรองข้อมูลนะคะ โดยการกู้คืนฐานข้อมูลนี่ ก็คือกระบวนการที่ทำให้ฐานข้อมูลของเรานี่ กลับสู่สภาวะเดิม ที่สามารถใช้งานได้นะคะ ถ้า ณ ขณะนั้น ถ้าไม่มีความขัดข้องหรือข้อผิดพลาดระหว่างการประมวลผล ซึ่งการฟื้นสภาพหรือการกู้คืนนี่ มันเป็นงานที่ระบบจัดการฐานข้อมูลนี่ ย้อนกลับไปยังข้อมูล ก่อนที่จะเกิดความเสียหายนะคะ โดยที่ไหนก็เหมือนจะเกิดความขัดข้องและความเสียหายของระบบไม่ว่ากรณีใด ๆ มันจะทำให้ข้อมูลนะนี่ ไม่ถูกต้อง แล้วก็เชื่อถือไม่ได้ เราจะต้องย้อนกลับไปนะคะ เพราะฉะนั้น การกู้คืนฐานข้อมูลนี่ มันจะเป็นมีวิธีการในการเอาข้อมูลที่ถูกทำลาย หรืออาจจะถูกเปลี่ยนแปลง ให้กับคืนมาอยู่ในสภาพที่ถูกต้อง น่าเชื่อถือเหมือนเดิมนะคะ ซึ่งอันนี้ก็คือเป็นหน้าที่ของระบบจัดการฐานข้อมูลเช่นเดียวกันนะคะ โดยการกู้คืนข้อมูลการฟื้นสภาพนี่ จะเป็นการทำให้เรามั่นใจว่ารายการที่ทำของเรานี่ ที่ถูกยกเลิกไป หรืออาจจะมีความผิดพลาดต่าง ๆ เช่น น่าจะเกิดจากโปรแกรมระบบมันเสีย Harddisk เสีย ไฟดับ ไฟตกนะคะ สิ่งเหล่านี้จะไม่ก่อให้เกิดความเสียหายของฐานข้อมูล หรือการทำงานอื่นที่ทำงานร่วมกันของข้อมูลนั้น ๆ นะคะ โดยรูปแบบของลักษณะของความผิดพลาดนะคะ อันแรกระบบล่ม ซึ่งอันนี้เราก็น่าจะคุ้นเคยกันอยู่ ความขัดข้องจากอุปกรณ์บันทึกข้อมูลนะคะ Harddisk เสีย ssd เสีย ผิดพลาดของโปรแกรมไปธรรมชาติ อย่างเราเป็นเรียนทางคอมพิวเตอร์ เราจะต้องไปดูแลคอมพิวเตอร์ แต่ถ้าคุณไม่ดูแลเอาใจใส่ ไม่ทำความสะอาด ไม่เช็กความพร้อมอุปกรณ์ คิดว่าไม่เป็นไรหรอก เปิดฝาหลังคอมพิวเตอร์มามีแต่ฝุ่น ถามว่าฝุ่นมันสะสมมาก ๆ สักวันมันจะช็อต แล้วคอมก็จะพัง อันนี้คือความไม่ดูแลเอาใจใส่ หรือเอาของเข้ามากินในห้องน้ำ หกใส่คอมพิวเตอร์ คอมของคุณก็พัง เพราะฉะนั้น เดี๋ยวถ้ามีโอกาสที่คุณจะไปดูงานห้องคอมพิวเตอร์ เป็นคอมพิวเตอร์ที่สมบูรณ์แบบ เขาจะห้ามของกินทุกชนิด รองเท้าต้องสะอาด ถุงเท้าต้องสะอาด ห้องคอมพิวเตอร์บางห้องต้องใส่หมวกคลุมผม ไม่ให้ผมร่วงลงไป เพราะบางทีถ้าพัดลมมันพัด น้องมันไปเกิดช็อต ที่ใบพัดของระบบทำความเย็นเสียหายได้หรือรวมถึงการก่อวินาศกรรม ถ้าเราดูหนังแต่เรื่องนะคะ จะมีการวางระเบิดห้องคอมพิวเตอร์ไรอย่างนี้ อันนี้ก็เป็นสาเหตุเช่นเดียวกันนะคะ ประเภทของเหตุขัดข้อง ก็มีอยู่ 3 ลักษณะหลัก ๆ นะคะ อันแรก จะเป็นความขัดข้องของระบบ เช่น ความขัดข้องของระบบปฏิบัติการนะคะ ทำให้ระบบไม่สามารถทำงานไม่ได้ การ อาจจะต้องมีการปิดเปิดเครื่องใหม่ หรือ Restart นะคะ ซึ่งจะมีผลกับทุกรายการเปลี่ยนแปลงที่กำลังทำงานอยู่ อาจจะไม่ถึงขั้นทำลายข้อมูลในฐานข้อมูลนะคะ เราจะเรียกการขัดข้องแบบนี้ว่าเป็นการขัดข้องแบบอย่างเบาแล้วกัน ข้อมูลไม่หาย แต่ข้อมูลที่อยู่ใน Harddisk นี่ บางครั้งอาจจะ ต่อไปครั้งหน้า ที่มีการเล่นการทำงานมันอาจจะช้านะคะ เพราะว่าส่วนมากข้อมูลแล้วจะเก็บไว้ใน Harddisk ซึ่ง Harddisk ไม่มีไฟฟ้าก็สามารถเก็บข้อมูลได้นะคะ อันนี้เป็นความขัดข้องแบบที่ยังพอรับได้ ปิดเปิดเครื่องใหม่ ก็หาย แต่ถ้าเป็นความขัดข้องของรายการเปลี่ยนแปลงนะคะ ก็จะมีอยู่ 2 ลักษณะ บางครั้งมันจะเป็นความขัดข้องที่อาจจะป้องกันได้ จากโปรแกรมที่เราเขียนไว้ หรือโปรแกรมที่เราใช้งาน โดยมีทั้งภายในภายนอกที่ไม่สามารถแก้ไขได้ อย่างสมมติว่าเ เช่น ความขัดข้องที่สามารถป้องกันได้จากภายในโปรแกรม เช่น ถ้าเราจะโอนเงิน สมมติว่าเราอยากโอน 500,000 นะคะ แต่จริง ๆ แล้วมีอยู่ 500 โปรแกรมก็จะเริ่มตรวจสอบความผิดพลาดแล้วว่า แล้วก็แสดงผลว่ายอดเงินของคุณไม่เพียงพอ ต้องยกเลิกรายการนี้ หรือกลับไปแก้ไขจำนวนเงินใหม่ อันนี้คือเราสามารถป้องกันความเสียหายได้นะคะ อันนี้ ก็คือมันจะเป็นเกี่ยวกับตรรกะ แนวคิดอยู่แล้ว เงินไม่พอจะโอนได้อย่างไร อันนี้เป็นพื้นฐานง่าย ๆ เป็นต้นหรือถ้าไม่สามารถป้องกันได้ เช่น ข้อมูลมันเยอะเกิน อย่างเช่น อาจจะเคยได้ยินข่าวว่า มี Hacker พยายาม เอาข้อมูลเหมือนพยายามโจมตี server server 1นะคะ อาจจะเป็นมหาลัยเราก็ได้สามารถทำงานได้พร้อมกันเต็มที่ 500 คน แต่Hacker ใช้ User เป็น 1 ล้านคน มาโจมตี มันจะทำให้ระบบเรานี่ ไม่สามารถรับได้ ระบบก็จะล่ม เพราะเรารับได้เต็มที่ 500 แต่คนล้านคนพยายามเข้ามาหรือพยายามกรอกข้อมูลนี่ เป็นไปไม่ได้เลย ระบบก็จะพังนะคะ อย่างนี้เป็นต้น อันนี้คือไม่สามารถตรงกันในจักโปรแกรมเราได้เลย กับอีกอย่างหนึ่ง ของอุปกรณ์อาจจะพังหัวอ่านสะเทือนกระทบกันนักศึกษาบางคนชอบใช้โน๊ตบุ๊ค แล้วปิดพัดลมปิดเครื่องเครื่องก็ยังทำงานอยู่เวลาคุณขี่มอเตอร์ไซค์ ตกหลุม ขึ้นเนิน มันสะเทือน อุปกรณ์ที่อยู่ในกระเป๋าเป้เรามันยังทำงาน มันก็จะสะเทือนไปด้วย มันก็อาจจะพัง คอมคุณก็จะพัง เพราะบางทีหัวอ่าน Harddisk คุณ มันทำงานอยู่ พอมันโดนกระแทก หัวอ่านมันจะเป็นเข็มเล็ก ๆ มันก็พังนะคะ อันนี้ก็ระวังด้วย อันนี้คือความเสียหายของอุปกรณ์ ที่ถือว่าเป็นลักษณะที่ค่อนข้างรุนแรง เพราะถ้ามันพัง เราแก้ไขไม่ได้ เพราะเหมือนมันหักไปแล้ว มันเสียไปแล้ว ข้อมูลแล้วก็ไม่ได้สำรอง อันนี้ก็คือข้อผิดพลาดจากอุปกรณ์เก็บข้อมูล ความจำเป็นของการกู้คืนข้อมูล ก็แน่นอนค่ะ อยู่ที่ว่าเราจะสำรองข้อมูลกับอะไร ใส่ Harddisk ไว้ไหม หรือใส่ USB ไว้ หรือ Upload ขึ้นบนGoogle Drive หรือบน Cloud ก็ว่าไป ซึ่งประเภทของเก็บข้อมูลสำรองจะมีอยู่ 3 แบบ 3 แบบนี้ถ้านับเป็นอุปกรณ์นะที่จับต้องได้ อันดับแรกเป็นอุปกรณ์ที่เก็บข้อมูลได้ต่อเมื่อมีไฟฟ้านะคะ ในกรณีที่ไม่มีไฟฟ้า ข้อมูลพวกนี้จะหายไป สิ่งเหล่านี้ ก็คือ Ram เรียนประกอบคอมแล้ว Ram จะเป็นการ์ดแผ่นเล็ก ๆ นะคะ น่าจะเป็นพื้นที่สำหรับสำรองข้อมูลตอนที่คอมพิวเตอร์ทำงานอยู่ ถ้าเราปิดปุ๊บ ข้อมูลในนั้นจะหายไปนะคะ กับอุปกรณ์ที่ไม่จำเป็นต้องใช้ไฟฟ้า ก็คือ Harddisk ซึ่งอุปกรณ์ประเภทนี้น่ะ มักจะเกิดปัญหา ก็คือ Harddisk พัง หัวอ่านหัก หรือ Harddisk เป็นรอยนะคะ เพราะฉะนั้น ก็ต้องระวังด้วย กับอันต่อมาเป็น stable ก็คืออันนี้จะเป็นค่อนข้างโบราณไม่ต้องอาศัยกระแสไฟฟ้า ส่วนมากจะมาใช้ในการสำรองข้อมูลมากกว่า ลักษณะเป็นเทปแม่เหล็ก เพราะราคาค่อนข้างถูก การเรียกดูข้อมูลมันจะช้านะคะ แต่ว่าส่วนมากเขาเลยใช้เป็นที่เก็บข้อมูล ไม่ได้มาประมวลผลทุกวันนะคะ ก็ถามว่านิยมใช้ไหม ก็ไม่น่ะค่ะ เพราะว่าตอนนี้เขาก็ใช้ Harddisk กันหมด อย่างน้อย ๆ นะคะ ต่อมาก็เป็นความผิดพลาดมีอยู่ 4 ประเภทนะคะ อันแรกก็คือความผิดพลาดตรรกะนะคะ ก็บางทีก็เกิดความผิดพลาดตั้งแต่ตอนเราที่เขียนโปรแกรมมันพิมพ์ เช่น โปรแกรมไม่ยอมทำงาน เพราะว่าบัตรประชาชนคุณกำหนดไว้เป็น 15 หลัก ความจริงมีแค่ 13 พอกรอกไม่ครบ ระบบทำงานไม่ได้ ผู้ใช้งานกรอกถูกแล้ว 13 ตัว แต่ระบบบอกว่ามันต้องมันหายไป 2 ตัว อันนี้คือตรรกะมันผิดโ ปรแกรมมันผิด เราเขียนผิดนะคะ ก็ไปถือว่าเป็นความผิดพลาดอย่างหนึ่ง หรือว่านามสกุล บอกเป็นตัวเลขไม่ได้ แต่บังเอิญ คุณไม่ได้ปิดความผิดพลาดตรงนี้ มีคนมาปั่น มาป่วนระบบคุณ เข้าใช้นามสกุลเป็นตัวเลข ระบบยอมให้เซฟหรือยอมให้บันทึกข้อมูล สรุปคุณก็ได้ข้อมูลขยะเข้ามาทำให้เปลืองการประมวลผลข้อมูลอีกนะคะ กับความผิดพลาดของระบบนะคะ เช่น ปัญหาการจัดลำดับงานผิดพลาด แล้วมันเลยเกิดปัญหาระบบหยุดการทำงานของมันเอง ล็อก ไม่ให้คุณทำงานนะคะ แบบนี้ รวมถึงความผิดพลาดของอุปกรณ์จัดเก็บข้อมูล เช่น เหมือนตึกนี้ไฟไม่สม่ำเสมอ ไฟตกบ่อย ข้อมูลหายบ่อยนะคะ อันนี้ก็เป็นปัญหา เพราะฉะนั้น ในห้องนี้ เมื่อก่อนเราเลยมีอุปกรณ์สำรองไฟ อุปกรณ์สำรองไฟ ใช้ไปนาน ๆ ไฟตกบ่อยก็พังเหมือนกันนะคะ อันนี้ก็เป็นความผิดพลาดของระบบ รวมถึงความผิดพลาดของระบบอุปกรณ์ที่เก็บข้อมูลนะคะ เช่น ปัญหาบางที Harddisk ของเรานี่ พอเราไม่ปิดเครื่อง อย่างที่อาจารบอกคุณแม่ปิดเครื่องนี่มันทำงานตลอดแล้วหัวเข็มมือที่มันสะเทือนไอ้ตัวหน้าหน้าจานแม่เหล็กที่เก็บข้อมูลของเราเนี่ยมันเลยเป็นรอยขูดขีด เป็นรอย เหมือนสมัยเด็ก ๆ ทุกคนดูแผ่น CD น่ะค่ะ แผ่น CD เป็นรอยหนังในแผ่นซีดีเราเนี่ยก็จะดูแล้วมันก็จะกระตุก อาจจะดูไม่ได้เลยเพราะว่าเราเก็บรักษาไม่ดี นี่ก็เหมือนกันนะคะ เพราะฉะนั้น การใช้อุปกรณ์ใด ๆ ที่เป็นอุปกรณ์คอมพิวเตอร์นี่ มันค่อนข้างมีราคา แล้วก็มีความสำคัญอาจจะมีข้อมูลสำคัญ อย่างนั้น เราก็ต้องช่วยกันรักษาด้วยนะคะ การกู้ข้อมูลจากอุปกรณ์ที่ใช้ไฟฟ้า มีอยู่ 3 แบบ นะคะ แบบแรก ก็เป็นการกู้ข้อมูลที่อาศัยข้อมูลที่เก็บจาก เขาจะเรียกว่า รายการเปลี่ยนแปลงอย่างนี้ สมมติว่า เหมือนกับเวลาเราไปเซ็นชื่อ หรือการเก็บข้อมูลว่าวันนี้คุณมาเรียนกี่โมง กลับบ้านกี่โมง นะคะ มันก็มีการเก็บไว้เป็นลำดับรายการ เป็นหมายเลขการเปลี่ยนแปลง มีการกระทำอะไรบ้าง ชื่อตารางมาจากไหน เปลี่ยนแปลงข้อมูลอะไร ลักษณะของการเก็บข้อมูลเป็นตารางแบบนี้ เช่น สมมติ10.12 น. เริ่มทำงานนะคะ นาทีต่อมามีการเปลี่ยนแปลงข้อมูลของพนักงาน ลำดับที่เท่าไรนะคะ ข้อมูลเดิมลำดับที่ 1 เปลี่ยนเป็นลำดับที่ 8 แบบนี้เป็นต้นนะคะ อันนี้คือเขาจะรู้เลยว่าทุก ๆ กี่นาทีมีข้อมูลอะไรเกิดขึ้นบ้าง มีรายการเปลี่ยนแปลงใดบ้าง อย่างเช่น รายการเปลี่ยนแปลงที่ 1 เปลี่ยนแปลงที่ 2 เปลี่ยนแปลงที่ 3 เขียนว่าทุกการเปลี่ยนแปลงจะเริ่มต้นที่จุด START มีการเริ่มทำงานอย่าง เหมือนรายการเปลี่ยนแปลงที่ 1 เห็นไหมคะ เริ่มต้นเมื่อ 10.12 น. สถานะ COMMIT ก็คือยอมรับการเปลี่ยนแปลง ตอน 10.18 น. ก็คือเราทำงานในการแก้ไขข้อมูลนี่ ใช้เวลา6 นาที มันจะเก็บทุกอย่างที่เกิดขึ้นใน 6 นาทีนั้นนะคะ อย่างเช่น START นะคะ เช็กสถานะ ก็คือ START ก็คือรายการจะเริ่มต้นทำงานนะคะ COMMIT ก็คือทำงานเสร็จอัพเดท ก็คือรายการถูกบันทึกแล้วแล้วก็ให้เกิดการเปลี่ยนแปลงค่าสถานะหลัก ๆ จะมีอยู่ 3 สถานะน ะคะ สำหรับการเก็บข้อมูลเป็นประเภท Log File ก็คือเป็นการเก็บการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นนั่นเอง การกู้คืนใน เกิดจากเหตุขัดข้องแบบความผิดพลาดของระบบ เราจะมีจุดที่เป็นเหมือนจุดตรวจสอบนะคะ ถ้าสมมติว่าทำงานแล้วยังไม่ถึงจุดตรวจสอบ แล้วถ้าระบบล่ม เราจะเริ่มต้นใหม่ทั้งหมด แต่ถ้าการทำงานของเราเลยจุดตรวจสอบแล้ว แล้วระบบจึงล่ม เราจะเริ่มการทำงานใหม่ที่จุดตรวจสอบนั้นนะคะ ก็คือไม่ต้องเริ่มใหม่ทั้งหมด จะเริ่มตรงจุดที่เราMark ไว้ หรือเราตั้งธงไว้ให้เองนะคะ เดี๋ยววันนี้ค่อยอธิบาย เพราะว่าเป็นตัวเลขเยอะนะ แบบนี้ล่ะค่ะ อย่างเช่นวันนี้ค่ะ จุด Check Point ถามว่าตัวกระบวนการทำงานที่ 1 ที่ 1 เริ่มต้นตรงนี้ ถึงตรงนี้ ถามว่ามันทำงานเสร็จไหม ทำงานเสร็จเรียบร้อยนะคะ t 1 ไม่มีปัญหาอะไร t 2 ล่ะ t 2 ทำงานผ่านจุดตรวจสอบที่ 1 เสร็จเรียบร้อย ก่อนถึงจุดที่ระบบจะล่ม ถามว่า t 2 ทำงานเสร็จไหม t2 ทำงานเสร็จนะคะ t3 ทำเริ่มทำงานตรงนี้ ผ่านจุดตรวจสอบ ทำงานจนถึงผิดพลาด ถามว่า t 3 จะเริ่มทำงานที่ไหน จะไม่เริ่มตรงนี้นะคะ จะเริ่มตรงที่จุดตรวจสอบตรงนี้ t4 เริ่มทำงานตรงนี้เสร็จตรงนี้ ไม่อยู่ในจุดตรวจสอบก็จริง แต่เราก็นับว่าเขาทำงานเสร็จเรียบร้อยนะคะ ส่วน t 5ทำงานหลังจากตรวจสอบ แล้วทำไม่เสร็จ t 5 จะทำอย่างไร t 5 ต้องเริ่มใหม่ทั้งหมด อันนี้คือการทำงานของจุดตรวจสอบจะเห็นได้ว่าถ้าคุณทำงานผ่านจุดตรวจสอบก็จริง แต่ถ้าระบบมันทำงานเสร็จก็ไม่มีปัญหาอะไร แต่ถ้าการทำงานมีปัญหา แล้วผ่านจุดตรวจสอบแล้ว เราจะไม่เริ่มใหม่ทั้งหมด เราจะเริ่มต้นแค่ตรงที่จุดตรวจสอบนะคะ อันนี้เป็นแบบการกู้คืนข้อมูลแบบใช้จุดตรวจสอบ กับการกู้คืนแบบ ทำคล้าย ๆ กับว่าเป็นสำเนาข้อมูลนะคะ ก็ส่วนมากตัวนี้ การกู้คืนตัวนี้ จะใช้พื้นที่ในการเก็บข้อมูลเยอะพอสมควร เพราะไม่ว่าจะมีการกระทำใด ๆ เกิดขึ้นในระบบของเรา มันจะทำสำเนาซ้ำไว้ด้วยเสมอ เหมือนกับเงานะคะ เขาเรียกว่าเหมือนเราเดินไปก็จะมีเงาติดตัวเราไปด้วย เราเดินซ้ายต้องเอาไปทางซ้าย เราเดินขวาก็เป็นเงาทางขวา เพราะฉะนั้น ไม่ว่าจะเกิดการกระทำใดขึ้น จะมีสำเนาไว้ด้วยเสมอนะคะ อันนี้เป็นการทำแบบ Shadow Paging นะคะ เป็นการกู้ข้อมูลจากการสำรองข้อมูลที่ไม่ใช้ไฟฟ้า ส่วนมากก็จะเป็นอุปกรณ์ที่เป็น Harddisk หรือว่าเทปแม่เหล็กนะคะ แต่แบบนี้เนี่ยเราจะไม่ทำสำเนาตลอดเวลา เราจะมีการกำหนดช่วงเวลาในการสำรองข้อมูล เช่น ทุก ๆ 1 เดือน 2 เดือน 3 เดือน ว่าไป แต่ถ้าเป็นข้อมูลปริมาณมากนะคะ อย่างในธนาคารนี่ เขาจำเป็นต้องสำรองข้อมูลแทบจะตลอดเวลาเลย เพราะเขามันเป็นเรื่องเกี่ยวกับเงินเงินทองทอง มันจะพลาดไม่ได้ วันนี้จะทำงานได้ พรุ่งนี้อาจจะไฟไหม้ห้องเก็บข้อมูลหรือเปล่าก็ไม่รู้โดยการกู้คืนข้อมูลแบบนี้เนี่ยถ้าเป็นองค์กรขนาดใหญ่เขาจะต้องมีการซ้อมด้วยว่า ถ้าเกิดวันนี้นี่ ระบบเราล่ม 2 ทุ่ม พรุ่งนี้ต้องทำงานจะทำอย่างไร ถ้าใครที่ทำงานเกี่ยวข้องกับคอมพิวเตอร์ทั้งหมดจะต้องมาซ้อม อาจจะเป็นธนาคารขนาดใหญ่แห่งหนึ่ง พรุ่งนี้ต้องทำงานเหมือนเดิม เงินต้องอยู่เหมือนเดิม ต้องกู้คืนระบบให้ได้ภายใน 6 ชั่วโมง จากข้อมูลทั้งหมด จะต้องมีการซ้อมด้วย เช่น สมมติว่าคุณมีข้อมูลที่เก็บไว้มันจะเป็น Harddisk ประมาณเป็นพัน ๆ Harddisk คุณจะเรียกข้อมูลกลับคืนมาอย่างไร ให้เสร็จภายในพรุ่งนี้เช้า เขาต้องสอนนะคะ บางทีถ้าเป็นคนที่ทำงานหน้าคอมพิวเตอร์และเฝ้า Server เดี๋ยวบางทีต้องมานอนเฝ้าห้องด้วยซ้ำเขาก็จะห้ามของกิน ห้ามสูบบุหรี่ ห้อง Server ก็จะหนาวมาก อาจจะต้องนอนในนั้น บางคนมีถุงนอนด้วยซ้ำเ พื่อเฝ้าอุปกรณ์เก็บข้อมูลนะคะ การกู้ข้อมูล จะเป็นการโอนข้อมูลจากอุปกรณ์เก็บข้อมูลทั้งหมดกลับมา แล้วก็จะเอารายการเปลี่ยนแปลงที่มีการเก็บ Log File ก็คือการเก็บเวลาการเปลี่ยนแปลงทุกอย่าง ที่ทำงานสมบูรณ์นะะ คะ ก็จะมาบันทึกไว้ในระบบที่เรากู้คืนมาใหม่ทั้งหมด ก็คือเหมือนกับกาถ้ามันมีการเปลี่ยนแปลงเกิดขึ้นเราก็จะคบกันมาทั้งหมดนะคะ วันนี้ก็จะประมาณนี้ เพราะว่าเราจะไม่เน้นว่าพวกคุณจะต้องสำรองข้อมูลเองทั้งหมดนะ อันนี้ให้รู้ไว้ มันจะเป็นฐานข้อมูลขั้นสูง จะเรียนในปีที่สูงกว่านี้นะคะ เป็นวิชาเฉพาะทาง แต่ว่าภาษา SQL นี่ ทุกคนต้องได้เรียน อาทิตย์หน้าจะเป็นตัวอย่างคำสั่งภาษา SQL นะคะ ที่ทุกคนจะต้องจำแล้วก็ทำให้ได้ค่ะ ว่าแต่ละคำสั่งมันมีความสำคัญอย่างไร กระบวนการทำงานเราจะเขียนเขียนโปรแกรมอย่างไร ในการเรียกดูข้อมูล ใครยังใช้โปรแกรมไม่เป็นเดี๋ยวอาทิตย์หน้าอาจารย์จะพาดูยัง ๆ ก่อน ว่าแต่ละคำสั่งมันต้องทำงานอย่างไร ถ้าเราจะเรียกดูข้อมูลเราจะต้องใช้คำสั่งอะไรนะคะ ถ้าจะเพิ่มข้อมูลใช้คำสั่งอะไร แก้ไขข้อมูล ลบข้อมูล ต้องทำอย่างไร แต่ก็ต้องเข้าใจด้วยว่าเราจะใช้ภาษาอังกฤษเป็นหลักนะคะ เพราะฉะนั้น พยายามจำแล้วก็พิมพ์ให้ถูก หรือแปลความหมายมันได้ยิ่งดีว่าคำศัพท์คำนี้ถ้าเป็นภาษาไทยมันคืออะไร ทำไมเราถึงเลือกใช้คำนี้นะคะ เหมืนอเวลาสมมติว่า ต่อไปปี 3 ไปฝึกงาน เขาถามว่ารู้จักฐานข้อมูลไหม รู้จักคำสั่งนี้หรือเปล่านะคะ เราจะได้ตอบเขาได้ ว่าอย่างน้อยเรารู้ว่าคำสั่งนี้มันทำงานอย่างไรระคะ วันนี้ไม่มีการบ้านนะคะ เพราะว่าต้องขออนุญาตไปประชุมตอน บ่าย 2 พอดี วันนี้ก็ประมาณนี้ค่ะ แต่ว่าอาทิตย์หน้านะคะ เตรียมตัวมาดี ๆ ท่องศัพท์ภาษาอังกฤษกัน นะคะ วันนี้ก็ขอบคุณล่าม แล้วก็ขอบคุณข้อความด้วยนะคะ ขอบคุณมาก ๆ เลยค่ะ