WEBVTT
Kind: captions
Language: th

00:00:03.937 --> 00:00:06.195
(อาจารย์เกวลี) สวัสดีค่ะ ได้ยินนะคะ

00:00:07.345 --> 00:00:13.552
โอเคค่ะ อย่างนั้นเดี๋ยวเริ่มเลยนะคะ วันนี้จะเป็นบทที่ 8 นะคะ เราจะมีอยู่ 10 บท

00:00:13.552 --> 00:00:17.971
เหลืออีก 2 บท เราก็จะได้ทำปฏิบัตินะคะ

00:00:17.971 --> 00:00:21.538
วันนี้จะเป็นเกี่ยวกับกระบวนการทำงานของฐานข้อมูลนี่

00:00:21.538 --> 00:00:24.957
มันก็จะมีการเปลี่ยนแปลงข้อมูลนะคะ

00:00:24.957 --> 00:00:28.789
ทั้งเป็นการเพิ่ม ลบ แก้ไข เราจะเรียกว่าเป็นการเปลี่ยนแปลง

00:00:28.789 --> 00:00:32.646
รวมถึงถ้าสมมุติว่าระบบฐานข้อมูลเรามีปัญหา

00:00:32.646 --> 00:00:36.570
เราจะทำการกู้คืนระบบอย่างไรหรือ

00:00:36.570 --> 00:00:41.452
จะสำรองข้อมูลอย่างไร เพื่อป้องกันความเสียหายของข้อมูลนะคะ

00:00:43.124 --> 00:00:47.008
โดยรายการการเปลี่ยนแปลงนี่ มันจะมีนิยามอยู่ 3 ยุคนะคะ

00:00:47.008 --> 00:00:52.432
ยุคแรกก็คือ File ที่เราเก็บรายการที่มีการเปลี่ยนแปลงไว้นี้นะคะ

00:00:52.432 --> 00:00:59.144
เราจะเก็บไว้ในแฟ้มข้อมูลหลัก ซึ่งจะเป็นการเก็บเป็นแบบเรียงลำดับนะคะ

00:00:59.562 --> 00:01:05.669
หรือ Sequential File ที่เป็นการเรียงข้อมูลไว้เรียบร้อยแล้วนะคะ

00:01:07.272 --> 00:01:08.961
ต่อมาจะเป็นยุคที่ 2

00:01:09.275 --> 00:01:12.705
ตอนแรกเราจะเก็บข้อมูลเป็นเหมือนอาจจะเป็นคล้าย ๆ File กระดาษ

00:01:13.123 --> 00:01:18.181
พอยุคที่ 2 นี่เราจะเริ่มใช้เป็นพวก Disk หรือ Harddisk นี่เก็บข้อมูลนะคะ

00:01:18.738 --> 00:01:21.435
ซึ่งการเก็บข้อมูลใน Harddisk นี่

00:01:21.435 --> 00:01:25.187
มันจะไม่เป็นการเก็บข้อมูลแบบเรียงลำดับแล้วนะคะ

00:01:26.301 --> 00:01:28.885
ซึ่งรายการเปลี่ยนแปลงที่เกิดขึ้นนี่

00:01:28.885 --> 00:01:34.453
จะหมายถึงทุกทุกกิจกรรมที่ทำอยู่บน File ข้อมูลของเรานะคะ

00:01:35.394 --> 00:01:39.910
เช่น อาจจะตอนเช้า 10 โมงมีการเพิ่มข้อมูลนะคะ

00:01:40.293 --> 00:01:45.562
10 โมงครึ่งอาจจะเป็นการเปลี่ยนแปลงข้อมูลใด ๆ ก็ตามที่เกิดขึ้นนะคะ

00:01:45.910 --> 00:01:53.215
อันนี้จะเริ่มเป็นยุคที่ 2 พอยุคที่ 3 นะคะ ซึ่งเป็นยุคปัจจุบันนี้แหละ

00:01:54.852 --> 00:01:59.821
การเก็บข้อมูลนะคะ การเปลี่ยนแปลงทุกอย่างที่เกิดขึ้นในระบบจัดการฐานข้อมูลนี่

00:01:59.821 --> 00:02:03.135
จะอยู่ในรูปแบบของกลุ่มคำสั่งนะคะ

00:02:03.623 --> 00:02:08.882
โดยใช้ภาษาที่ใช้จัดการฐานข้อมูลระดับตรรกะนะคะ

00:02:09.405 --> 00:02:17.055
ที่อาจจะมีการยอมให้ละเมิดกฎความคงสภาพของข้อมูลบางกฎได้นะคะ

00:02:17.229 --> 00:02:20.520
หรือกฎที่บังคับความถูกต้องของฐานข้อมูล

00:02:20.764 --> 00:02:26.785
แต่จะต้องเป็นเกี่ยวข้องกับกฎของการดำเนินธุรกิจต่าง ๆ นะคะ

00:02:26.785 --> 00:02:32.968
เราจะต้องใส่ข้อบังคับไว้ว่าข้อมูลเหล่านี้ ถ้าสมมุติว่าคุณ

00:02:33.421 --> 00:02:35.713
ใส่ข้อมูลผ่ดพลาดจะเป็นอย่างไร

00:02:36.201 --> 00:02:39.972
ถ้าใส่ข้อมูลถูกต้อง ระบบจะแจ้งเตือนอย่างไรนะคะ

00:02:40.216 --> 00:02:43.888
ซึ่งกฎต่าง ๆ พวกนี้นี้ที่อยู่ในฐานข้อมูล

00:02:43.888 --> 00:02:49.302
จะถูกบังคับใช้โดยระบบจัดการฐานข้อมูลนะคะ อันนี้ก็คือ

00:02:50.000 --> 00:02:57.103
การเปลี่ยนแปลงข้อมูลในยุคปัจจุบัน เราจะใช้กลุ่มของคำสั่งภาษาที่จัดการฐานข้อมูลนะคะ

00:02:57.103 --> 00:03:03.716
ซึ่งในวิชานี้เราจะเรียนเกี่ยวกับภาษา SQL เบื้องต้นนะคะ

00:03:09.221 --> 00:03:13.760
โดยเริ่มแรกนะคะ การ… รายการการเปลี่ยนแปลงนี่

00:03:13.760 --> 00:03:19.440
มันอาจจะเกิดขึ้นกับระบบที่ใช้งานคนเดียวนะคะ

00:03:19.440 --> 00:03:22.158
หรือเป็นระบบที่ใช้งานร่วมกันหลายคน

00:03:23.168 --> 00:03:28.242
หรืออาจจะเป็นการทำงานที่พร้อม ๆ กันไปนะคะ

00:03:28.242 --> 00:03:34.469
ซึ่งการทำงานพร้อมกันนี่ก็จะมีอยู่ 2 แบบ ก็คืออาจจะเป็นการทำงานที่

00:03:34.469 --> 00:03:44.521
มีรายการลำดับที่ 1 รายการลำดับที่ 2 นะคะ สลับกันทำงานในเวลาเดียวกันนะคะ สลับกัน

00:03:45.845 --> 00:03:50.997
กับอย่างที่ 2 นะคะ ก็คือจะเป็นการทำงานพร้อม ๆ กัน

00:03:50.997 --> 00:03:53.707
อาจจะมีทั้ง 2 งาน 3 งาน 4 งานว่าไป

00:03:53.707 --> 00:04:01.639
เป็นงานที่มากกว่า 1 สมมุติว่ามีเป็นร้อยงาน แต่ทุกอย่างจะประมวลผลพร้อม ๆ กันนะคะ

00:04:01.639 --> 00:04:06.654
อันนี้คือการทำงานของรายการเปลี่ยนแปลงที่อาจจะเกิดขึ้นในฐานข้อมูล

00:04:07.804 --> 00:04:13.963
อย่างเช่น ระบบ… อาจจะเป็นระบบใบเรียกชื่อนักศึกษานะคะ

00:04:14.207 --> 00:04:18.418
อาจารย์ในมหาวิทยาลัยมี 300 คน สามารถเข้าใช้ระบบนี้ได้พร้อมกัน

00:04:18.871 --> 00:04:24.587
อาจจะมีการประมวลผลรายชื่อนักศึกษาได้พร้อม ๆ กัน 300 คนก็ได้นะคะ

00:04:25.263 --> 00:04:29.577
อันนี้ก็คือการประมวลผลมากกว่า 1 คนนะคะ

00:04:29.821 --> 00:04:34.943
ในเวลาเดียวกันนี่ อาจจะมีสัก 10 คนดูข้อมูลนักศึกษาชุดเดียวกันก็ได้

00:04:34.943 --> 00:04:38.381
แต่ถามว่ามันจะทำงานได้ไหม มันก็ต้องทำงานได้นะคะ

00:04:38.729 --> 00:04:42.950
ซึ่งการทำงาน 1 คนกับการทำงานหลายคนนะคะ

00:04:44.135 --> 00:04:49.284
มันจะมีแนวทางหรือข้อกำหนดประเภทของฐานข้อมูลไว้อีกแบบหนึ่งนะคะ

00:04:49.284 --> 00:04:54.168
โดยที่จะกำหนดจำนวนของผู้ใช้งาน

00:04:54.760 --> 00:04:58.134
ที่สามารถเข้าใช้งานพร้อม ๆ กันได้นะคะ

