--- title: ฝึก PE กับ Bot ASR ห้องเรียนสกลฯ หลักการและระบบการจัดการฐานข้อมูล อ.เกวลี 10 ม.ค. 66 ปลา subtitle: date: วันพฤหัสบดีที่ 12 มกราคม 2566 เวลา 09.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) โอเคค่ะ อย่างนั้นเดี๋ยวเริ่มเลยนะคะวันนี้จะเป็นบทที่ 8 บทเหลืออีก 2 บท เราก็ได้ธรรมปฏิบัติวันนี้จะเป็นเกี่ยวกับกระบวนการทำงานของฐานข้อมูลนี่ มันก็จะมีการเปลี่ยนแปลงข้อมูลมันเป็นการเพิ่มลบแก้ไขเราจะเรียกว่าเป็นการเปลี่ยนแปลงรวมถึงถ้าสมมุติว่าระบบฐานข้อมูลเรามีปัญหา เราจะทำการกู้คืนระบบยังไงหรือจะสำรองข้อมูลอย่างไร เพื่อป้องกันความเสียหายของข้อมูลนะคะ ตัวรายการการเปลี่ยนแปลงนี่ มันจะมีนิยามอยู่ 3 ยุคยุคแรกก็คือไฟล์ที่เราเก็บรายการที่มีการเปลี่ยนแปลงไว้นี่นะคะ จะเก็บไว้ในแฟ้มข้อมูลหลักซึ่งจะเป็นการเก็บเป็นแบบเรียงลำดับนะคะ ไฟล์ที่มีการเรียงข้อมูลไว้เรียบร้อยแล้วนะคะ ต่อมาจะเป็นยุคที่ 2 ตอนแรกก็เก็บข้อมูลเป็นเหมือนอาจจะเป็นคล้าย ๆ ไฟล์กระดาษ พอยุคที่ 2 นี่เราจะเริ่มใช้เป็นพวกนี้สิ hdd เก็บข้อมูลซึ่งการเก็บข้อมูลในฮาร์ดดิสนี่ มันจะไม่เป็นการเก็บข้อมูลแบบเรียงลำดับแล้วซึ่งรายการเปลี่ยนแปลงที่เกิดขึ้นนี่ จะหมายถึงทุก ๆ กิจกรรมที่ทำอยู่บนไฟล์ข้อมูลของเราน่าจะตอนเช้า 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 โทษทีนะคะ เป็นรายการเปลี่ยนแปลงที่เกิดขึ้นเขาต้องการจะโอนเงินจากบัญชีของ A จำนวน 5,000 บาทไปยังบัญชี B นะคะ สิ่งที่เกิดขึ้นคืออะไรสิ่งที่เกิดขึ้นคือตอนแรก เราจะต้องดูข้อมูลก่อนว่าในบัญชี a ที่เขาบอกว่าเขาจะโอนเงินไปเนี่ย โอน 5,000 ขั้นตอนแรกคือดูก่อนสิว่ามีเงินถึง 5000 ไหม มีเกินหรือเปล่าเช็กยอดเงินเสร็จปุ๊บ เราก็จะมาหักบัญชีเช่นสมมุติเขามี 5,000 บาท 100 บาท งั้นแสดงว่ามีจะยอดเงินพอที่จะโอนไปให้จะทำการลบเงินออก 5,000 ลบไปแล้ว 5000 ใช่ไหมคะ เพราะว่าเราจะโอนอันสุดท้ายแล้วบัญชีเอจะต้องเหลือเงิน 100 บาทใช่ไหมเวลาเราโอนเงินแล้วถอนเงินเขาจะบอกยอดเงินปัจจุบันของเราด้วย อันนี้เป็นเรื่องปกติใช่ไหมคะ หลังจากนั้น เราก็จะมาดูว่าเขาจะโอนไปที่บัญชี B ใช่ไหมคะเราว่ายอดเงินบัญชีดีขึ้นมาดูซิว่ามีเท่าไหร่บัญชีบีจะมีอยู่ 1 คัน 1000 บั1000พ่อโอนมาอีก 5,000เราก็ต้องอัพเดทหรือการปรับปรุงข้อมูลบัญชีบี 1000 ก็จะเพิ่มเป็น 6,000 บาท อันนี้คือรายการเปลี่ยนแปลงของการโอนบัญชี แต่ทุกลำดับขั้นตอนจะต้องมีวันที่เวลากำหนดไว้ ทุกการเปลี่ยนแปลงเป็นวินาทีเลยด้วยซ้ำ พอไม่มีการเปลี่ยนแปลงแล้วนี่ เราใช้งานไปเรื่อยๆระบบมันอาจจะมีปัญหามันจะต้องมีการสำรองข้อมูลนะคะ พอเราสำรองข้อมูลไว้ทำไมเราต้องสำรองข้อมูลถ้ามีข้อมูลสำรองไว้ถ้าระบบมีปัญหาเราสามารถกู้ข้อมูลกลับคืนมาได้ ทำไมเราถึงจำเป็นต้องกู้คืนข้อมูล ถ้าเกิดเมื่อกี้นี้ เป็นคนกำลังโอนเงินไฟดับ โอนไปแล้ว 5,000 บาทไฟดับพอดีเงินคุณออกไปแล้ว แต่บัญชีที่คุณจะโอนให้เงินยังไม่ได้ เพราะไฟดับพอดีทำอย่างไรดีนะคะ ถือว่าระบบล่มมันจะต้องมีการแก้ปัญหาซึ่งเป็นหน้าที่ของระบบจัดการฐานข้อมูลระบบจัดการฐานข้อมูลจะต้องรับผิดชอบว่าทุก ๆ การทำงานที่เกิดขึ้นในรายการเปลี่ยนแปลงต้องทำเสร็จเรียบร้อย มีการเปลี่ยนแปลงดังกล่าวจะถือว่าเป็นการเปลี่ยนแปลงบันทึกข้อมูลถาว ร ถ้าโอนไปเงินออกจากบัญชีคุณ แต่ปลายทางยังไม่ได้รับถือว่าการทำรายการเปลี่ยนแปลงนั้น ยังไม่สมบูรณ์ โดยที่ระบบจัดการฐานข้อมูล จะไม่อนุญาตให้บางกระบวนการทำงานของรายการเปลี่ยนแปลง จะถูกส่งเข้าไปฐานข้อมูล เหมือนจะเป็นไปได้ไหมว่าการจะโอนเงิน 5,000 บาท แล้วก็คงจะถอนอีก 3000 ในเวลาเดียวกัน เป็นไปไม่ได้ เพราะฉะนั้น กระบวนการทำงานจะต้องเป็นตามรายการที่จะทำอยู่รายการเดียวเท่านั้น ทั้งถอนทั้งโอนไม่ได้ ต้องเลือกก่อนว่าสรุปคุณจะโอนก่อน หรือคุณจะถอน เพราะว่าถ้าบังเอิญว่าคุณปล่อยให้มีการกระทำมากกว่า 2 มากกว่า 1 การกระทำขึ้นมาพร้อมกัน มันจะเอาไปมันจะสามารถไปเกิดปัญหาความไม่ถูกต้องแน่นอนของข้อมูล เช่น เรามีเงิน 5000 เราจะโอน 5,000 แล้วเราก็จะถอน 3000 มันเป็นไปไม่ได้ บางคนมีแอปโทรศัพท์แต่บัตร ATM อยู่กับแม่โอนเงินให้เพื่อน 5,000 บาทมั่นใจว่าจะมี 5,000 แม่กดไปแล้ว 3000 แล้วก็ยังโอนมันโอนไม่ได้ค่ะเพราะว่ายอดเงินไม่พอ เพราะฉะนั้น ใครผิด อันนี้ก็เป็นสิ่งที่ยอมไม่ได้ของระบบจัดการฐานข้อมูลนะคะ ซึ่งปัญหานะคะ การที่ระบบล่มนะคะ มันจะมีอยู่ 3 ประเภท แบบแรกคือรายการเปลี่ยนแปลงผิดพลาด กับข้อ 2 เป็นปัญหาที่ระบบ ข้อ 3 จะเป็นปัญหาที่สิ่งวัตถุที่มาใช้เก็บข้อมูลนะคะ โดยที่ปัญหาที่เกิดระหว่างการประมวลผล บางครั้งอาจจะเกิดกับคอมพิวเตอร์พังนะคะ หรืออาจจะเป็นปัญหาของรายการเปลี่ยนแปลงมัน Error ก็อาจจะเป็นโค้ดโปรแกรม อาจจะมีปัญหานะคะ การเรียกดูข้อมูลอาจจะถูกดักรายการเปลี่ยนแปลงที่มีความผิดปกติ เช่น บอกว่ามีคนโอนเงินมาแต่จริง ๆ แล้ว ไม่พบรายการข้อมูลที่มีการเปลี่ยนแปลงที่โอนไปแล้ว แต่ยอดเงินไม่ขึ้นนะคะ รวมถึงกระบวนการควบคุมการประมวลผลพร้อมกัน จะทำยังไงนะคะ อาจจะมีเกี่ยวกับอุปกรณ์พังฮาร์ดดิสพังคนใช้งานนานๆอากาศร้อนคอมพิวเตอร์ก็พังได้เหมือนกันนะคะเหมือนบางคนเปิดคอมพิวเตอร์ไว้ไม่เคยปิดเลยพอช่วงฤดูร้อนมันร้อนมาก ตัวเมนบอร์ดงอ ความร้อนก็มีรวมถึงอาจจะเกี่ยวกับไฟดับ ไฟไหม้ อุทกภัยหรือภัยธรรมชาติต่าง ๆ อาจเกิดขึ้นได้ถือว่าเป็นสาเหตุที่ทำให้การประมวลผลมีปัญหาเช่นเดียวกัน หรือในการทำงานบางอย่างอาจทำไปสู่นำไปสู่การล่มของระบบ เช่น คุณใส่ข้อมูลเยอะเกินไป เหมือนเวลาเราเขียนโปรแกรมแล้วมันไม่รู้จบ หรือการที่เอา 0 มาหาร เวลาเรา 0 มาหานี่มันจะหาค่าไม่ได้ตอนที่เราเขียนโปรแกรมระบบไปรษณีย์ล่ม รวมถึงตรรกะของการเขียนโปรแกรมอาจจะผิด อย่างไรดี ถ้าคนผมสั้นสมมุติจะกลับโปรแกรมคนผมสั้น จะต้องเป็นผู้ชายเท่านั้น ถามว่าจริงไหมไม่จริง ผู้ชายผมยาวก็มี ผู้หญิงผมสั้นก็มีอันนี้คือตรรกะผิดพลาดเราจะมากำหนดอย่างนี้เลยไม่ได้เหมือนเวลาสแกนใบหน้าอย่างนี้ แล้วบอกว่า อุ้ยผมสั้นมาต้องเป็นแน่นอนซึ่งมันไม่จริงหรือ User หรือผู้ใช้งานอาจเป็นการหยุดที่ไม่ถูกต้อง ระหว่างประมวลผล เช่น กำลังดาวน์โหลดเอกสาร หรือกำลังทำธุรกรรม บางคนกำลังโอนเงินอยู่ เราไม่ได้ใช้เน็ตในโทรศัพท์ใช้เน็ต WiFi มีคนถอดปลั๊กออกการโอนเงินของตอนนั้นของคุณอาจจะมีปัญหาก็ได้ อันนี้คือการทำงานอาจจะมีการผิดพลาดหรือปัญหาเกิดขึ้น อันนี้ก็อธิบายไปแล้วนะ อันนี้เปลี่ยนแปลง ซึ่งสาเหตุเหล่านี้นี่ เราเลยจำเป็นจะต้องมีทั้งการกู้คืน แล้วก็การสำรองข้อมูลโดยการกู้คืนฐานข้อมูลนี่ ก็คือกระบวนการที่ทำให้ฐานข้อมูลของเรานี่ กลับสู่สภาวะเดิมที่สามารถใช้งานได้นะคะ ถ้าขนาดนั้นถ้าไม่มีความขัดข้องหรือข้อผิดพลาดระหว่างการประมวลผล ซึ่งการฟื้นสภาพหรือการกู้คืนนี่ มันเป็นงานที่ระบบจัดการฐานข้อมูลนี่ ย้อนกลับไปยังข้อมูลก่อนที่จะเกิดความเสียหายนะคะ โดยที่ไหนก็เหมือนจะเกิดความขัดข้องและความเสียหายของระบบ ไม่ว่ากรณีใด ๆ มันจะทำให้ข้อมูลนะ นี่ไม่ถูกต้องแล้วก็เชื่อถือไม่ได้เราจะต้องย้อนกลับไป เพราะฉะนั้น การกู้คืนฐานข้อมูลมันจะเป็นมีวิธีการในการเอาข้อมูลที่ถูกทำลาย หรืออาจจะถูกเปลี่ยนแปลงให้กลับคืนมาอยู่ในสภาพที่ถูกต้อง น่าเชื่อถือเหมือนเดิมนะคะ ซึ่งอันนี้ก็คือเป็นหน้าที่ของระบบจัดการฐานข้อมูลเช่นเดียวกัน โดยการกู้คืนข้อมูลการฟื้นสภาพเหมือนจะเป็นการทำให้เรามั่นใจว่ารายการที่ทำของเรานี่ ที่ถูกยกเลิกไป หรืออาจจะมีความผิดพลาดต่าง ๆ เช่น น่าจะเกิดจากโปรแกรมระบบมันเสียฮาร์ดดิสก์เสียไฟดับไฟตกนะคะ สิ่งเหล่านี้จะไม่ก่อให้เกิดความเสียหายของฐานข้อมูล หรือการทำงานอื่นที่ทำงานร่วมกันของข้อมูลนาน ๆ นะคะ โดยรูปแบบของลักษณะของความผิดพลาดนะคะ อันแรกระบบล่ม ซึ่งอันนี้เราก็น่าจะคุ้นเคยกันอยู่ ความขัดข้องจากอุปกรณ์บันทึกข้อมูลนะคะ ฮาร์ดดิสก์เสีย ssd เสียผิดพลาดของโปรแกรมไปธรรมชาติอย่างเราเป็นเรียนทางคอมพิวเตอร์ เราจะต้องไปดูแลคอมพิวเตอร์แต่ถ้าคุณไม่ดูแลเอาใจใส่ ไม่ทำความสะอาด ไม่เช็กความพร้อมอุปกรณ์ไม่เป็นไรหรอกเปิดฝาหลังคอมพิวเตอร์มามีแต่ฝุ่น ถามว่าฝนมันสะสมมาก ๆ สักวันมันจะช็อตแล้วคอมก็จะพัง อันนี้คือความไม่ดูแลเอาใจใส่หรือเอาของเข้ามากินในห้องน้ำหก แต่คอมพิวเตอร์ของคุณก็ผ่าน เพราะฉะนั้นเดี๋ยวถ้ามีโอกาสที่คุณจะไปดูงานห้องคอมพิวเตอร์ เป็นคอมพิวเตอร์ที่สมบูรณ์แบบ เขาจะห้ามของกินทุกชนิด รองเท้าต้องสะอาด ถุงเท้าต้องสะอาด ห้องคอมพิวเตอร์บางห้องต้องใส่หมวกคลุมผม ไม่ให้ผมร่วงลงไป เพราะบางทีถ้าพัดลมมันพัดมันไปเกิดช็อตที่ใบพัดของระบบทำความเย็นเสียหายได้ หรือรวมถึงการก่อวินาศกรรม ถ้าเราดูหนังแต่เรื่องนะคะ จะมีการวางระเบิดห้องคอมพิวเตอร์แบบอันนี้ก็เป็นสาเหตุเช่นเดียวกันนะคะ ประเภทของกล้องก็มีอยู่ 3 ลักษณะหลัก ๆ นะคะ จะเป็นความขัดข้องของระบบเช่นความขัดข้องของระบบปฏิบัติการนะคะ ทำให้ระบบไม่สามารถทำงานไม่ได้ การอาจจะต้องมีการปิด-เปิดเครื่องใหม่ Restart นะคะ ซึ่งจะมีผลกับทุกรายการเปลี่ยนแปลงที่กำลังทำงานอยู่อาจจะไม่ถึงขั้นทำลายข้อมูลในฐานข้อมูล เราจะเรียกการปกครองแบบนี้ว่าเป็นการปกครองแบบอย่างเบาแล้วกัน ข้อมูลไม่หายแต่ข้อมูลที่อยู่ในฮาร์ดดิสก์นี่ บางครั้งอาจจะต่อไปครั้งแรก ที่มีการเล่นการทำงานมันอาจจะช้านะคะ เพราะว่าส่วนมากข้อมูลแล้วจะเก็บไว้ในฮาร์ดดิสก์ ซึ่ง Harddisk ไม่มีไฟฟ้าก็สามารถเก็บข้อมูลได้นะคะ ความขัดข้องแบบที่ยังพอรับได้ ปิด-เปิดเครื่องใหม่ก็หายนะคะ แต่ถ้าเป็นความขัดข้องของรายการเปลี่ยนแปลงนะคะ ก็จะมีอยู่ 2 ลักษณะ บางครั้งมันจะเป็นความขัดข้องที่จากโปรแกรมที่เราเขียนไว้นะคะ หรือโปรแกรมที่เราใช้งาน โดยมีทั้งภายในภายนอกที่ไม่สามารถแก้ไขได้ อย่างสมมุติว่าเล่นความขัดข้องที่สามารถป้องกันได้ จากภายในโปรแกรม เช่น ถ้าเราจะโอนเงินสมมุติว่าเราอยากโอน 500,000 นะคะ จริง ๆ แล้วมีอยู่ 500 โปรแกรมก็จะเริ่มตรวจสอบความผิดพลาดแล้ว ว่าแล้วก็แสดงผลว่ายอดเงินของคุณไม่เพียงพอ ยกเลิกรายการนี้ หรือกลับไปแก้ไขจำนวนเงินใหม่ อันนี้คือเราสามารถป้องกันความเสียหายได้นะคะ อันนี้ก็คือมันจะเป็นเกี่ยวกับตรรกะแนวคิดอยู่แล้ว เงินไม่พอจะโอนได้อย่างไร อันนี้เป็นพื้นฐานง่าย ๆ เป็นต้น หรือถ้าไม่สามารถป้องกันได้เช่นข้อมูลมันเยอะเกิน อย่างเช่น อยากจะเคยได้ยินข่าวว่ามีแฮกเกอร์พยายามเอาข้อมูล เหมือนพยายามโจมตี server server 1 นะคะอาจจะเป็นมหาวิทยาลัยเราก็ได้ สามารถทำงานได้พร้อมกันเต็มที่ 500 คน Hacker ใช้ User เป็น 1 ล้านคนมาโจมตี มันจะทำให้ระบบเราเนี่ยไม่สามารถรับได้ระบบอัตโนมัติเพราะเรารับได้เต็มที่ 500 แต่คนล้านคนพยายามเข้ามาหรือพยายามกรอกข้อมูลนี่ เป็นไปไม่ได้เลย ระบบก็จะพังนะคะ อย่างนี้เป็นต้นอันนี้คือไม่สามารถตรงกันในจักโปรแกรมเราได้เลยกับอย่างหนึงกล้องของอุปกรณ์อาจจะพังหัวอ่านสะเทือนกระทบกัน นักศึกษาบางคนชอบขายโน๊ตบุ๊กแล้วปิดพัดลมปิดเครื่องเครื่องก็ยังทำงานอยู่เวลาคุณขี่มอเตอร์ไซค์ตกหลุมมันสะเทือนอุปกรณ์ที่อยู่ในกระเป๋าเป้เรา มันยังทำงานก็จะสะเทือนไปด้วยมันก็อาจจะพังคอมคุณก็จะพัง เพราะบางทีหัวอ่านฮาร์ดดิสก์คุณมันทำงานอยู่ พอมันโดนกระแทกหัวอ่านมันจะเป็นเข็มเล็ก ๆ มันก็พังนะคะ อันนี้ก็ระวังด้วยอันนี้คือความเสียหายของอุปกรณ์ที่ถือว่าเป็นลักษณะที่ค่อนข้างรุนแรง เพราะถ้ามันพังแก้ไขไม่ได้เหมือนมันหักไปแล้วมันเสียไปแล้ว ข้อมูลแล้วก็ไม่ได้สำรองอันนี้ก็คือข้อผิดพลาดจากอุปกรณ์เก็บข้อมูล ความจำเป็นของการกู้คืนข้อมูลก็แน่นอนค่ะ อยู่ที่ว่าเราจะสำรองข้อมูลกับอะไรใส่ hdd ไว้ไหมหรือใส่ USB ไว้อัพโหลดขึ้นบน Google Drive หรือ Cloud ก็ว่าไป ซึ่งประเภทของเก็บข้อมูลสำรองจะมีอยู่ 3 แบบ 3 แบบนี้ถ้านับเป็นอุปกรณ์นะ ที่จับต้องได้งานแรกเป็นอุปกรณ์ที่เก็บข้อมูลได้ ก็ต่อเมื่อมีไฟฟ้า ในกรณีที่ไม่มีไฟฟ้าข้อมูลพวกนี้จะหายไป สิ่งเหล่านี้ก็คือ Ram เราเรียนประกอบคอมแล้ว Ram การ์ดแผ่นเล็ก ๆ นะคะ น่าจะเป็นพื้นที่สำหรับสำรองข้อมูลตอนที่คอมพิวเตอร์ทำงานอยู่ถ้าเราปิด ปุ๊บข้อมูลในนั้นจะหายไปนะคะ กับอุปกรณ์ที่ไม่จำเป็นต้องใช้ไฟฟ้าก็คือฮาร์ดดิสก์ ซึ่งอุปกรณ์ประเภทนี้น่ะ มักจะเกิดปัญหาก็คือ พังอ่านหัดหรือตัวดิสเป็นรอยนะคะเพราะฉะนั้นก็ต้องระวังด้วยกลับการต่อมาเป็น stable ก็คืออันนี้จะเป็นค่อนข้างโบราณ ไม่ต้องอาศัยกระแสไฟฟ้าส่วนมากจะมาใช้ในการสำรองข้อมูลมากกว่า ลักษณะเป็นเทปแม่เหล็กเพราะราคาค่อนข้างถูก การเรียกดูข้อมูลมันจะช้านะคะแต่ว่าส่วนมากเขาเลยใช้เป็นที่เก็บข้อมูล ไม่ได้เอามาประมวลผลทุกวัน ถามว่านิยมใช้ไหม ก็ไม่ค่ะ เพราะว่าตอนนี้เขาก็ใช้ฮาร์ดดิสก์หมด อย่างน้อย ๆ นะคะ ต่อมาก็เป็นความผิดพลาดมีอยู่ 4 ประเภทนะคะ อันแรกก็คือความผิดพลาดนะคะ ก็บางทีก็เกิดความผิดพลาดตั้งแต่ตอนเราที่เขียนโปรแกรมมันพิมพ์ เช่น ไม่ยอมทำงานเพราะว่าบัตรประชาชนคุณกำหนดไว้เป็น 15 หลัก ความจริงมีแค่ 13 หลัก กรอกออกไม่ครบระบบทำงานไม่ได้ผู้ใช้งานกรอกถูกแล้ว 13 ตัวแต่ระบบบอกว่ามันต้องมันหายไป 2 ตัว อันนี้คือมันผิดโปรแกรมบัญชีเราเขียนผิดนะคะ ก็ไปถือว่าเป็นความผิดพลาดอย่างหนึ่ง หรือว่านามสกุลบอกเป็นตัวเลขไม่ได้ คุณไม่ได้ปิดความผิดพลาดตรงนี้ มีคนมาปั่นมาป่วนระบบคุณ เขาใช้นามสกุลเป็นตัวเลข ระบบยอมให้เซฟหรือยอมให้บันทึกข้อมูลสรุปคุณก็ได้ข้อมูลขยะเข้ามาทำให้เปลืองการประมวลผลข้อมูลอีกนะคะ กับความผิดพลาดของระบบนะคะ เช่นปัญหาการจัดลำดับงานผิดพลาดแล้ว มันเลยเกิดปัญหาระบบหยุดการทำงานของมันเองล็อกไม่ให้คุณทำงานแบบนี้ รวมถึงความผิดพลาดของอุปกรณ์จัดเก็บข้อมูลเช่นเหมือนตึกนี่ ไฟไม่สม่ำเสมอไฟตกบ่อยข้อมูลหาย อันนี้ก็เป็นปัญหา เพราะฉะนั้น ในห้องนี้เมื่อก่อนเราเลยมีอุปกรณ์สำรองไฟอุปกรณ์สำรองไฟ ใช้ไปนาน ๆ ไฟตกบ่อย ก็พังเหมือนกันนะคะ อันนี้ก็เป็นความผิดพลาดของระบบ รวมถึงความผิดพลาดของระบบอุปกรณ์ที่เก็บข้อมูลเช่นปัญหาบางทีฮาร์ดดิสก์ของเรานี่ พอเราอย่างที่ท่านบอกคุณแม่ปิดเครื่องนี่ มันทำงานตลอดแล้วหัวเข็มมือที่มันสะเทือ ไอ้ตัวหน้าหน้าจานแม่เหล็กที่เก็บข้อมูลของเรานี่ มันเลยเป็นรอยขูดขีดรอย เหมือนสมัยเด็กๆ ทุกคนดูแผ่นซีดีอ่ะค่ะ แผ่นซีดีเป็นรอยหนังในแผ่นซีดีเรานี่ ก็จะดูแล้วมันก็จะกระตุกอาจจะดูไม่ได้เลยเพราะว่าเราเก็บรักษาไม่ดีนี่ ก็เหมือนกันนะคะ เพราะฉะนั้น การใช้อุปกรณ์ใด ๆ ที่เป็นอุปกรณ์คอมพิวเตอร์เน มันค่อนข้างมีราคาแล้วก็มีความสำคัญอาจจะมีข้อมูลสำคัญอย่างนั้นเราก็ต้องช่วยกันรักษาด้วยนะคะ การกู้ข้อมูลจากอุปกรณ์ที่ใช้ไฟฟ้ามีอยู่ 3 แบบ แบบแรกก็เป็นการกู้ข้อมูลที่อาศัยข้อมูลที่เก็บจากเขาจะเรียกว่ารายการเปลี่ยนแปลงนี้เวลาเราไปเซ็นชื่อหรือการเก็บข้อมูล ว่าวันนี้คุณมาเรียนกี่โมง กลับบ้านกี่โมง มันก็มีการเก็บไว้ลำดับไว้ เป็นลำดับรายการเป็นหมายเลขการเปลี่ยนแปลงมีการกระทำอะไรบ้างชื่อตารางมาจากไหนเปลี่ยนแปลงข้อมูลอะไรลักษณะของการเก็บข้อมูลเป็นตารางแบบนี้เช่นสมมุติ 10:12 น. เริ่มทำงานที่ต่อมามีการเปลี่ยนแปลงข้อมูลของพนักงานลำดับที่เท่าไรนะคะ ข้อมูลเดิมลำดับที่ 1 เปลี่ยนเป็นลำดับที่ 8 แบบนี้เป็นต้น อันนี้คือเขาจะรู้เลยว่าทุก ๆ กี่นาทีมีข้อมูลอะไรเกิดขึ้นบ้างมีรายการเปลี่ยนแปลงใดบ้างอย่างเช่นรายการไปที่ 1 แปลงที่ 2 แปลงที่ 3 เขียนว่าทุกการเปลี่ยนแปลง จะเริ่มต้นที่จุดสตาร์ทมีการเริ่มทำงานอย่างเหมือนรายการเปลี่ยนแปลงที่ 1 เห็นไหมคะเริ่มต้นเมื่อ 10:12 น. สถานะ commit ก็คือยอมรับการเปลี่ยนแปลงตอน 10:18 น. ก็คือเราทำงานในการแก้ไขข้อมูลนี่ ใช้เวลา 6 นาที มันจะเก็บทุกอย่างที่เกิดขึ้นใน 6 นาทีนั้น อย่างเช่น start นะคะ เช็กสถานะก็คือสตาร์ท ก็คือรายการจะเริ่มต้นทำงานนะคะ commit ก็คือทำงานเสร็จอัปเดทก็คือรายการถูกบันทึกแล้วแล้วก็ให้เกิดการเปลี่ยนแปลงค่าสถานะหลักๆจะมีอยู่ 3 สถานะนะคะ การเก็บข้อมูลเป็นประเภทก็คือเป็นการเก็บการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นนั่นเอง การกู้คืนในเกิดจากเหตุขัดข้องแบบความผิดพลาดของระบบเรา จะมีจุดที่เป็นเหมือนจุดตรวจสอบนะคะ ถ้าสมมุติว่าทำงานแล้วยังไม่ถึงจุดตรวจสอบ แล้วถ้าระบบล่มเราจะเริ่มต้นใหม่ทั้งหมด แต่ถ้าการทำงานของเราเลยจุดตรวจสอบแล้ว แล้วระบบจึงล่ม เราจะเริ่มการทำงานใหม่ที่จุดตรวจสอบนั้น ก็คือไม่ต้องเริ่มใหม่ทั้งหมด จะเริ่มตรงจุดที่เรามาร์กไว้ หรือเรามันคงไว้ให้เองนะคะ เดี๋ยวอันนี้ค่อยอธิบายเพราะว่าเป็นตัวเลขเยอะนะ แบบนี้ล่ะค่ะ อย่างเช่นวันนี้ค่ะจุดเช็ก ถามว่าตัวกระบวนการทำงานที่ 1 ที่ 1 เริ่มต้นตรงนี้ถึงตรงนี้ถามว่ามันทำงานเสร็จไหมทำงานเสร็จเรียบร้อยนะคะ T1 ไม่มีปัญหาอะไรที่ T2 อ่ะท2 ทำงานผ่านจุดตรวจสอบที่ 1 เสร็จเรียบร้อยก่อนถึงจุดที่ระบบจะล่มถามว่า T2 ทำงานเสร็จไหม 02:00 ทำงานเสร็จนะคะ 3:00 น. ทำเริ่มทำงานตรงนี้ผ่านจุดตรวจสอบทำงานจนถึงผิดพลาดถามว่า T3 จะเริ่มทำงานที่ไหนเริ่มตรงนี้นะคะ จะเริ่มตรงที่จุดตรวจสอบตรงนี้ T4 เริ่มทำงานตรงนี้เสร็จตรงนี้ไม่อยู่ในจุดตรวจสอบก็จริง แต่เราก็นับว่าเขาทำงานเสร็จเรียบร้อยนะคะ ส่วน T5 ทำงานหลังจากตรวจสอบแล้วทำไม่เสร็จT5 จะทำยังไงที่ 5 ต้องเริ่มใหม่ทั้งหมดอันนี้คือการทำงานของจุดตรวจสอบ จะเห็นได้ว่าถ้าคุณทำงานผ่านจุดตรวจสอบก็จริง แต่ถ้าระบบมันทำงานเสร็จก็ไม่มีปัญหาอะไร แต่ถ้าการทำงานมีปัญหาแล้วผ่านจุดตรวจสอบแล้ว เราจะไม่เริ่มใหม่ทั้งหมด เราจะเริ่มต้นแค่ตรงที่จุดตรวจสอบนะคะ อันนี้เป็นแบบการกู้คืนข้อมูลแบบใช้จุดตรวจสอบ กับการกู้คืนแบบทำคล้าย ๆ กับว่าเป็นสำเนาข้อมูลนะคะ ก็ส่วนมากตัวนี้ การกู้คืนตัวนี้จะใช้พื้นที่ในการเก็บข้อมูลเยอะพอสมควร เพราะไม่ว่าจะมีการกระทำใด ๆ เกิดขึ้นในระบบของเรา มันจะทำสำเนาซ้ำไว้ด้วยเสมอ เหมือนกับเงานะคะ เขาเรียกว่าเหมือนเราเดินไปก็จะมีเงาติดตัวเราไปด้วย เราเดินซ้ายต้องเอาไปทางซ้ายเราเดินขวาก็เป็นเงาทางขวา เพราะฉะนั้น ไม่ว่าจะเกิดการกระทำใดขึ้นจะมีสำเนาไว้ด้วยเสมอนะคะ อันนี้เป็นการทำแบบถ่ายรูป shadow paging นะคะ เป็นการกู้ข้อมูลจากการสำรองข้อมูลที่ไม่ใช้ไฟฟ้าส่วนมากก็จะเป็นอุปกรณ์ที่เป็นฮาร์ดดิสก์ หรือว่าเทปแม่เหล็กนะคะ แต่แบบนี้เนี่ยเราจะไม่ทำสำเนาตลอดเวลา เราจะมีการกำหนดช่วงเวลา ในการสำรองข้อมูลเช่นทุก ๆ 1 เดือน 2 เดือน 3 เดือนว่าไปแต่ถ้าเป็นข้อมูลปริมาณมากนะคะ อย่างในธนาคานี่ เขาจำเป็นต้องสำรองข้อมูลตลอดเวลาเลย พอเขามันเป็นเรื่องเกี่ยวกับเงินเงินทองทองมันจะพลาดไม่ได้ วันนี้จะทำงานได้ พรุ่งนี้อาจจะไปไม่ห้องเก็บข้อมูลหรือเปล่าก็ไม่รู้โดยการกู้คืนข้อมูลแบบนี้นีถ้าเป็นองค์กรขนาดใหญ่เขาจะต้องมีการซ้อมด้วยว่าถ้าเกิดวันนี้นี่ ระบบล่ม 8:00 น. พรุ่งนี้ต้องทำงานจะทำอย่างไร ถ้าใครที่ทำงานเกี่ยวข้องกับคอมพิวเตอร์ทั้งหมดจะต้องมาซ้อมอาจจะเป็นธนาคารขนาดใหญ่แห่งหนึ่ง พรุ่งนี้ต้องทำงานเหมือนเดิม เงินต้องอยู่เหมือนเดิมต้อง คืนระบบให้ได้ภายใน 6 ชั่วโมง ข้อมูลทั้งหมดต้องมีการซ้อมด้วย เช่น สมมุติว่าคุณมีข้อมูลที่เก็บไว้มันจะเป็นฮาร์ดดิสก์ประมาณเป็นพัน ๆ ฮาร์ดดิสก์ 1 ล คุณจะเรียกข้อมูลกลับคืนมายังไงให้ให้เสร็จภายในพรุ่งนี้เช้าเขาต้องสอนนะคะ บางทีถ้าเป็นคนที่ทำงานหน้าคอมพิวเตอร์และเฝ้า Server เดี๋ยวบางทีต้องมานอนเฝ้าห้องด้วยซ้ำ เขาก็จะห้ามของกินห้ามสูบบุหรี่ห้อง Server ก็จะหนาวมาก อาจจะต้องนอนในนั้น บางคนมีถุงนอนด้วยซ้ำ เพื่อเฝ้าอุปกรณ์เก็บข้อมูล การกู้ข้อมูลจะเป็นการโอนข้อมูลจากอุปกรณ์เก็บข้อมูลทั้งหมด กลับมาแล้วก็จะเอารายการเปลี่ยนแปลง ที่มีการเก็บก็คือการเก็บเวลาการเปลี่ยนแปลงทุกอย่างที่ทำงานสมบูรณ์นะคะ ก็จะมาบันทึกไว้ในระบบที่เรากู้คืนมาใหม่ทั้งหมด ก็คือเหมือนกับถ้ามันมีการเปลี่ยนแปลงเกิดขึ้น เราก็จะก็อบฯ มันมาทั้งหมดนะคะ วันนี้ก็จะประมาณนี้เพราะว่าเราจะไม่เน้นว่าทุกคนจะต้องสำรองข้อมูลเองทั้งหมดนะ อันนี้ให้รู้ไว้มันจะเป็นฐานข้อมูลขั้นสูง ซึ่งจะเรียนในปีที่สูงกว่านี้นะคะ เป็นวิชาเฉพาะทาง แต่ว่าภาษา SQL นี่ทุกคนต้องได้เรียน อาทิตย์หน้าจะเป็นตัวอย่างคำสั่งภาษา SQL ที่ทุกคนจะต้องทำ แล้วก็ทำให้ได้ว่าแต่ละคำสั่งมันมีความสำคัญอย่างไร กระบวนการทำงานเราจะเขียนเขียนโปรแกรมในการเรียกดูข้อมูลใครยังใช้โปรแกรมไม่เป็นเดี๋ยวอาทิตย์หน้าอาจารย์จะพาดูยัง ๆก่อนว่าแต่ละคำสั่งมันต้องทำงานยังไงถ้าเราจะเรียกดูข้อมูลเราจะต้องใช้คำสั่งอะไรนะคะ ถ้าจะเพิ่มข้อมูลใช้คำสั่งอะไรแก้ไขข้อมูล ลบข้อมูล ต้องทำอย่างไร แต่ก็ต้องเข้าใจด้วยว่าเราจะใช้ภาษาอังกฤษเป็นหลักนะคะ เพราะฉะนั้น แล้วก็พิมพ์ให้ถูกหรือแปลความหมายมันได้ยิ่งดีว่าคำศัพท์คำนี้ถ้าเป็นภาษาไทย มันคืออะไรทำไมเราถึงเลือกใช้คำนี้นะคะ เวลาสมมุติว่าต่อไปปี 3 ไปฝึกงาน เขาถามว่ารู้จักฐานข้อมูลไหมรู้จักคำสั่งนี้หรือเปล่านะคะ เราจะได้ตอบเขาได้ว่าอย่างน้อยเรารู้ว่าคำสั่งนี้มันทำงานอย่างไรนะคะ วันนี้ไม่มีการบ้านนะคะ เพราะว่าต้องขออนุญาตไปประชุมตอน 14:00 น. พอดีนะ วันนี้ก็ประมาณนี้ค่ะ แต่ว่าอาทิตย์หน้านะคะ เตรียมดี ๆ ท่องศัพท์ภาษาอังกฤษกันนะคะ วันนี้ก็ขอบคุณล่ามแล้ว ก็ขอบคุณถอดความด้วยนะคะขอบคุณมากๆเลยค่ะ