00:04:58.134 --> 00:05:02.021
อย่างเช่นว่าบางระบบในระบบจัดการฐานข้อมูลนี่ เขาจะกำหนดไว้ว่า

00:05:02.718 --> 00:05:06.833
ในเวลานั้นจะต้องมีผู้ใช้งานแค่คนเดียวที่ทำงานอยู่

00:05:07.251 --> 00:05:12.053
หรือถ้าเป็นระบบจัดการฐานข้อมูลโดยทั่วไปในโลกของความเป็นจริง

00:05:12.053 --> 00:05:16.829
ส่วนมากเขาจะให้ผู้ใช้งานนี่ สามารถเข้าใช้...

00:05:16.829 --> 00:05:19.622
เข้าใช้งานได้พร้อมกันหลาย ๆ คนในเวลาเดียวกัน

00:05:20.000 --> 00:05:25.116
แต่จะมีการกำหนดสิทธิ์ของผู้ใช้งานแต่ละคนไม่เท่ากัน

00:05:25.499 --> 00:05:29.011
เข้าใช้งานพร้อมกันก็จริงค่ะ แต่บางคนอาจจะแค่ดูข้อมูล

00:05:29.220 --> 00:05:33.356
บางคนอาจจะมาลบข้อมูล บางคนอาจจะมาแก้ไขบางส่วน

00:05:33.774 --> 00:05:35.962
บางคนอาจจะมาเพิ่มข้อมูลเข้าไป

00:05:36.763 --> 00:05:39.175
ในหลาย ๆ คนนี่ เขาอาจจะทำงานพร้อม ๆ กัน

00:05:39.733 --> 00:05:45.432
แต่สิทธิ์ในการแก้ไขหรือการเพิ่มเติมใด ๆ ก็ตามนี่ จะไม่เท่ากันนะคะ

00:05:47.627 --> 00:05:52.728
โดยรายการเปลี่ยนแปลงนี่มันจะเป็นเกี่ยวกับการประมวลผลของโปรแกรมนะคะ

00:05:52.728 --> 00:05:56.239
ที่ทำงานในเชิงตรรกะ ก็คือเป็น

00:05:56.901 --> 00:06:02.297
อาจจะคิดว่าข้อมูลนี้จริงหรือเท็จ ข้อมูลนี้ถูกหรือผิดนะคะ

00:06:02.611 --> 00:06:08.702
โดยรายการเปลี่ยนแปลงนี่ จะประกอบไปด้วยการปฏิบัติที่

00:06:08.702 --> 00:06:11.453
ทั้งหน่วยประมวลผลทั้งฐานข้อมูล

00:06:11.453 --> 00:06:15.838
อาจจะมีกระบวนการทำงานหลาย ๆ กระบวนการเกิดขึ้นพร้อมกันนะคะ

00:06:15.838 --> 00:06:21.122
ซึ่งการทำงานของฐานข้อมูลนี่ จะเป็นการกระทำผ่านโปรแกรมประยุกต์นะคะ

00:06:21.575 --> 00:06:27.164
ที่เดี๋ยวอีก 2 สัปดาห์เราจะได้เรียน โดยใช้ภาษาระดับสูงนะคะ

00:06:27.164 --> 00:06:32.521
ภาษา SQL ที่เราจะเรียนเราถือว่าเป็นภาษาระดับสูง เพราะเป็นภาษาที่

00:06:33.148 --> 00:06:36.773
มนุษย์อ่านแล้วเข้าใจ ใกล้เคียงกับภาษามนุษย์มากที่สุด

00:06:36.773 --> 00:06:42.412
แต่นักศึกษาต้องเข้าใจอย่างหนึ่งว่าเราจะต้องใช้เป็นภาษาอังกฤษนะคะ

00:06:42.830 --> 00:06:47.350
เพราะฉะนั้นคุณพิมพ์คำสั่งเป็นภาษาไทยนี่ ระบบจะไม่ประมวลผลเลยนะคะ

00:06:47.350 --> 00:06:49.121
สำหรับ SQL เบื้องต้น

00:06:50.898 --> 00:06:56.607
โดยรายการเปลี่ยนแปลงทุกรายการ จะต้องมีจุดเริ่มต้นแล้วก็จุดของสิ้น… จุดสิ้นสุดนะคะ

00:06:57.199 --> 00:07:01.855
เหมือนคุณไปกดเงินอยู่หน้ามหาวิทยยาลัย จุดเริ่มต้นคืออะไร

00:07:01.855 --> 00:07:07.682
คือการใส่บัตร ATM  เข้าไป หรือตอนนี้ไม่มีใครกดเงินโดยใช้บัตร ATM แล้ว

00:07:07.682 --> 00:07:10.659
จุดเริ่มต้นคือเข้าแอปพลิเคชัน

00:07:11.321 --> 00:07:15.173
กดถอนเงินโดยไม่ใช้บัตร ทุกอย่างจะเป็นขั้นตอน

00:07:15.905 --> 00:07:23.336
ทำตามขั้นตอนไปเรื่อย ๆ จนถึงจุดสิ้นสุดคือ คุณได้รับเงินออกจากเครื่อง ATM นะคะ

00:07:23.336 --> 00:07:31.071
ซึ่งทุกอย่างจะถูกเก็บไว้ว่าคุณเริ่มกดรหัสเมื่อเวลาเท่าไรนะคะ

00:07:31.071 --> 00:07:36.095
คุณยืนยันยอดเงินกี่โมง เงินออกจากตู้กี่โมง

00:07:36.095 --> 00:07:38.774
ทุกอย่างจะถูกเก็บไว้นะคะ

00:07:38.774 --> 00:07:47.593
ถ้าหากว่าในการจัดการฐานข้อมูลนี้ มันจะมีรายการเปลี่ยนแปลงนะคะ

00:07:47.593 --> 00:07:49.913
ที่อาจจะ…

00:07:51.272 --> 00:07:56.675
User ผู้ใช้งานทั่วไปอาจจะไม่จำเป็นต้องมีการเปลี่ยนแปลง หรือนะคะ

00:07:57.929 --> 00:08:01.730
มีไว้อ่านเฉย ๆ นะคะ

00:08:01.730 --> 00:08:04.856
ถ้าศัพท์ภาษาอังกฤษเราเรียกว่า Read Only นะคะ

00:08:04.856 --> 00:08:07.635
เอามาดูอย่างเดียว อย่างเช่น

00:08:08.436 --> 00:08:12.870
การเปลี่ยนแปลงที่ไม่ก่อให้เกิดการผลกระทบกับฐานข้อมูล

00:08:12.870 --> 00:08:17.150
เช่น คุณแค่อยากดูยอดเงินปัจจุบันว่ามีเงินเท่าไร

00:08:17.847 --> 00:08:21.779
เราแค่ดู ถามว่าคุณจะถอนเงินไหม ไม่

00:08:22.093 --> 00:08:24.378
แค่อยากรู้ว่าตอนนี้ฉันมีเงินกี่บาท

00:08:25.249 --> 00:08:29.854
เราจะเรียกว่ารายการนั้นคือ หรือกระบวนการนั้นว่าเป็นการอ่านอย่างเดียว

00:08:30.307 --> 00:08:33.232
ไม่มีการแก้ไขนะคะ

00:08:33.929 --> 00:08:37.788
โดยกระบวนการทำงานของฐานข้อมูลนะคะ

00:08:38.136 --> 00:08:44.290
อย่างเริ่มต้นก็คือมันจะเรียกข้อมูลขึ้นมาดูก่อนนะคะ

00:08:44.569 --> 00:08:49.807
เรียกข้อมูลว่าสมมุติว่า อยากดูว่าวันนี้เราจากถอนเงิน

00:08:50.000 --> 00:08:52.134
แต่เราจำไม่ได้ว่าเรามีเงินกี่บาท

00:08:52.831 --> 00:08:58.869
เราจะต้องทำการเรียกข้อมูลขึ้นมาดูก่อนว่า เงินในบัญชีเรานี้เรามีเท่าไรนะคะ

00:08:58.869 --> 00:09:02.571
หน้าจอมันก็แสดงผลว่าเรามีเงินเท่าไร หลังจากนั้น

00:09:02.954 --> 00:09:10.492
จะเป็นการเขียนหรือการแก้ไขหรือการลบนะคะ ซึ่งขั้นตอนที่ 3 นี่

00:09:10.492 --> 00:09:16.772
จะอยู่ที่ว่าเราจะโอนเงิน หรือเราจะถอนเงินนะคะ

00:09:16.772 --> 00:09:19.633
หรือเราจะไม่ทำอะไรเลยก็ได้นะคะ

00:09:19.807 --> 00:09:23.346
แต่ทุกอย่างจะต้องมีจุดเริ่มต้นนะคะ

00:09:24.147 --> 00:09:25.988
อย่างตัวอย่างตัวนี้

00:09:28.009 --> 00:09:34.457
ตัวอย่างของการเปลี่ยนแปลงนะคะ อย่างสมมุติให้ T นี่

00:09:35.014 --> 00:09:38.270
ตัว T นะคะ เป็นรายการเปลี่ยนแปลงที่เกิดขึ้น

00:09:39.036 --> 00:09:44.389
เขาต้องการจะโอนเงินจากบัญชีของ A จำนวน 5,000 บาท

00:09:45.504 --> 00:09:49.925
ไปยังบัญชี B นะคะ สิ่งที่จะเกิดขึ้นคืออะไร

00:09:50.343 --> 00:09:56.094
สิ่งที่เกิดขึ้นคือ ตอนแรกเราจะต้องดูข้อมูลก่อนว่า ในบัญชี A

00:09:57.035 --> 00:10:02.319
ที่เขาบอกว่าเขาจะโอนเงินไปนี่ บัญชี A จะโอน 5,000 บาท

00:10:02.842 --> 00:10:05.079
ขั้นตอนแรกคือดูก่อนสิว่า

00:10:05.776 --> 00:10:07.597
บัญชี A มีเงินถึง 5,000 บาทไหม

00:10:09.757 --> 00:10:15.438
มีเกินหรือเปล่านะคะ เพราะฉะนั้นพอเช็กยอดเงินเสร็จปึ๊บ

00:10:16.483 --> 00:10:18.075
เราก็จะมาหักบัญชี

00:10:18.423 --> 00:10:21.945
เช่นสมมุติเขามี 5,100 บาท

00:10:22.084 --> 00:10:27.196
อย่างนั้นแสดงว่ามีจะ… มียอดเงินพอที่จะโอนไปให้

00:10:27.440 --> 00:10:30.869
ก็จะทำการลบเงินออกไป 5,000

00:10:31.566 --> 00:10:33.888
ลบไปแล้ว 5,000 ใช่ไหมคะ เพราะว่าเราจะโอน

00:10:34.062 --> 00:10:38.149
เพราะฉะนั้นสุดท้ายแล้ว บัญชี A จะต้องเหลือเงิน 100 บาท

00:10:39.438 --> 00:10:42.370
ใช่ไหม เวลาเราโอนเงินเราถอนเงิน

00:10:42.370 --> 00:10:46.720
เขาจะบอกยอดเงินปัจจุบันของเราด้วย อันนี้เป็นเรื่องปกติใช่ไหมคะ

00:10:46.999 --> 00:10:49.658
หลังจากนั้น เราก็จะมา

00:10:50.564 --> 00:10:53.871
ดูว่าเอ๊ะเขาจะโอนไปที่บัญชี B ใช่ไหมคะ

00:10:54.080 --> 00:11:01.742
เราก็เอายอดเงินบัญชี B ขึ้นมาดูสิว่ามีเท่าไร บัญชี B อาจจะมีอยู่ 1,000 บาทนะคะ

00:11:01.951 --> 00:11:05.103
เอาใหม่ ๆ 1,000 บาท บัญชี B มี 1,000 บาท

00:11:06.497 --> 00:11:12.775
พอ A โอนมาอีก 5,000 บาท เราก็ต้องอัปเดตหรือการปรับปรุงข้อมูลบัญชี B

00:11:13.507 --> 00:11:15.462
จาก 1,000 บาท ก็จะเพิ่มเป็น 6,000 บาท

00:11:16.681 --> 00:11:21.219
อันนี้คือรายการเปลี่ยนแปลงของการโอนบัญชีนะคะ

00:11:21.219 --> 00:11:26.843
แต่ทุกลำดับขั้นตอนจะต้องมีวันที่เวลากำหนดไว้ทุกการเปลี่ยนแปลง

00:11:26.843 --> 00:11:29.728
เป็นวินาทีเลยด้วยซ้ำนะคะ

00:11:30.925 --> 00:11:35.955
พอมันมีการเปลี่ยนแปลงแล้วนี่ เราใช้งานไปเรื่อย ๆ

00:11:37.035 --> 00:11:38.439
ระบบมันอาจจะมีปัญหา

00:11:40.000 --> 00:11:43.674
มันจะต้องมีการสำรองข้อมูลนะคะ

00:11:43.674 --> 00:11:47.646
พอเราสำรองข้อมูลไว้ ทำไมเราต้องสำรองข้อมูลนะคะ

00:11:48.169 --> 00:11:52.910
ถ้าเรามีข้อมูลสำรองไว้ ถ้าระบบเรามีปัญหาเราสามารถกู้ข้อมูลกลับคืนมาได้

00:11:53.467 --> 00:11:57.170
ทำไมเราถึงจำเป็นต้องกู้คืนข้อมูล เกิดเมื่อกี้นี้

00:11:57.832 --> 00:12:00.770
เป็นคุณกำลังโอนเงิน แล้วไฟดับ

00:12:03.139 --> 00:12:08.610
คุณโอนไปแล้ว 5,000 บาท แต่ไฟดับพอดี เงินคุณออกไปแล้ว

00:12:09.237 --> 00:12:15.591
แต่บัญชีที่คุณจะโอนให้ เงินยังไม่ได้ เพราะไฟดับพอดีทำอย่างไรนะคะ

00:12:15.835 --> 00:12:19.950
เพราะฉะนั้นถือว่าระบบล่ม มันจะต้องมีการแก้ปัญหา

00:12:20.577 --> 00:12:24.039
ซึ่งเป็นหน้าที่ของระบบจัดการฐานข้อมูลนะคะ

00:12:24.283 --> 00:12:26.663
ระบบจัดการฐานข้อมูลจะต้องรับผิดชอบว่า

00:12:26.663 --> 00:12:31.808
ทุก ๆ การทำงานที่เกิดขึ้นในรายการเปลี่ยนแปลง จะต้องทำเสร็จเรียบร้อย

00:12:32.993 --> 00:12:37.282
มีการเปลี่ยนแปลงดังกล่าวจะถือว่าเป็นการเปลี่ยนแปลง บันทึกข้อมูลถาวร

00:12:38.745 --> 00:12:42.908
ถ้าโอนไป เงินออกจากบัญชีคุณ แต่ปลายทางยังไม่ได้รับ

00:12:42.908 --> 00:12:47.837
ถือว่าการทำรายการเปลี่ยนแปลงนั้นยังไม่สมบูรณ์นะคะ

00:12:48.847 --> 00:12:53.020
โดยที่ระบบจัดการฐานข้อมูลจะไม่อนุญาตให้บางกระบวนการทำงาน

00:12:53.020 --> 00:12:55.924
ของรายการเปลี่ยนแปลงนะคะ

00:12:55.925 --> 00:13:02.394
จะถูกส่งเข้าไปฐานข้อมูลนะคะ เหมือนจะเป็นไปได้ไหมว่า

00:13:02.708 --> 00:13:07.608
กำลังจะโอนเงิน 5,000 บาท แล้วก็กำลังจะถอนอีก 3,000 บาท ในเวลาเดียวกัน

00:13:08.096 --> 00:13:13.401
มันเป็นไปไม่ได้ เพราะฉะนั้นกระบวนการทำงานจะต้องเป็นตาม

00:13:14.446 --> 00:13:16.846
รายการที่กระทำอยู่รายการเดียวเท่านั้น

00:13:17.508 --> 00:13:24.625
จะทั้งถอนทั้งโอนไม่ได้ ต้องเลือกก่อนว่า สรุปคุณจะโอนก่อน หรือคุณจะถอนนะคะ

00:13:24.625 --> 00:13:28.996
เพราะว่าถ้าบังเอิญว่าคุณปล่อยให้มีการกระทำมากกว่า 2…

00:13:28.996 --> 00:13:34.449
มากกว่า 1 การกระทำขึ้นมาพร้อมกัน มันจะเอาไป… มันจะสามารถไปเกิดปัญหา

00:13:35.007 --> 00:13:40.659
ความไม่ถูกต้องแน่นอนของข้อมูล เช่น เรามีเงิน 5,000 บาท เราอยากโอน 5,000 บาท

00:13:40.659 --> 00:13:45.737
แล้วเราก็จะถอน 3,000 บาท มันเป็นไปไม่ได้นะคะ

00:13:45.737 --> 00:13:50.042
เหมือนบางคนมีแอปโทรศัพท์ แต่บัตร ATM อยู่กับแม่

00:13:51.331 --> 00:13:55.335
จะโอนเงินให้เพื่อน 5,000 บาท มั่นใจว่าตัวเองมี 5,000 บาท

00:13:56.101 --> 00:14:00.375
แต่แม่กดไปแล้ว 3,000 บาท แล้วพยายามโอน มันโอนไม่ได้ค่ะ เพราะว่ายอดเงินมันไม่พอ

00:14:01.141 --> 00:14:03.625
เพราะฉะนั้นใครผิด

00:14:05.332 --> 00:14:10.215
อันนี้ก็เป็นสิ่งที่ยอมไม่ได้ของระบบจัดการฐานข้อมูลนะคะ

00:14:11.225 --> 00:14:18.887
ซึ่งปัญหานะคะ การที่ระบบล่มนะคะ

00:14:18.887 --> 00:14:24.176
มันจะมีอยู่ 3 ประเภท แบบแรกก็คือรายการเปลี่ยนแปลงผิดพลาด

00:14:25.256 --> 00:14:27.386
กับข้อ 2. เป็นปัญหาที่ระบบ

00:14:28.431 --> 00:14:34.731
ข้อ 3. จะเป็นปัญหาที่สิ่งวัตถุที่ไว้ใช้เก็บข้อมูลนะคะ

00:14:36.612 --> 00:14:44.952
โดยที่ปัญหาที่เกิดระหว่างการประมวลผล บางครั้งอาจจะเกิดจากคอมพิวเตอร์พังนะคะ

00:14:45.718 --> 00:14:48.563
หรืออาจจะเป็นปัญหาของรายการเปลี่ยนแปลงมัน Error

00:14:48.877 --> 00:14:53.861
ก็อาจจะเป็น Code โปรแกรม อาจจะมีปัญหานะคะ

00:14:54.105 --> 00:14:56.902
การเรียกดูข้อมูลอาจจะถูกดัก

00:14:57.878 --> 00:15:00.992
เจอรายการเปลี่ยนแปลงที่มีความผิดปกติ เช่น

00:15:01.689 --> 00:15:06.433
บอกว่ามีคนโอนเงินมา แต่จริง ๆ แล้วไม่พบรายการข้อมูลที่มีการเปลี่ยนแปลง

00:15:08.036 --> 00:15:12.652
ทั้ง ๆ ที่โอนไปแล้ว แต่ยอดเงินมันไม่ขึ้นนะคะ

00:15:12.652 --> 00:15:17.868
รวมถึงกระบวนการควบคุมการประมวลผลพร้อมกันจะทำอย่างไรนะคะ

00:15:18.983 --> 00:15:24.587
อาจจะมีเกี่ยวกับอุปกรณ์พัง Harddisk พัง บางคนใช้งานนาน ๆ อากาศร้อน

00:15:26.120 --> 00:15:29.699
คอมพิวเตอร์ก็พังได้เหมือนกันนะคะ เหมือนบางคน

00:15:30.675 --> 00:15:34.948
เปิดคอมพิวเตอร์ไว้ไม่เคยปิดเลย พอช่วงฤดูร้อน มันร้อนมาก

00:15:35.749 --> 00:15:39.449
ไอ้ตัว Mainboard งอ เพราะความร้อนก็มี

00:15:40.285 --> 00:15:44.881
รวมถึงอาจจะเกี่ยวกับไฟดับ ไฟไหม้

00:15:46.449 --> 00:15:49.549
อุทกภัย หรือภัยธรรมชาติต่าง ๆ

00:15:50.000 --> 00:15:55.200
ก็อาจเกิดขึ้นได้ถือว่าเป็นสาเหตุที่ทำให้การประมวลผลมีปัญหาเช่นเดียวกันนะคะ

00:15:57.325 --> 00:16:06.877
ในการทำงานบางอย่าง อาจทำไปสู่ นำไปสู่การล่มของระบบ เช่น คุณใส่ข้อมูลเยอะเกินไป

00:16:07.853 --> 00:16:10.512
เหมือนเวลาเราเขียนโปรแกรมแล้วมันไม่รู้จบ

00:16:11.766 --> 00:16:14.752
หรือการที่เอา 0 มาหาร

00:16:15.484 --> 00:16:21.205
ซึ่งเวลาเราเอา 0 มาหารนี่ มันจะหาค่าไม่ได้ ตอนที่เราเขียนโปรแกรม ระบบก็จะล่ม

00:16:21.902 --> 00:16:26.084
รวมถึงตรรกะของการเขียนโปรแกรมอาจจะผิด เช่น

00:16:28.070 --> 00:16:29.118
อย่างไรดี

00:16:30.581 --> 00:16:35.702
ถ้าคนผมสั้น

00:16:35.702 --> 00:16:42.185
สมมติตรรกะโปรแกรม คนผมสั้นจะต้องเป็นผู้ชายเท่านั้น ถามว่าจริงไหม ไม่จริง

00:16:43.544 --> 00:16:48.287
ผู้ชายผมยาวก็มี ผู้หญิงผมสั้นก็มี อันนี้คือตรรกะผิดพลาด

00:16:48.287 --> 00:16:52.877
เราจะมากำหนดอย่างนี้เลยไม่ได้นะคะ เหมือนเวลาเรา Scan ใบหน้าอย่างนี้

00:16:52.877 --> 00:16:58.340
แล้วบอกว่า โอ๊ย ผมสั้นมาต้องเป็นผู้ชายแน่นอน ซึ่งมันไม่จริงนะคะ

00:16:58.340 --> 00:17:04.474
หรือ User หรือผู้ใช้งานอาจเป็นการหยุดที่ไม่ถูกต้อง ระหว่างประมวลผล

00:17:05.345 --> 00:17:10.606
เช่นกำลัง Download เอกสาร

00:17:10.815 --> 00:17:14.673
หรือกำลังทำธุรกรรม บางคนกำลังโอนเงินอยู่

00:17:14.673 --> 00:17:19.853
แล้วไม่ได้ใช้เน็ตในโทรศัพท์ ใช้เน็ต Wi-Fi มีคนถอดปลั๊กออก

00:17:20.933 --> 00:17:24.773
การโอนเงินของตอนนั้นของคุณอาจจะมีปัญหาก็ได้นะคะ

00:17:24.773 --> 00:17:28.810
อันนี้คือการทำงานอาจจะมีการผิดพลาดหรือปัญหาเกิดขึ้น

00:17:30.413 --> 00:17:33.928
อันนี้ก็อธิบายไปแล้วนะ อันนี้เปลี่ยนแปลง

00:17:35.461 --> 00:17:44.224
ซึ่งด้วยสาเหตุเหล่านี้นี่ เราเลยจำเป็นจะต้องมีทั้งการกู้คืน แล้วก็การสำรองข้อมูลนะคะ

00:17:44.921 --> 00:17:51.890
โดยการกู้คืนฐานข้อมูลนี่ ก็คือกระบวนการที่ทำให้ฐานข้อมูลของเรานี่ กลับสู่สภาวะเดิม

00:17:52.204 --> 00:17:55.206
ที่สามารถใช้งานได้นะคะ ถ้า

00:17:55.729 --> 00:18:01.673
ณ ขณะนั้นถ้ามันมีความขัดข้องหรือข้อผิดพลาดระหว่างการประมวลผลนะคะ

00:18:01.673 --> 00:18:04.667
ซึ่งการฟื้นสภาพหรือการกู้คืนนี่

00:18:05.852 --> 00:18:11.579
มันจะเป็นการที่ระบบจัดการฐานข้อมูลนี่ ย้อนกลับไปยังข้อมูล

00:18:11.579 --> 00:18:15.542
ก่อนที่จะเกิดความเสียหายนะคะ

00:18:16.134 --> 00:18:21.470
โดยที่ฐานข้อมูลอาจจะเกิดความขัดข้องหรือความเสียหายของระบบ ไม่ว่ากรณีใด ๆ นะคะ

00:18:22.236 --> 00:18:28.675
มันจะทำให้ข้อมูลนั้นนี่ ไม่ถูกต้องแล้วก็เชื่อถือไม่ได้ เราจะต้องย้อนกลับไปนะคะ

00:18:29.476 --> 00:18:36.663
เพราะฉะนั้นการกู้คืนฐานข้อมูลนี่ มันจะเป็นมีวิธีการในการเอาข้อมูลที่ถูกทำลาย

00:18:37.325 --> 00:18:40.407
หรืออาจจะถูกเปลี่ยนแปลงให้กลับคืนมา

00:18:40.651 --> 00:18:44.670
อยู่ในสภาพที่ถูกต้อง น่าเชื่อถือเหมือนเดิมนะคะ

00:18:44.670 --> 00:18:49.162
ซึ่งอันนี้ก็คือเป็นหน้าที่ของระบบจัดการฐานข้อมูลเช่นเดียวกันนะคะ

00:18:49.162 --> 00:18:54.665
โดยการกู้คืนข้อมูลหรือการฟื้นสภาพนี่ มันจะเป็นการทำให้เรามั่นใจว่ารายการที่ทำของเรานี่

00:18:54.944 --> 00:18:59.403
ที่ถูกยกเลิกไป หรืออาจจะมีความผิดพลาดต่าง ๆ เช่น

00:18:59.403 --> 00:19:08.022
อาจจะเกิดจากโปรแกรม ระบบมันเสีย Harddisk เสีย ไฟดับ ไฟตกนะคะ

00:19:08.196 --> 00:19:11.396
สิ่งเหล่านี้จะไม่ก่อให้เกิดความเสียหายของฐานข้อมูล

00:19:12.685 --> 00:19:16.823
หรือการทำงานอื่น ๆ ที่ทำงานร่วมกันของข้อมูลนั้น ๆ นะคะ

00:19:16.823 --> 00:19:23.653
โดยรูปแบบของลักษณะของความผิดพลาดนะคะ

00:19:23.967 --> 00:19:27.262
อันแรกระบบล่มซึ่งอันนี้เราก็น่าจะคุ้นเคยกันอยู่

00:19:28.272 --> 00:19:33.000
ความขัดข้องจากอุปกรณ์บันทึกข้อมูลนะคะ Harddisk เสีย

00:19:33.662 --> 00:19:39.197
SSD เสีย ความผิดพลาดของตัวโปรแกรม ภัยธรรมชาติ

00:19:40.207 --> 00:19:44.027
อย่างเราเป็นเรียนทางคอมพิวเตอร์ เราจะต้องไปดูแลคอมพิวเตอร์

00:19:44.027 --> 00:19:51.033
แต่ถ้าคุณไม่ดูแลเอาใจใส่ ไม่ทำความสะอาด ไม่เช็กความพร้อมของอุปกรณ์

00:19:51.033 --> 00:19:55.866
คิดว่า โอ๊ะ ไม่เป็นไรหรอก แต่เปิดฝาหลังคอมพิวเตอร์มา มีแต่ฝุ่น

00:19:57.016 --> 00:20:01.591
ถามว่าฝุ่นมันสะสมมาก ๆ สักวันมันจะช็อต แล้วคอมคุณก็จะพัง

00:20:02.114 --> 00:20:07.974
อันนี้คือความไม่ดูแลเอาใจใส่ หรือเอาของเข้ามากินในห้อง น้ำหกใส่คอมพิวเตอร์

00:20:08.706 --> 00:20:14.672
คอมฯ ของคุณก็พัง เพราะฉะนั้นเดี๋ยวถ้ามีโอกาส ที่วกคุณได้ไปดูงานห้องคอมพิวเตอร์

00:20:15.299 --> 00:20:22.762
ที่เป็นคอมพิวเตอร์ที่สมบูรณ์แบบ เขาจะห้ามของกินทุกชนิด

00:20:23.807 --> 00:20:26.935
รองเท้าต้องสะอาด ถุงเท้าต้องสะอาด

00:20:27.458 --> 00:20:32.115
ห้องคอมพิวเตอร์บางห้อง ต้องใส่หมวกคลุมผม ไม่ให้ผมร่วงลงไป

00:20:32.533 --> 00:20:39.321
เพราะบางทีถ้าพัดลมมันพัด แล้วมันไปเกิดช็อตที่ใบพัดของ ระบบทำความเย็น

00:20:40.958 --> 00:20:44.572
คอมพิวเตอร์อาจจะเสียหายได้ หรือรวมถึงการก่อวินาศกรรม

00:20:45.304 --> 00:20:49.378
ถ้าเราดูหนังหลาย ๆ เรื่องนะคะ

00:20:49.378 --> 00:20:55.995
เขาก็จะมีการวางระเบิดห้องคอมพิวเตอร์อะไรอย่างนี้ อันนี้ก็เป็นสาเหตุเช่นเดียวกันนะคะ

00:20:59.513 --> 00:21:04.739
ประเภทของเหตุขัดข้องก็มีอยู่ 3 ลักษณะหลัก ๆ นะคะ

00:21:05.157 --> 00:21:10.896
อันแรกจะเป็นความขัดข้องของระบบนะคะ

00:21:11.279 --> 00:21:14.980
เช่นความขัดข้องของระบบปฏิบัติการนะคะ

00:21:15.433 --> 00:21:18.639
ทำให้ระบบไม่สามารถทำงานไปได้ การ...

00:21:18.639 --> 00:21:22.261
อาจจะต้องมีการปิดเปิดเครื่องใหม่หรือ Restart นะคะ

00:21:22.679 --> 00:21:27.136
ซึ่งจะมีผลกับทุก ๆ รายการเปลี่ยนแปลงที่กำลังทำงานอยู่

00:21:27.868 --> 00:21:31.652
อาจจะไม่ถึงขั้นทำลายข้อมูลในฐานข้อมูลนะคะ

00:21:31.652 --> 00:21:39.462
เราจะเรียกการขัดข้องแบบนี้ว่าเป็นการขัดข้องแบบ เขาเรียกว่าอย่างเบาละกันนะคะ

00:21:40.263 --> 00:21:45.898
โดยข้อมูลไม่หาย แต่ข้อมูลที่อยู่ใน Harddisk นี่ บางครั้งอาจจะ

00:21:48.058 --> 00:21:53.044
ต่อไปครั้งหน้าที่มีการเรียกการทำงานมันอาจจะช้านะคะ

00:21:53.392 --> 00:21:55.450
เพราะว่าส่วนมากข้อมูลเราจะเก็บไว้ใน Harddisk

00:21:55.450 --> 00:22:01.307
ซึ่ง Harddisk ไม่มีไฟฟ้าก็สามารถเก็บข้อมูลได้นะคะ อันนี้ก็คือการ...

00:22:01.691 --> 00:22:06.905
ความขัดข้องแบบที่ยังพอรับได้ ปิด-เปิดเครื่องใหม่ก็หายนะคะ

00:22:08.299 --> 00:22:12.490
แต่ถ้าเป็นความขัดข้องของรายการเปลี่ยนแปลงนะคะ

00:22:12.490 --> 00:22:15.623
ก็จะมีอยู่ 2 ลักษณะ

00:22:16.668 --> 00:22:21.061
บางครั้งมันจะเป็นความขัดข้องที่อาจจะป้องกันได้

00:22:21.061 --> 00:22:26.251
จากโปรแกรมที่เราเขียนไว้นะคะ หรือโปรแกรมที่เราใช้งาน

00:22:27.366 --> 00:22:31.968
โดยมีทั้งภายในภายนอกที่ไม่สามารถแก้ไขได้

00:22:31.968 --> 00:22:38.323
อย่างสมมุติว่าเป็นความขัดข้องที่สามารถป้องกันได้จากภายในโปรแกรมนะคะ

00:22:38.567 --> 00:22:45.356
เช่น ถ้าเราจะโอนเงินสมมุติว่าเราอยากโอน 500,000 บาท นะคะ

00:22:46.819 --> 00:22:51.173
แต่จริง ๆ เรามีอยู่ 500 บาท โปรแกรมก็จะเริ่มตรวจสอบแล้วความผิดพลาดแล้วว่า

00:22:51.173 --> 00:22:53.605
แล้วก็แสดงผลว่ายอดเงินของคุณไม่เพียงพอ

00:22:54.267 --> 00:22:59.727
ต้องยกเลิกรายการนี้ หรือกลับไปแก้ไขจำนวนเงินใหม่

00:22:59.727 --> 00:23:04.145
อันนี้คือเราสามารถป้องกันความเสียหายได้นะคะ

00:23:04.145 --> 00:23:09.272
อันนี้ก็คือ มันจะเป็นเกี่ยวกับตรรกะแนวคิดอยู่แล้ว

00:23:10.000 --> 00:23:14.298
เงินไม่พอจะโอนได้อย่างไร อันนี้เป็นพื้นฐานง่าย ๆ เป็นต้น

00:23:14.646 --> 00:23:19.705
หรือถ้าไม่สามารถป้องกันได้ เช่น ข้อมูลมันเยอะเกิน

00:23:19.705 --> 00:23:23.864
อย่างเช่น อาจจะเคยได้ยินข่าวว่ามี Hacker พยายาม

00:23:23.864 --> 00:23:28.851
เอาข้อมูลเหมือนพยายามโจมตี Server Server หนึ่งนะคะ

00:23:28.851 --> 00:23:31.592
ซึ่ง Server นี้อาจจะเป็นมหาวิทยาลัยเราก็ได้

00:23:32.115 --> 00:23:35.356
สามารถทำงานได้พร้อมกันเต็มที่ 500 คน

00:23:35.565 --> 00:23:40.204
แต่ Hacker ใช้ User เป็น 1 ล้านคนมาโจมตี

00:23:40.622 --> 00:23:43.675
มันจะทำให้ระบบเรานี่ไม่สามารถรับได้

00:23:44.894 --> 00:23:49.850
ระบบก็จะล่ม เพราะเรารับได้เต็มที่ 500 แต่คนล้านคนพยายามเข้ามา

00:23:49.850 --> 00:23:56.704
หรือพยายามกรอกข้อมูลนี่ มันเป็นไปไม่ได้เลย ระบบก็จะพังนะคะ แบบนี้เป็นต้น

00:23:56.704 --> 00:24:00.615
อันนี้คือไม่สามารถป้องกันในจากโปรแกรมเราได้เลย

00:24:02.043 --> 00:24:03.766
กับอีกอย่างหนึ่ง

00:24:04.707 --> 00:24:06.749
ความขัดข้องของอุปกรณ์

00:24:08.143 --> 00:24:12.759
อาจจะพัง หัวอ่านสะเทือน กระทบกัน

00:24:12.759 --> 00:24:17.233
เหมือนนักศึกษาบางคนชอบใช้โน้ตบุ๊กแล้วปิดฝาพับลง

00:24:17.616 --> 00:24:21.508
ไม่ปิดเครื่อง เครื่องก็จะยังทำงานอยู่

00:24:22.344 --> 00:24:29.756
เวลาคุณขี่มอเตอร์ไซค์ ตกหลุม ขึ้นเนิน มันสะเทือน

00:24:30.279 --> 00:24:33.969
อุปกรณ์ที่อยู่ในกระเป๋าเป้เรามันยังทำงาน

00:24:34.945 --> 00:24:40.000
มันก็จะสะเทือนไปด้วย มันก็อาจจะพัง คอมฯ คุณก็จะพัง

00:24:40.000 --> 00:24:45.724
เพราะบางทีหัวอ่าน Harddisk คุณมันทำงานอยู่ พอมันโดนกระแทก

00:24:45.724 --> 00:24:51.930
หัวอ่านมันจะเป็นเข็มเล็ก ๆ มันก็พังนะคะ อันนี้ก็ระวังด้วย

00:24:51.930 --> 00:24:59.897
อันนี้ก็คือความเสียหายของอุปกรณ์ที่ถือว่าเป็นลักษณะที่ค่อนข้างรุนแรง เพราะถ้ามันพัง

00:24:59.897 --> 00:25:07.261
เราแก้ไขไม่ได้ เพราะเหมือนมันหักไปแล้ว มันเสียไปแล้วนะคะ ข้อมูลเราก็ไม่ได้สำรอง

00:25:07.575 --> 00:25:11.019
อันนี้ก็คือข้อผิดพลาดจากอุปกรณ์เก็บข้อมูล

00:25:13.109 --> 00:25:18.369
ความจำเป็นของการกู้คืนข้อมูลก็แน่นอนค่ะ อยู่ที่ว่าเราจะสำรองข้อมูลกับอะไร

00:25:18.369 --> 00:25:21.562
ใส่ Harddisk ไว้ไหม หรือใส่ USB ไว้

00:25:21.562 --> 00:25:28.395
หรืออัปโหลดขึ้นบน Google Drive หรือบน Cloud ก็ว่าไปนะคะ

00:25:29.161 --> 00:25:31.956
ซึ่งประเภทของ

00:25:33.524 --> 00:25:38.214
ที่เก็บข้อมูลสำรองจะมีอยู่ 3 แบบนะคะ 3 แบบ

00:25:38.841 --> 00:25:42.888
อันนี้ถ้านับเป็นอุปกรณ์นะที่จับต้องได้

00:25:42.888 --> 00:25:50.000
อันแรกเป็นอุปกรณ์ที่จะเก็บข้อมูลได้ต่อเมื่อมีไฟฟ้านะคะ

00:25:50.418 --> 00:25:53.263
ในกรณีที่ไม่มีไฟฟ้า ข้อมูลพวกนี้จะหายไป

00:25:54.029 --> 00:26:01.038
สิ่งเหล่านี้ก็คือ RAM เราเรียนประกอบคอมมาแล้ว RAM จะเป็นการ์ดแผ่นเล็ก ๆ นะคะ

00:26:01.491 --> 00:26:05.100
มันจะเป็นพื้นที่สำหรับสำรองข้อมูลตอนที่คอมพิวเตอร์เราทำงานอยู่

00:26:05.727 --> 00:26:10.014
ถ้าเราปิดปึ๊บ ข้อมูลในนั้นจะหายไปนะคะ

00:26:11.895 --> 00:26:17.655
กับอุปกรณ์ที่ไม่จำเป็นต้องใช้ไฟฟ้า ก็คือ Harddisk ซึ่งอุปกรณ์ประเภทนี้นี่

00:26:17.864 --> 00:26:22.096
มักจะเกิดปัญหาก็คือ Harddisk พัง หัวอ่านมันหัก

00:26:22.688 --> 00:26:28.540
หรือตัว Disk เป็นรอยนะคะ เพราะฉะนั้นก็ต้องระวังด้วย

00:26:29.585 --> 00:26:35.523
กับอันต่อมาเป็น Stable ก็คือ อันนี้จะเป็นค่อนข้างโบราณ

00:26:35.697 --> 00:26:41.102
ไม่ต้องอาศัยกระแสไฟฟ้า ส่วนมากจะไว้ใช้ในการสำรองข้อมูลมากกว่า

00:26:41.102 --> 00:26:45.455
ลักษณะเป็นเทปแม่เหล็ก เพราะราคาค่อนข้างถูก

00:26:46.221 --> 00:26:53.979
แต่การเรียกดูข้อมูลมันจะช้านะคะ แต่ว่าส่วนมากเขาเลยใช้เป็นที่เก็บข้อมูล

00:26:54.223 --> 00:26:57.317
ไม่ได้เอามาประมวลผลทุกวันนะคะ

00:26:58.258 --> 00:27:02.795
ก็ถามว่านิยมใช้ไหม ก็ไม่น่ะค่ะ เพราะว่าเดี๋ยวนี้เขาก็ใช้ Harddisk กันหมด

00:27:02.795 --> 00:27:04.363
อย่างน้อยน่ะนะคะ

00:27:06.767 --> 00:27:09.822
ต่อมาประเภทของความผิดพลาดมีอยู่ 4 ประเภทนะคะ

00:27:10.798 --> 00:27:14.763
อันแรกก็คือความผิดพลาดทางตรรกะนะคะ

00:27:15.704 --> 00:27:20.182
ก็บางทีก็เกิดความผิดพลาดตั้งแต่ตอนเราที่เขียนโปรแกรมมันผิด เช่น

00:27:21.332 --> 00:27:26.063
โปรแกรมไม่ยอมทำงานเพราะว่า บัตรประชาชนคุณกำหนดไว้เป็น 15 หลัก

00:27:27.073 --> 00:27:31.352
ความจริงมีแค่ 13 พอกรอกไม่ครบ ระบบทำงานไม่ได้

00:27:32.815 --> 00:27:37.670
ผู้ใช้งานกรอกถูกแล้ว 13 ตัว แต่ระบบบอกว่ามันต้อง... มันหายไป 2 ตัว

00:27:37.914 --> 00:27:40.549
อันนี้ก็คือตรรกะมันผิด

00:27:40.793 --> 00:27:46.477
โปรแกรมมันผิด เราเขียนผิดเองนะคะ ก็เป็นถือไว้เป็นความผิดพลาดอย่างหนึ่ง

00:27:46.477 --> 00:27:50.039
หรือว่านามสกุล

00:27:51.154 --> 00:27:53.136
กรอกเป็นตัวเลขไม่ได้

00:27:54.390 --> 00:28:01.113
แต่บังเอิญคุณไม่ได้ปิดความผิดพลาดตรงนี้ มีคนมาปั่น มาป่วนระบบคุณ

00:28:01.705 --> 00:28:06.960
แล้วเขาใช้นามสกุลเป็นตัวเลข ระบบยอมให้ Save หรือยอมให้บันทึกข้อมูล

00:28:06.960 --> 00:28:13.457
สรุปคุณก็ได้ข้อมูลขยะเข้ามา ทำให้เปลืองการประมวลผลข้อมูลอีกนะคะ

00:28:15.582 --> 00:28:19.257
กับความผิดพลาดของระบบนะคะ

00:28:19.257 --> 00:28:22.113
เช่น ปัญหาการจัดระดับงานผิดพลาด

00:28:22.113 --> 00:28:26.803
แล้วมันเลยเกิดปัญหาระบบหยุดการทำงานของมันเอง

00:28:27.221 --> 00:28:35.686
ล็อกไม่ให้คุณทำงานนะคะ แบบนี้ รวมถึงความผิดพลาดของอุปกรณ์จัดเก็บข้อมูล เช่น

00:28:35.686 --> 00:28:45.691
เหมือนตึกนี้ ไฟไม่สม่ำเสมอ ไฟตกบ่อย ข้อมูลหายบ่อยนะคะ อันนี้ก็เป็นปัญหา

00:28:45.691 --> 00:28:49.800
เพราะฉะนั้นในห้องนี้ เมื่อก่อนเราเลยมีอุปกรณ์สำรองไฟ

00:28:50.427 --> 00:28:56.530
แต่พออุปกรณ์สำรองไฟใช้ไปนาน ๆ ไฟตกบ่อย ก็พังเหมือนกันนะคะ

00:28:56.530 --> 00:28:58.594
อันนี้ก็จะเป็นความผิดพลาดของระบบ

00:29:00.440 --> 00:29:07.135
รวมถึงความผิดพลาดของระบบอุปกรณ์ที่เก็บข้อมูลนะคะ

00:29:07.692 --> 00:29:13.647
เช่นปัญหา บางที Harddisk ของเรานี่ พอเราอย่างที่อาจารย์บอก พวกคุณไม่ได้ปิดเครื่อง

00:29:14.274 --> 00:29:21.159
Harddisk มันทำงานตลอด แล้วหัวเข็มบางทีมันสะเทือน ไอ้ตัวหน้า...

00:29:21.542 --> 00:29:26.023
หน้าจานแม่เหล็กที่เก็บข้อมูลของเรานี่ มันเลยเป็นรอยขูดขีด

00:29:26.023 --> 00:29:30.327
เป็นรอย เหมือนสมัยเด็ก ๆ พวกคุณดูแผ่น CD น่ะค่ะ

00:29:31.268 --> 00:29:33.182
ถ้าแผ่น CD เป็นรอย

00:29:34.436 --> 00:29:38.298
หนังในแผ่น CD เรานี่ก็จะดูแล้วมันก็จะกระตุก

00:29:39.587 --> 00:29:41.234
อาจจะดูไม่ได้เลย

00:29:42.000 --> 00:29:44.120
เพราะว่าเราเก็บรักษาไม่ดี

00:29:44.399 --> 00:29:50.140
อันนี้ก็เหมือนกันนะคะ เพราะฉะนั้นการใช้อุปกรณ์ใด ๆ ที่เป็นอุปกรณ์คอมพิวเตอร์นี่

00:29:51.220 --> 00:29:55.952
มันค่อนข้างมีราคา แล้วก็มีความสำคัญ อาจจะมีข้อมูลสำคัญอยู่ในนั้น

00:29:55.952 --> 00:29:59.183
เราก็ต้องช่วยกันรักษาด้วยนะคะ

00:30:01.273 --> 00:30:06.484
การกู้ข้อมูลจากอุปกรณ์ที่ใช้ไฟฟ้านะคะ มีอยู่ 3 แบบ

00:30:07.878 --> 00:30:13.140
แบบแรกก็จะเป็นการกู้ข้อมูลที่อาศัยข้อมูลที่เก็บจาก เขาจะเรียกว่า

00:30:13.140 --> 00:30:14.672
รายการเปลี่ยนแปลงอย่างนี้

00:30:15.020 --> 00:30:21.457
สมมุติว่า เหมือนกับเวลาเราไปเซ็นชื่อ

00:30:23.652 --> 00:30:32.858
หรือการเก็บข้อมูลว่าวันนี้คุณมาเรียนกี่โมง กลับบ้านกี่โมงนะคะ มันก็จะมีการเก็บไว้

00:30:33.799 --> 00:30:38.503
เป็นลำดับรายการ เป็นหมายเลขการเปลี่ยนแปลง มีการกระทำอะไรบ้าง

00:30:38.956 --> 00:30:42.535
ชื่อตารางมาจากไหน เปลี่ยนแปลงข้อมูลอะไรนะคะ

00:30:42.535 --> 00:30:45.414
ลักษณะของการเก็บข้อมูลจะเป็นตารางแบบนี้

00:30:47.400 --> 00:30:53.786
เช่น สมมุติ 10 โมง 12 นาที เริ่มทำงานนะคะ

00:30:54.343 --> 00:30:59.337
นาทีต่อมา มีการเปลี่ยนแปลงข้อมูลของพนักงาน

00:31:00.000 --> 00:31:08.404
ลำดับที่เท่าไรนะคะ ข้อมูลเดิมลำดับที่ 1 เปลี่ยนเป็นลำดับที่ 8

00:31:09.554 --> 00:31:17.365
แบบนี้เป็นต้นนะคะ อันนี้ก็คือเขาจะรู้เลยว่า ทุก ๆ กี่นาทีมีข้อมูลอะไรเกิดขึ้นบ้าง

00:31:17.679 --> 00:31:20.866
มีรายการเปลี่ยนแปลงใดบ้าง อย่างเช่นรายการเปลี่ยนแปลงที่ 1

00:31:21.180 --> 00:31:24.755
เปลี่ยนแปลงที่ 2 เปลี่ยนแปลงที่ 3 สังเกตว่า

00:31:24.755 --> 00:31:28.465
ทุกการเปลี่ยนแปลงจะเริ่มต้นที่จุด START เหมือนกัน

00:31:28.465 --> 00:31:38.055
ต้องมีการเริ่มทำงาน  อย่างเหมือนรายการเปลี่ยนแปลงที่ 1 เห็นไหมคะ

00:31:38.612 --> 00:31:41.021
เริ่มต้นเมื่อ 10 โมง 12 นาที

00:31:43.320 --> 00:31:48.251
สถานะ COMMIT ก็คือยอมรับการเปลี่ยนแปลง

00:31:48.599 --> 00:31:56.133
ตอน 10 โมง 18 นาที ก็คือเราทำงานในการแก้ไขข้อมูลนี่ใช้เวลา 6 นาที

00:31:56.969 --> 00:32:01.051
มันจะเก็บทุกอย่างที่เกิดขึ้นใน 6 นาทีนั้นนะคะ

00:32:03.664 --> 00:32:09.499
อย่างเช่น START นะคะ เช่น สถานะก็คือ START ก็คือรายการจะเริ่มต้นทำงานนะคะ

00:32:10.000 --> 00:32:14.301
COMMIT ก็คือทำงานเสร็จ UPDATE ก็คือ

00:32:14.301 --> 00:32:17.726
รายการถูกบันทึกแล้ว แล้วก่อให้เกิดการเปลี่ยนแปลงค่า

00:32:17.726 --> 00:32:21.023
สถานะหลัก ๆ จะมีอยู่ 3 สถานะนะคะ

00:32:21.023 --> 00:32:25.513
สำหรับการเก็บข้อมูลเป็นประเภท Log File ก็คือเป็นการเก็บ

00:32:25.513 --> 00:32:27.845
การเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นนั่นเอง

00:32:30.353 --> 00:32:36.655
การกู้คืนในเกิดจากเหตุขัดข้องแบบความผิดพลาดของระบบ

00:32:36.934 --> 00:32:40.979
เราจะมีจุดที่เป็นเหมือนจุดตรวจสอบนะคะ

00:32:41.571 --> 00:32:46.381
ถ้าสมมุติว่าทำงานแล้วยังไม่ถึงจุดตรวจสอบ แล้วถ้าระบบล่ม

00:32:47.182 --> 00:32:49.021
เราจะเริ่มต้นใหม่ทั้งหมด

00:32:50.519 --> 00:32:54.120
แต่ถ้าการทำงานของเราเลยจุดตรวจสอบแล้ว

00:32:54.120 --> 00:32:58.949
แล้วระบบจึงล่ม เราจะเริ่มการทำงานใหม่ที่จุดตรวจสอบนั้นนะคะ

00:32:58.949 --> 00:33:06.860
ก็คือไม่ต้องเริ่มใหม่ทั้งหมด จะเริ่มตรงจุดที่เรา Mark ไว้ หรือเราตั้งธงไว้นั่นเองนะคะ

00:33:09.159 --> 00:33:12.561
เดี๋ยวอันนี้ค่อยอธิบายเพราะว่าเป็นตัวเลขเยอะนะ

00:33:13.676 --> 00:33:19.556
แบบนี้นี่ค่ะ อย่างเช่นตัวนี้ค่ะ จุด Check Point

00:33:20.253 --> 00:33:24.255
ถามว่าตัวกระบวนการทำงานที่ 1 T1

00:33:25.056 --> 00:33:28.473
เริ่มต้นตรงนี้ ถึงตรงนี้

00:33:29.518 --> 00:33:34.878
ถามว่ามันทำงานเสร็จไหม ทำงานเสร็จเรียบร้อยนะคะ T1 ไม่มีปัญหาอะไร

00:33:36.411 --> 00:33:37.721
T2 ล่ะ

00:33:38.906 --> 00:33:42.908
T2 ทำงานผ่านจุดตรวจสอบที่ 1

00:33:43.500 --> 00:33:47.352
เสร็จเรียบร้อยก่อนถึงจุดที่ระบบจะล่ม

00:33:47.805 --> 00:33:51.132
ถามว่า T2 ทำงานเสร็จไหม T2 ทำงานเสร็จนะคะ

00:33:53.118 --> 00:33:58.133
T3 ทำ... เริ่มทำงานตรงนี้ ผ่านจุดตรวจสอบ

00:33:58.969 --> 00:34:05.875
ทำงานจนถึงจุดผิดพลาด ถามว่า T3 จะเริ่มทำงานที่ไหน

00:34:05.875 --> 00:34:09.180
จะไม่เริ่มตรงนี้นะคะ จะเริ่มตรงที่จุดตรวจสอบตรงนี้

00:34:11.201 --> 00:34:15.911
T4 เริ่มทำงานตรงนี้เสร็จตรงนี้

00:34:15.911 --> 00:34:21.255
ไม่อยู่ในจุดตรวจสอบก็จริง แต่เราก็นับว่าเขาทำงานเสร็จเรียบร้อยนะคะ

00:34:21.952 --> 00:34:28.325
ส่วน T5 ทำงานหลังจากจุดตรวจสอบ แล้วทำไม่เสร็จ T5 จะทำอย่างไร

00:34:28.325 --> 00:34:31.099
T5 ต้องเริ่มใหม่ทั้งหมดนะคะ

00:34:31.099 --> 00:34:34.310
อันนี้คือการทำงานของจุดตรวจสอบ

00:34:35.216 --> 00:34:41.982
จะเห็นได้ว่า ถ้าคุณทำงานผ่านจุดตรวจสอบก็จริง แต่ถ้าระบบมันทำงานเสร็จ ก็ไม่มีปัญหาอะไร

00:34:42.992 --> 00:34:46.922
แต่ถ้าการทำงานมีปัญหา แล้วผ่านจุดตรวจสอบแล้ว

00:34:46.922 --> 00:34:50.927
เราจะไม่เริ่มใหม่ทั้งหมดเราจะเริ่มต้นแค่ตรงที่จุดตรวจสอบนะคะ

00:34:50.927 --> 00:34:53.911
อันนี้เป็นแบบการกู้คืนข้อมูลแบบใช้จุดตรวจสอบ

00:34:56.803 --> 00:35:04.587
กับการกู้คืนแบบ ทำคล้าย ๆ กับว่าเป็นสำเนาข้อมูลนะคะ

00:35:05.284 --> 00:35:12.606
ก็ส่วนมากตัวนี้การกู้คืนตัวนี้จะใช้พื้นที่ในการเก็บข้อมูลเยอะพอสมควร

00:35:12.920 --> 00:35:17.505
เพราะไม่ว่าจะมีการกระทำใด ๆ เกิดขึ้นในระบบของเรา

00:35:18.097 --> 00:35:21.083
มันจะทำสำเนาซ้ำไว้ด้วยเสมอ

00:35:21.780 --> 00:35:27.087
เหมือนกับเงานะคะ เขาเรียกว่าเหมือนเราเดินไปก็จะมีเงาติดตัวเราไปด้วย

00:35:27.087 --> 00:35:31.313
เราเดินซ้ายก็เงาไปทางซ้าย เราเดินขวาก็เป็นทางเงาทางขวา

00:35:31.661 --> 00:35:38.903
เพราะฉะนั้น ไม่ว่าจะเกิดการกระทำใด ๆ ขึ้น จะมีสำเนาไว้ด้วยเสมอนะคะ

00:35:40.000 --> 00:35:44.764
อันนี้เป็นการทำแบบ Shadow Paging นะคะ

00:35:46.297 --> 00:35:47.451
ต่อมา

00:35:48.636 --> 00:35:55.102
เป็นการกู้ข้อมูลจากการสำรองข้อมูลที่ไม่ใช้ไฟฟ้านะคะ

00:35:55.102 --> 00:36:02.955
ส่วนมากก็จะเป็นอุปกรณ์ที่เป็น Harddisk หรือว่าเทปแม่เหล็กนะคะ

00:36:03.094 --> 00:36:06.064
แต่แบบนี้นี่ เราจะไม่ทำสำเนาตลอดเวลา

00:36:06.447 --> 00:36:09.660
เราจะมีการกำหนดช่วงเวลาในการสำรองข้อมูล

00:36:11.019 --> 00:36:14.817
เช่นทุก ๆ 1 เดือน 2 เดือน 3 เดือนว่าไป

00:36:15.200 --> 00:36:21.503
แต่ถ้าเป็นข้อมูลปริมาณมากนะคะ อย่างในธนาคารนี่ เขาจำเป็นจะต้องสำรองข้อมูล

00:36:21.503 --> 00:36:23.069
แทบจะตลอดเวลาเลย

00:36:23.696 --> 00:36:28.626
เพราะเขามันเป็นเรื่องเกี่ยวกับเงิน ๆ ทอง ๆ มันจะพลาดไม่ได้

00:36:29.218 --> 00:36:36.047
วันนี้อาจจะทำงานได้ พรุ่งนี้อาจจะไฟไหม้ห้องเก็บข้อมูลหรือเปล่าเราไม่รู้นะคะ

00:36:36.500 --> 00:36:40.669
โดยการกู้คืนข้อมูลแบบนี้นี่ ถ้าเป็นองค์กรขนาดใหญ่

00:36:42.063 --> 00:36:48.250
เขาจะต้องมีการซ้อมด้วย ว่าถ้าเกิดวันนี้นี่ ระบบเราล่ม

00:36:50.375 --> 00:36:54.949
2 ทุ่ม พรุ่งนี้ต้องทำงาน จะทำอย่างไร

00:36:55.506 --> 00:36:59.591
ถ้าใครที่ทำงานเกี่ยวข้องกับคอมพิวเตอร์ทั้งหมด จะต้องมาซ้อม

00:37:00.567 --> 00:37:04.663
อาจจะเป็นธนาคารขนาดใหญ่แห่งหนึ่ง

00:37:05.743 --> 00:37:08.958
พรุ่งนี้ต้องทำงานเหมือนเดิม เงินต้องอยู่เหมือนเดิม

00:37:09.272 --> 00:37:16.209
ต้องกู้คืนระบบให้ได้ภายใน 6 ชั่วโมง จากข้อมูลทั้งหมดนะคะ จะต้องมีการซ้อมด้วย

00:37:16.209 --> 00:37:20.802
เช่น สมมุติว่าคุณมีข้อมูลที่เก็บไว้มันอาจจะเป็น Harddisk ประมาณ

00:37:21.046 --> 00:37:23.869
เป็นพัน ๆ Harddisk พัน ๆ ลูก

00:37:24.566 --> 00:37:29.151
คุณจะเรียกข้อมูลกลับคืนมาอย่างไร ให้เสร็จภายในพรุ่งนี้เช้า

00:37:29.708 --> 00:37:31.236
เขาต้องซ้อมนะคะ

00:37:32.212 --> 00:37:35.660
บางทีถ้าเป็นคนที่ทำงานหน้าคอมพิวเตอร์และเฝ้า Server นี่

00:37:35.660 --> 00:37:37.583
บางทีต้องมานอนเฝ้าห้องด้วยซ้ำ

00:37:38.280 --> 00:37:41.636
เขาก็จะห้ามของกินห้ามสูบบุหรี่

00:37:41.636 --> 00:37:45.876
ห้อง Server ก็จะหนาวมาก อาจจะต้องนอนในนั้น บางคนมีถุงนอนด้วยซ้ำ

00:37:46.190 --> 00:37:51.930
เพื่อเฝ้าอุปกรณ์เก็บข้อมูลนะคะ

00:37:53.916 --> 00:37:59.551
การกู้ข้อมูลจะเป็นการโอนข้อมูลจากอุปกรณ์เก็บข้อมูลทั้งหมดกลับมา

00:38:00.770 --> 00:38:05.720
แล้วก็จะเอารายการเปลี่ยนแปลงที่มีการเก็บ Log File

00:38:05.720 --> 00:38:11.798
ก็คือการเก็บเวลาการเปลี่ยนแปลงทุกอย่าง ที่ทำงานสมบูรณ์นะคะ

00:38:12.251 --> 00:38:17.277
ก็จะมาบันทึกไว้ในระบบที่เรากู้คืนมาใหม่ทั้งหมด

00:38:18.636 --> 00:38:24.501
ก็คือเหมือนกับถ้ามันมีการเปลี่ยนแปลงเกิดขึ้น เราก็จะก๊อบมันมาทั้งหมดนะคะ

00:38:26.313 --> 00:38:29.434
วันนี้ก็จะประมาณนี้เพราะว่า

00:38:30.758 --> 00:38:37.066
เราจะไม่เน้นว่าพวกคุณจะต้องสำรองข้อมูลเองทั้งหมดนะ อันนี้ให้รู้ไว้

00:38:37.380 --> 00:38:39.631
เพราะว่าอันนี้มันจะเป็นฐานข้อมูลขั้นสูง

00:38:40.990 --> 00:38:46.964
ซึ่งจะเรียนในปีที่สูงกว่านี้นะคะ เป็นวิชาเฉพาะทาง

00:38:46.964 --> 00:38:52.763
แต่ว่าภาษา SQL นี่ทุกคนจะต้องได้เรียนนะคะ

00:38:53.042 --> 00:38:59.348
อาทิตย์หน้าจะเป็นตัวอย่างคำสั่งภาษา SQL นะคะ

00:38:59.348 --> 00:39:06.717
ที่ทุกคนจะต้องจำแล้วก็ทำให้ได้นะคะ ว่าแต่ละคำสั่งมันมีความสำคัญอย่างไร

00:39:06.717 --> 00:39:13.775
กระบวนการทำงาน เราจะเขียน เขียนโปรแกรมอย่างไรในการเรียกดูข้อมูล

00:39:14.193 --> 00:39:19.386
ใครยังใช้โปรแกรมไม่เป็น เดี๋ยวอาทิตย์หน้าอาจารย์จะพาดูอย่างง่ายก่อน

00:39:19.595 --> 00:39:22.410
ว่าแต่ละคำสั่งมันต้องทำงานอย่างไร

00:39:22.410 --> 00:39:27.379
ถ้าเราจะเรียกดูข้อมูลเราจะต้องใช้คำสั่งอะไรนะคะ

00:39:27.936 --> 00:39:35.430
ถ้าจะเพิ่มข้อมูลใช้คำสั่งอะไร แก้ไขข้อมูล ลบข้อมูล ต้องทำอย่างไร

00:39:36.127 --> 00:39:41.327
แต่ก็ต้องเข้าใจด้วยว่าเราจะใช้ภาษาอังกฤษเป็นหลักนะคะ

00:39:41.850 --> 00:39:44.903
เพราะฉะนั้นพยายามจำแล้วก็พิมพ์ให้ถูก

00:39:45.286 --> 00:39:52.175
หรือแปลความหมายมันได้ยิ่งดีว่าคำศัพท์คำนี้ถ้าเป็นภาษาไทยมันคืออะไร

00:39:52.175 --> 00:39:55.429
ทำไมเราถึงเลือกใช้คำนี้นะคะ

00:39:55.429 --> 00:40:01.540
เหมือนเวลาสมมติว่าต่อไปปี 3 ไปฝึกงาน เขาถามว่ารู้จักฐานข้อมูลไหม

00:40:01.993 --> 00:40:05.739
รู้จักคำสั่งนี้หรือเปล่านะคะ

00:40:05.739 --> 00:40:11.198
เราจะได้ตอบเขาได้ว่าอย่างน้อยเรารู้ว่าคำสั่งนี้มันทำงานอย่างไรนะคะ

00:40:12.069 --> 00:40:19.417
วันนี้ไม่มีการบ้านนะคะ เพราะว่าต้องขอนุญาตไปประชุมตอนบ่าย 2 พอดีนะ

00:40:19.835 --> 00:40:24.122
วันนี้ก็ประมาณนี้ค่ะ แต่ว่าอาทิตย์หน้านะคะ เตรียมตัวมาดี ๆ

00:40:24.122 --> 00:40:27.009
ท่องศัพท์ภาษาอังกฤษกันนะคะ

00:40:27.009 --> 00:40:31.834
วันนี้ก็ขอบคุณล่าม แล้วก็ขอบคุณถอดความด้วยนะคะ ขอบคุณมาก ๆ เลยค่ะ

