﻿1
00:00:03,980 --> 00:00:03,980

2
00:00:03,980 --> 00:00:03,980

3
00:00:03,980 --> 00:00:07,980
(อาจารย์เกวลี) วันนี้จะเป็นเนื้อหาบทที่ 2

4
00:00:07,991 --> 00:00:11,991
นะคะ  จะเกี่ยวกับสถาปัตยกรรมฐานข้อมูล แล้วก็

5
00:00:11,996 --> 00:00:15,996
ทฤษฎีเกี่ยวกับแบบจำลองข้อมูล ข้อมูลที่

6
00:00:16,001 --> 00:00:20,001
ใช้ปัจจุบันนี่บางคนก็ไม่รู้ว่าทำไมเราต้อง

7
00:00:20,004 --> 00:00:24,004
เก็บเหมือนนักศึกษา 1 คนทำไมต้องถามด้วยล่ะ

8
00:00:24,009 --> 00:00:28,009
ชื่ออะไร นามสกุลอะไร เรียนจบที่ไหนมา

9
00:00:28,010 --> 00:00:32,010
นะคะ เกรดเฉลี่ยตอนจบ ม. 6 หรือ

10
00:00:32,014 --> 00:00:36,014
สายอาชีพ ได้เกรดเฉลี่ยเท่าไหร่ เทอมที่แล้ว

11
00:00:36,018 --> 00:00:40,018
เราเรียนไปกี่วิชานะคะ ได้คะแนนเท่าไร

12
00:00:40,020 --> 00:00:44,020
ได้เกรดเท่าไร่ ทำไมต้องดเก็บแบบนี้

13
00:00:44,025 --> 00:00:48,025
ทุกอย่างก็จะมีเหตุมีผล เพราะว่าข้อมูลทุกรูปแบบนี่ก็จะมี

14
00:00:48,029 --> 00:00:52,029
เนื้อหาความสำคัญ

15
00:00:52,034 --> 00:00:56,034
ของชุดข้อมูลนั้น ๆ อยู่นะคะ

16
00:00:56,036 --> 00:01:00,036
โดยที่เราจะเรียกสิ่งนั้น ๆ ว่า แนวคิด

17
00:01:00,038 --> 00:01:04,038
เกี่ยวกับการออกแบบฐานข้อมูล หรือสถาปัตยกรรมฐานข้อมูล

18
00:01:04,041 --> 00:01:08,041
มันก็จะเป็นข้อกำหนด แล้วก็

19
00:01:08,046 --> 00:01:12,046
ข้อตกลงรวมถึงขอบเขตหรืออาจจะเป็นกรอบ

20
00:01:12,050 --> 00:01:16,050
ความคิดนะคะ ในการบรรยายว่า

21
00:01:16,054 --> 00:01:20,054
ควรจะเป็นอย่างไรนะคะ โครงสร้าง ก็คือข้อมูลที่เรา

22
00:01:20,058 --> 00:01:24,058
จะเก็บมีอะไรบ้าง ส่วนประกอบที่เอามาประกอบกันไป

23
00:01:24,060 --> 00:01:28,060
จนเป็นระบบฐานข้อมูลมีอะไรนะคะ

24
00:01:28,065 --> 00:01:32,065
โดยที่สถาปัตยกรรมฐานข้อมูลนี่

25
00:01:32,068 --> 00:01:36,068
มันจะมีส่วนประกอบสำคัอยู่ 3 ส่วนนะคะ ก็คือในตัวสถาปัตยกรรมระบบเอง

26
00:01:36,073 --> 00:01:40,073
นะคะ และก็ความเป็นอิสระของข้อมูล

27
00:01:40,077 --> 00:01:44,077
นะคะ เดี๋ยวจะอธิบายว่าแต่ละอันคืออะไร

28
00:01:44,081 --> 00:01:48,081
กับภาษาที่ใช้ในการัดการฐานข้อมู

29
00:01:48,085 --> 00:01:52,085
3 อย่างนี้จะต้องทำงานร่วมกัน

30
00:01:52,089 --> 00:01:56,089
โดยสถานปัตยกรรมของฐานข้อมูลนี่

31
00:01:56,093 --> 00:02:00,093
กับขอบเขตนะคะ หรือกรอบถ้าเป็น

32
00:02:00,097 --> 00:02:04,097
ภาษาทางวิชาการเรียกว่ากรอบ

33
00:02:04,100 --> 00:02:08,100
เชิงวิชาการเขาเรียกว่า "กรอบ" ที่ใช้ประโยชน์ในการบรรยายว่า

34
00:02:08,104 --> 00:02:12,104
ทำไมเราถึงสร้างฐานข้อมูลแบบนี้ ทำไมเรา

35
00:02:12,108 --> 00:02:16,108
เก็บข้อมูลแบบนี้ และในฐานข้อมูลนี่ เรามีโครงสร้าง

36
00:02:16,112 --> 00:02:20,112
เก็บข้อมูลแบบไหนบ้างนะคะ ซึ่งหลัก ๆ แล้วนี่

37
00:02:20,117 --> 00:02:24,117
โครงสร้างที่ใช้ในการสร้างฐานข้อมูลนี่ มันจะมีอยู่ 3 ระดับ

38
00:02:24,121 --> 00:02:28,121
นะคะ มีระดับภายนอก ระดับภายใน แล้วก็ระดับแนวคิด

39
00:02:28,123 --> 00:02:32,123
เดี๋ยวจะอธิบายไปทีละอย่าง ทีละอย่างนะคะ

40
00:02:32,127 --> 00:02:36,127
ความเป็นอิสระของข้อมูลคืออะไร

41
00:02:36,130 --> 00:02:40,130
นะคะ ก็คือการที่ผู้ใช้งานสามารถ

42
00:02:40,133 --> 00:02:44,133
เปลี่ยนแปลงข้อมูล อาจจะเป็นในระดับของการ

43
00:02:44,136 --> 00:02:48,136
ออกแบบฐานข้อมูลหรือระดับถึงขั้นการ

44
00:02:48,141 --> 00:02:52,141
เก็บข้อมูลแล้วก็ได้ โดยที่ถ้าเราเก็บข้อมูล

45
00:02:52,143 --> 00:02:56,143
หรือเปลี่ยนแปลงการจัดเก็บข้อมูล โปรแกรม

46
00:02:56,146 --> 00:03:00,146
ที่ใช้งาน จะไม่ได้รับผลกระทบจากการเปลี่ยนแปลง

47
00:03:00,150 --> 00:03:04,150
นะคะ โปรแกรมก็อยู่ส่วนของโปรแกรม ข้อมูลก็จะอยู่ของข้อมูล

48
00:03:04,154 --> 00:03:08,154
จะแยกออกจากกันนะคะ โดยที่

49
00:03:08,156 --> 00:03:12,156
ผู้ใช้งานนี่ จะมองเห็นแค่ว่า

50
00:03:12,160 --> 00:03:16,160
การเก็บข้อมูลระดับภายนอกก็คือ เราเก็บอะไรบ้าง

51
00:03:16,162 --> 00:03:20,162
เหมือนเวลาคุณอยากเล่น TikTok

52
00:03:20,166 --> 00:03:24,166
อยากเล่นเฟซบุ๊ก อยากเล่น

53
00:03:24,169 --> 00:03:28,169
Instargram

54
00:03:28,176 --> 00:03:32,176
เขาก็จะถามชื่หรือเปล่า มีเบอร์โทรศัพท์ไหม มีโปรไฟล์

55
00:03:32,180 --> 00:03:36,180
อันนี้คือข้อมูลระดับ

56
00:03:36,184 --> 00:03:40,184
ภายนอกที่ผู้ใช้งานอย่างเรา ๆ นี่

57
00:03:40,187 --> 00:03:44,187
ให้ข้อมูลไป แล้วก็เป็นสิ่งที่เราเป็นคนเห็นเองว่าข้อมูล

58
00:03:44,190 --> 00:03:48,190
ที่กรอกลงไปนี่มีอะไรบ้างนะคะ แต่ถามว่าถ้า

59
00:03:48,194 --> 00:03:52,194
เราอยากเปลี่ยนแปลงได้ไหม ว่านอกจากรูปภาพนี่

60
00:03:52,198 --> 00:03:56,198
อยากให้เขาขอเกี่ยวกับ อะไรดีล่ะ

61
00:03:56,200 --> 00:04:00,200
สถานะการเรียน เราจะไปบอกเขาว่า

62
00:04:00,204 --> 00:04:04,204
อยากบอก อยากให้เพิ่มเมนูตรงนี้ได้ไหม เราทำไม่ได้

63
00:04:04,206 --> 00:04:08,206
นะคะ เพราะอันนั้นเป็นระดับโครงสร้าง เป็นระดับแนวคิด ระดับ

64
00:04:08,208 --> 00:04:12,208
ภายใน ซึ่งผู้ใช้งานธรรมดาจะแก้ไขไม่ได้นะคะ

65
00:04:12,212 --> 00:04:16,212
โดยที่เพราะฉะนั้นนี่

66
00:04:16,214 --> 00:04:20,214
สมมติเรามีการเปลี่ยนแปลงข้อมูล เราจะเรียกจะมีการเปลี่ยนแปลง

67
00:04:20,216 --> 00:04:24,216
ข้อมูลส่วนตัวเรานี่ล่ะนะคะ ถ้าเราเปลี่ยนแปลงเฉพาะ

68
00:04:24,218 --> 00:04:28,218
ข้อมูลเราตัวเองนี่ มันจะไม่กระทบกับคนอื่น

69
00:04:28,222 --> 00:04:32,222
รวมถึงไม่ได้กระทบกับ Facebook ไม่ได้กระทบกับ Instagram

70
00:04:32,226 --> 00:04:36,226
Toktok ใช้งานปกติได้ ถึงแม้คุณจะบอกว่า จะ

71
00:04:36,228 --> 00:04:40,228
เปลี่ยนแปลงรูปโปร์ไฟล์ถามว่าโปรแกรมมันจะพังไหม

72
00:04:40,232 --> 00:04:44,232
ไม่นะคะ นี่คือการเปลี่ยนแปลง

73
00:04:44,235 --> 00:04:48,235
ระดับต่ำ ก็คือเป็นการเปลี่ยนแปลงของผู้ใช้งานโดยตรงนะคะ

74
00:04:48,238 --> 00:04:52,238

75
00:04:52,239 --> 00:04:56,239
ความเป็นของอิสระข้อมูลเชิง

76
00:04:56,240 --> 00:05:00,240
ตรรกะ ก็คือการเปลี่ยนแปลงมุมมอง

77
00:05:00,241 --> 00:05:04,241
ของผู้ใช้งาน อย่างเช่น คุณอยาก

78
00:05:04,242 --> 00:05:08,242
จะ วันนี้เราอัปรูปไป 4 รูปนะคะ

79
00:05:08,247 --> 00:05:12,247
คุณอยากจะสลับตำแหน่งนะคะ

80
00:05:12,248 --> 00:05:16,248
ย้ายจากรูปสุดท้ายมารูปที่ 1 ถามว่า

81
00:05:16,252 --> 00:05:20,252
โปรแกรมนั้นจะพังไหม ไม่พังนะคะ เพราะมันถือว่า

82
00:05:20,256 --> 00:05:24,256
เป็นการเปลี่ยนแปลงภายนอก ไม่ได้เปลี่ยนแปล Code โปรแกรม

83
00:05:24,262 --> 00:05:28,262
ไม่ได้บอกให้

84
00:05:28,265 --> 00:05:32,265
ผู้ดูแลระบบลบเมนูตรงนี้ออก

85
00:05:32,269 --> 00:05:36,269
ไม่ใช่นะคะ อันนี้ก็คือ

86
00:05:36,273 --> 00:05:40,273
ถ้าผู้ใช้งาน อยากเปลี่ยนแปลงข้อมูลของตัวเองอย่างนี้ ก็ใช้งานได้เลย

87
00:05:40,277 --> 00:05:44,277
นะคะ ไม่กระทบกับคนอื่น ไม่กระทบกับระบบโดยรวม

88
00:05:44,280 --> 00:05:48,280
นะคะ รวมถึงความเป็นอิสระของข้อมูล

89
00:05:48,283 --> 00:05:52,283
เชิงกายภาพนะคะ ถ้าสมมติว่าวันหนึ่ง

90
00:05:52,286 --> 00:05:56,286
เฟซบุ๊กย้ายเครื่องคอมพิวเตอร์ในการ

91
00:05:56,287 --> 00:06:00,287
เก็บข้อมูล คนใช้งานถามว่า

92
00:06:00,292 --> 00:06:04,292
ย้ายจากเครื่องหนึ่งไปอีเครื่องหนึ่ง ถามว่าเราใช้ Fack

93
00:06:04,296 --> 00:06:08,296
มันไม่กระทบกับเรานะคะ มันถือว่าเป็น

94
00:06:08,299 --> 00:06:12,299
โครงสร้างของข้อมูลระดับภายใน ส่วนของ

95
00:06:12,300 --> 00:06:16,300
บริการเขาอาจจะมีการปรับเปลี่ยนย้ายจากเครื่อง A

96
00:06:16,304 --> 00:06:20,304
ไปเครื่อง B แต่ผู้ใช้งานก็ยังใช้งาน

97
00:06:20,308 --> 00:06:24,308
ได้ตามปกติ ไม่ได้รู้สึกถึงความผิดปกติใด ๆ

98
00:06:24,312 --> 00:06:28,312
อาจจะมีช่วงที่แบบทRestart เครื่อง

99
00:06:28,318 --> 00:06:32,318
อะไรอย่างนี้นะคะ แต่ถามว่า Facebook เราหายไปไหม ไม่นะคะ

100
00:06:32,322 --> 00:06:36,322
อันนี้คือตัวอย่างคร่าว ๆ

101
00:06:36,325 --> 00:06:40,325
เชิงตรรกะเป็นอย่างไร เชิงกายภาพเป็นอย่างไร

102
00:06:40,329 --> 00:06:44,329
ต่อมา ภาษาหลักของระบบจัดการ

103
00:06:44,334 --> 00:06:48,334
ฐานข้อมูลนะคะ ก็จะมีอยู่ 3 ภาษาหลัก ๆ

104
00:06:48,337 --> 00:06:52,337
นะคะ อันนี้หมายถึงว่าภาษา

105
00:06:52,340 --> 00:06:56,340
เชิงโครงสร้างที่ใช้ ไม่ได้หมายถึงชื่อภาษาทางโปรแกรม

106
00:06:56,344 --> 00:07:00,344
อันแรกคือ ภาษาสำหรับนิยามข้อมูล

107
00:07:00,346 --> 00:07:04,346
นะคะ ก็จะเป็นภาษาที่ใช้ในการกำหนดโครงสร้าง

108
00:07:04,350 --> 00:07:08,350
ของฐานข้อมูลนะคะ ว่า

109
00:07:08,350 --> 00:07:12,350
ระดับแนวคิด ก็คือคุณวางแผนไว้ว่าอย่างไร อย่างเช่น

110
00:07:12,354 --> 00:07:16,354
อาจารย์อาจจะพอคุณเรียนปีสูง ๆ ขึ้น จะต้อง

111
00:07:16,358 --> 00:07:20,358
ได้ทำ Project อาจจะทำโปรแกรมเป็นของตัวเอง สมมติ

112
00:07:20,361 --> 00:07:24,361
ว่าได้ทำโปรเจกต์เกี่ยวกับร้านขายหนังส

113
00:07:24,363 --> 00:07:28,363
ในร้านหนังสือร้านหนึ่งเราต้องเก็บข้อมูลอะไรบ้าง เราต้องเขียนออกมาให้ได้

114
00:07:28,367 --> 00:07:32,367
นะคะ สิ่งนี้เราจะเรียกว่าระดับแนวคิด

115
00:07:32,371 --> 00:07:36,371
เราจะมาให้ความหมายว่าในฐานข้อมูลเรา

116
00:07:36,376 --> 00:07:40,376
นี่ ระหว่างผู้ใช้งาน สมาชิก

117
00:07:40,380 --> 00:07:44,380
เจ้าของร้าน สามารถทำอะไรได้บ้าง สิ่งเหล่านี้จะ

118
00:07:44,381 --> 00:07:48,381
เรียกว่า View หรือจะเรียกว่ามุมมองของแต่ละคน

119
00:07:48,385 --> 00:07:52,385
เอาง่าย ๆ ยกตัวอย่างอีกแล้ว Facebook Facebook ในหน้าที่คุณ

120
00:07:52,389 --> 00:07:56,389
ดู กับหน้าที่เพื่อนดูอาจจะไม่เหมือนกัน

121
00:07:56,392 --> 00:08:00,392
ใน Facebook สามารถกำหนดว่ารูปนี้ ฉันจะเก็บไว้ดู

122
00:08:00,396 --> 00:08:04,396
คนเดียว หรือรูปนี้จะเพื่อนดูได้

123
00:08:04,399 --> 00:08:08,399
รูปนี้จะให้ใครก็ได้มาดู

124
00:08:08,403 --> 00:08:12,403
ไม่ปิดกั้น อย่างนี้ก็มี อันนี้คือ

125
00:08:12,405 --> 00:08:16,405
การกำหนดสถานะมุมมองในการดูข้อมูลของเรา

126
00:08:16,410 --> 00:08:20,410
เราจะกำหนดตั้งแต่การกำหนดโครงสร้างของฐานข้อมูล

127
00:08:20,412 --> 00:08:24,412
ผู้ใช้งานแต่ละคนดูข้อมูลส่วนไหน

128
00:08:24,415 --> 00:08:28,415
ได้บ้างนะคะ ต่อมาเป็นภาษาในการจัดการข้อมูล

129
00:08:28,419 --> 00:08:32,419
อันนี้จะเป็นภาษาในการจัดการข้อมูล อันนี้จะเป็นภาษาเชิง Programing

130
00:08:32,421 --> 00:08:36,421
ซึ่งไว้สำหรับจัดการข้อมูลในฐานข้อมูล

131
00:08:36,425 --> 00:08:40,425
ก็จะเป็นตั้งแต่การค้นหาข้อมูลการเพิ่ม

132
00:08:40,432 --> 00:08:44,432
การลบการแก้ไข ในฐานข้อมูล

133
00:08:44,436 --> 00:08:48,436
นะคะ อันนี้ก็จะสามารถทำได้ตามสิทธิ์

134
00:08:48,441 --> 00:08:52,441
ของผู้ใช้งานแต่ละคน บางคนค้นหา

135
00:08:52,444 --> 00:08:56,444
ได้ แต่เพิ่มไม่ได้ บางคนเพิ่ม

136
00:08:56,451 --> 00:09:00,451
ได้ แต่ห้ามลบนะคะ อันนี้ก็เป็น

137
00:09:00,453 --> 00:09:04,453
คำสั่งที่ใช้ภายในฐานข้อมูล ต่อมา

138
00:09:04,456 --> 00:09:08,456
เป็นภาษา ควบคุมนะคะ มันจะเป็นภาษา

139
00:09:08,457 --> 00:09:12,457
ที่เอาไว้สำหรับควบคุมความถูกต้องของข้อมูล

140
00:09:12,462 --> 00:09:16,462
เช่นอะไรบ้าง อย่างเช่น อาจารย์ให้กรอกชื่อ

141
00:09:16,466 --> 00:09:20,466
นะคะ กรอกชื่อ แต่ว่านักศึกษา

142
00:09:20,468 --> 00:09:24,468
บางคนลืมเปลี่ยนภาษา หรือลืมเปลี่ยนปุ่ม

143
00:09:24,472 --> 00:09:28,472
หรือเปิดปุ่มตัวเลขไว้

144
00:09:28,476 --> 00:09:32,476
นะคะ กลายเป็นว่าพิมพ์ชื่อตัวเองเป็นตัวเลข

145
00:09:32,479 --> 00:09:36,479
ภาษาระดับควบคุม ก็คือมันจะเป็นการตรวจสอบว่าข้อมูลที่นักศึกษาใส่

146
00:09:36,483 --> 00:09:40,483
มา ถูกหรือผิด อาจารย์ให้

147
00:09:40,487 --> 00:09:44,487
กรอกได้เฉพาะตัวหนังสือเท่านั้น ใส่ตัวเลขไม่ได้

148
00:09:44,491 --> 00:09:48,491
นะคะ หรือการเกิดภาวะพร้อมกัน อย่างเช่น

149
00:09:48,493 --> 00:09:52,493
จองตั๋วคอนเสิร์ต

150
00:09:52,497 --> 00:09:56,497
ดังมาก เข้ามาจองพร้อมกันสัก 50,000 คน

151
00:09:56,500 --> 00:10:00,500
เราจะมีการจัดการคน  50,000 คน

152
00:10:00,505 --> 00:10:04,505
อย่างไรนะคะ ให้สามารถ

153
00:10:04,510 --> 00:10:08,510
ทำงานได้ อันนี้คือการเกิดภาวะพร้อมกัน ก็คือเข้ามาใช้งานพร้อมกัน

154
00:10:08,514 --> 00:10:12,514
ทั้งหมดนะคะ

155
00:10:12,519 --> 00:10:16,519
โดยสถาปัตยกรรมฐานข้อมูลนี่

156
00:10:16,523 --> 00:10:20,523
มันก็จะมีโครงสร้างองค์ประกอบหลักนะคะ

157
00:10:20,526 --> 00:10:24,526
ทั้งฐานข้อมูล หน้าที่แต่ละองค์ประกอบ แต่ละคน แต่ละผู้ใช้งาน

158
00:10:24,529 --> 00:10:28,529
นะคะ รวมถึงการเขียนโปรแกรมเพื่อ

159
00:10:28,531 --> 00:10:32,531
สื่อสาร แล้วก็ติดต่อกับส่วนอื่น ๆ นะคะ

160
00:10:32,534 --> 00:10:36,534
ในระบบฐานข้อมูลอาจจะไม่ได้มีแค่โปรแกรมเดียวที่ทำงานนะคะ

161
00:10:36,537 --> 00:10:40,537
อาทิตย์ที่แล้วเคยบอกว่าระบบบัญชี ระบบบุคคล

162
00:10:40,540 --> 00:10:44,540
ระบบการเงิน ก็ใช้ฐานข้อมูลร่วมกันนะคะ

163
00:10:44,544 --> 00:10:48,544
โดยที่ถ้าสมมติว่าเรามีการเปลี่ยนแปลงโปรแกรม

164
00:10:48,548 --> 00:10:52,548
นะคะ โครงสร้างของฐานข้อมูลจะยังอยู่นะคะ

165
00:10:52,553 --> 00:10:56,553
ข้อมูลจะไม่หายไปไหน เพราะเราเปลี่ยนแค่ตัวโปรแกรม

166
00:10:56,557 --> 00:11:00,557
เราไม่ได้เปลี่ยนทั้งโครงสร้าง ถ้าเปลี่ยนโปรแกรมใหม่

167
00:11:00,561 --> 00:11:04,561
มันก็จะมีการเชื่อมต่อที่ทำให้ข้อมูลมันสามารถทำงาน

168
00:11:04,565 --> 00:11:08,565
ได้นะคะ

169
00:11:08,568 --> 00:11:12,568
โดยระบบฐานข้อมูลนี่

170
00:11:12,571 --> 00:11:16,571
มันก็จะเอาข้อมูลที่มีอยู่ในองค์กร หรือข้อมูลเพิ่มเติม

171
00:11:16,575 --> 00:11:20,575
นะคะ ที่มีความเกี่ยวข้องกันมารวมไว้ที่เดียวกันนะคะ

172
00:11:20,580 --> 00:11:24,580
โดยผู้ใช้งานในฐานข้อมูลนี่ จะมอง

173
00:11:24,584 --> 00:11:28,584
มุมมองหรือ View ที่แตกต่างกันไปตามสิทธิ์ของการใช้งาน

174
00:11:28,588 --> 00:11:32,588
นะคะ โดยที่

175
00:11:32,592 --> 00:11:36,592
ผู้ใช้งานนี่ไม่จำเป็นต้องรู้ว่า... ถ้าคุณเป็นผู้ใช้งาน

176
00:11:36,596 --> 00:11:40,596
ทั่วไป เขาจำเป็นจะต้องรู้ไหมว่าโปรแกรมเมอร์

177
00:11:40,600 --> 00:11:44,600
เขียนโปรแกรมอย่างไร โปรแกรมเมอร์ใช้วิธีอะไรในการแสดงภาพ

178
00:11:44,604 --> 00:11:48,604
โปรแกรมเมอร์ทำอย่างไรให้เราดู Youtube ได้

179
00:11:48,605 --> 00:11:52,605
อันนี้ไม่จำเป็นต้องรู้นะคะ

180
00:11:52,610 --> 00:11:56,610
โดยที่สิ่งเหล่านี้มันซ่อนรายละเอียดไว้ได้

181
00:11:56,615 --> 00:12:00,615
แต่ว่าให้แสดงออกมาได้ไหม แสดงได้ แต่ User

182
00:12:00,619 --> 00:12:04,619
หรือผู้ใช้งานไม่จำเป็นต้องรู้ เพราะฉะนั้น เราซ่อนมันไว้ได้

183
00:12:04,621 --> 00:12:08,621
นะคะ ยกเว้นบางอย่างนี่ ที่เป็นภาษาโปรแกรม

184
00:12:08,622 --> 00:12:12,622
นี่ เหมือนเวลาเราใช้ Google Cho

185
00:12:12,623 --> 00:12:16,623
เราก็สามารถดูได้ว่าโค้ดโปรแกรมที่

186
00:12:16,628 --> 00:12:20,628
ผู้ดูแลระบบเขียนไว้นี่ เขาเขียนอย่างไรบ้าง ดู

187
00:12:20,632 --> 00:12:24,632
ได้นะคะ แต่ถามว่าพ่อแม่เราจะอยากรู้ไหมว่า Google เขียนโปรแกรมอย่างไร

188
00:12:24,634 --> 00:12:28,634
อยากรู้มั้ยว่า Google เขียนโปรแกรมอย่างไร

189
00:12:28,636 --> 00:12:32,636
ไม่จำเป็นต้องเปิดดู แต่ถามว่าเปิดดูได้ไหม บางส่วนก็เปิดดูได้

190
00:12:32,640 --> 00:12:36,640
นะคะ

191
00:12:36,644 --> 00:12:40,644
โดยสถาปัตยกรรมฐานข้อมูลนี่ มีอยู่ 3 ระดับ

192
00:12:40,646 --> 00:12:44,646
นะคะ เหมือนที่พูดไปตอนต้น ก็คือ มีระ

193
00:12:44,650 --> 00:12:48,650
ระดับแนวคิด และระดับภายใน มี 3 ระดับ โดยแสดง

194
00:12:48,654 --> 00:12:52,654
เป็นแผนภาพแบบนี้นะคะ

195
00:12:52,659 --> 00:12:56,659
ให้... อันนี้ระดับ

196
00:12:56,665 --> 00:13:00,665
ภายนอกนะคะ เดี๋ยวเติมเส้นแบบนี้

197
00:13:00,670 --> 00:13:04,670
ระดับภายนอก ก็คือเราอาจจะมีผู้ใช้งาน 1 คน

198
00:13:04,672 --> 00:13:08,672
2 คน หรือหลายคน แต่ละคนอาจจะ

199
00:13:08,676 --> 00:13:12,676
ใช้ระบบเดียวกัน แต่หน้าจอที่ดู

200
00:13:12,680 --> 00:13:16,680
อยู่ ไม่เหมือนกันก็ได้นะคะ อย่างเช่น นักศึกษา

201
00:13:16,684 --> 00:13:20,684
เข้าไปใช้ระบบทะเบียน

202
00:13:20,688 --> 00:13:24,688
คนหนึ่งดูเกรด คนที่ 2 พิมพ์

203
00:13:24,689 --> 00:13:28,689
ใบลงทะเบียน คนที่ 3

204
00:13:28,693 --> 00:13:32,693
อาจจะค้นหาคำอธิบายรายวิชา ถามว่าเขาใช้ระบบ

205
00:13:32,699 --> 00:13:36,699
เดียวกันไหม ระบบเดียวกันไหม ใช่ ระบบเดียวกัน แต่เขาอาจจะทำงาน

206
00:13:36,704 --> 00:13:40,704
ไม่เหมือนกันก็ได้นะคะ คุณอยากดูตรงไหนก็ได้

207
00:13:40,708 --> 00:13:44,708
เหมือนกันก็ได้ แต่จะต้องเป็นข้อมูลของตัวเอง

208
00:13:44,711 --> 00:13:48,711
อย่างเช่น เกรดคุณจะดูของเพื่อนไม่ได้ เพราะ

209
00:13:48,715 --> 00:13:52,715
แต่ละคนมีสิทธิ์ของตัวเองเท่านั้นนะคะ จะไปละเมิด

210
00:13:52,719 --> 00:13:56,719
ความเป็นส่วนตัวของคนอื่นไม่ได้นะคะ

211
00:13:56,722 --> 00:14:00,722
อันนี้ก็มันจะมีกฎหมายอยู่

212
00:14:00,728 --> 00:14:04,728
เวลาเราจะดูข้อมูลใคร หรือโพสตรูใคร

213
00:14:04,732 --> 00:14:08,732
หรือพิมพ์ถึงใคร มีกฎหมายกำหนดนะ

214
00:14:08,736 --> 00:14:12,736
คะ ต่อมาเป็นในระดับแนวคิด

215
00:14:12,737 --> 00:14:16,737
ก็จะดูแล้วว่าโครงสร้างฐานข้อมูลที่เราออกแบบ

216
00:14:16,740 --> 00:14:20,740
ไว้ สำหรับการทำงาน มันจะเป็นเหมือน

217
00:14:20,744 --> 00:14:24,744
ตัวที่ไว้จัดการว่า User หรือผู้ใช้งานแต่ละคนนี่

218
00:14:24,748 --> 00:14:28,748
เรียกเข้า เรียกข้อมูลอะไรเข้าไปดู เป็นการจัดการ

219
00:14:28,752 --> 00:14:32,752
หลังจากนั้นก็จะทำหน้าที่เชื่อมต่อกับระบบภายใน

220
00:14:32,755 --> 00:14:36,755
เพื่อดึงข้อมูล จากฐานข้อมูลไปแสดงผลนะคะ

221
00:14:36,758 --> 00:14:40,758
การทำงานจะมีส่วนหลัก ๆ 3 ส่วนแบบนี้ที่เราใช้งานกัน

222
00:14:40,761 --> 00:14:44,761
แต่ถามว่า User จำเป็นต้องรู้แนวคิดเกี่ยวกับ

223
00:14:44,765 --> 00:14:48,765
ระดับภายในไหม ไม่จำเป็นนะคะ

224
00:14:48,769 --> 00:14:52,769
เขาก็จะดูแต่เฉพาะข้อมูลที่ตนเองสนใจในระดับภายนอก

225
00:14:52,774 --> 00:14:56,774
เท่านั้นนะคะ เหตุผลที่ว่า

226
00:14:56,779 --> 00:15:00,779
ทำไมเราต้องแยกออกเป็น 3 ระดับ แยกออกจากกัน ไม่รวม

227
00:15:00,783 --> 00:15:04,783
กันไว้นะคะ อันแรกก็คือผู้ใช้งานแต่ละคน

228
00:15:04,786 --> 00:15:08,786
นี่ก็อาจจะเข้าถึงข้อมูลเดียวกันได้ แต่

229
00:15:08,789 --> 00:15:12,789
อาจจะเรียกดูผลไม่เหมือนกัน เหมือนบางคน

230
00:15:12,792 --> 00:15:16,792
อย่างที่บอกค่ะ เข้าไปใช้ระบบทะเบียน บางคนดูเกรด

231
00:15:16,796 --> 00:15:20,796
บางคนลงทะเบียน คนหนึ่งค้นหารายวิชา

232
00:15:20,800 --> 00:15:24,800
หน้าตาแตกต่างกัน แต่ก็ใช้ฐานข้อมูล

233
00:15:24,803 --> 00:15:28,803
เดียวกันนะคะ ผู้ใช้งานจะไม่สามารถ

234
00:15:28,808 --> 00:15:32,808
เข้าถึงข้อมูลโดยตรงได้ ก็คือโดยคุณจะไม่สามารถ

235
00:15:32,810 --> 00:15:36,810
พิมพ์หรือเรียกใช้

236
00:15:36,814 --> 00:15:40,814
ข้อมูลในฐานข้อมูลได้โดยตรง จะต้องผ่านระบบจัดการฐานข้อมูง

237
00:15:40,818 --> 00:15:44,818
เท่านั้นนะคะ Admin นะคะ

238
00:15:44,820 --> 00:15:48,820
ในฐานข้อมูลก็คือ ผู้บริหารฐานข้อมูล Admin

239
00:15:48,825 --> 00:15:52,825
ตัวย่อ ก็คือ DBA

240
00:15:52,828 --> 00:15:56,828
โครงสร้างของฐานข้อมูลได้

241
00:15:56,833 --> 00:16:00,833
เข้าไปดูข้อมูลที่เก็บไว้ได้นะคะ แต่จะต้อง

242
00:16:00,836 --> 00:16:04,836
ไม่สร้างผลกระทบให้กับผู้ใช้งาน ก็คือตอนที่คุณ

243
00:16:04,837 --> 00:16:08,837
อาจจะปรับปรุงเปลี่ยนแปลงฐานข้อมูลอยู่

244
00:16:08,840 --> 00:16:12,840
ผู้ใช้งานก็ยังฝใช้งานได้ปกติ

245
00:16:12,844 --> 00:16:16,844
โครงสร้างระดับภายในฐานข้อมูลนะคะ

246
00:16:16,847 --> 00:16:20,847
จะไม่ได้รับผลกระทบถ้าคุณมีการเปลี่ยนโปรแกรม

247
00:16:20,851 --> 00:16:24,851
ซึ่งจะอยู่ในลักษณะของเชิงกายภาพนะคะ ซึ่ง

248
00:16:24,853 --> 00:16:28,853
ถ้าเปลี่ยนโปรแกรม ปุ๊บ เปลี่ยนจากโปรแกรม A ไป B

249
00:16:28,857 --> 00:16:32,857
ข้อมูลจะต้องไม่หายไปไหน อันนี้คือเหตุผลที่

250
00:16:32,861 --> 00:16:36,861
3 ส่วนนี้ เราจำเป็นจะต้องแยกส่วนกันนะคะ

251
00:16:36,862 --> 00:16:40,862

252
00:16:40,867 --> 00:16:44,867
มาดูรายละเอียดเพิ่มเติม

253
00:16:44,871 --> 00:16:48,871
สำหรับระดับภายใน ก็จะเป็นระดับที่

254
00:16:48,875 --> 00:16:52,875
จัดเก็บข้อมูล อยู่ในโครงสร้างที่เราออกแบบไว้แล้ว

255
00:16:52,880 --> 00:16:56,880
นะคะ ถ้าเราเก็บข้อมูลได้ดี มันก็จะ

256
00:16:56,887 --> 00:17:00,887
มีผลต่อความเร็วและประสิทธิภาพในการเรียกใช้ข้อมูล

257
00:17:00,892 --> 00:17:04,892
นะคะ ในระดับภายในนี่ มันก็จะเป็นการ

258
00:17:04,896 --> 00:17:08,896
ดูว่า เรามีการสำรองข้อมูลหรือเปล่า

259
00:17:08,898 --> 00:17:12,898
เราเก็บข้อมูลอย่างไรนะคะ

260
00:17:12,901 --> 00:17:16,901
ส่วนมากข้อมูล ในฐานข้อมูลนี่

261
00:17:16,902 --> 00:17:20,902
อาจจะเก็บข้อมูลอยู่ในฮาร์ดดิสก์ก็ได้นะคะ มีการ

262
00:17:20,906 --> 00:17:24,906
ทำงานร่วมกับระบบปฏิบัติการ สามารถอ่านเขียนข้อมูล

263
00:17:24,910 --> 00:17:28,910
ได้ร่วมกับระบบปฏิบัติการด้วย ทำไมถึงบอกว่า

264
00:17:28,911 --> 00:17:32,911
การจัดเก็บข้อมูลที่ดี มีผลต่อความเร็ว

265
00:17:32,913 --> 00:17:36,913
แล้วก็ประสิทธิภาพในการเข้าถึงข้อมูลนะคะ

266
00:17:36,917 --> 00:17:40,917
เวลาเราเก็บข้อมูลนี่ จะเห็นได้ว่า ทำไม

267
00:17:40,919 --> 00:17:44,919
เราต้องเรียงลำดับตามรหัสนักศึกษาด้วย

268
00:17:44,920 --> 00:17:48,920
เอา 207 ขึ้นก่อน

269
00:17:48,924 --> 00:17:52,924
201 ได้ไหม ได้ แต่ถามว่าเวลาเราค้นหา

270
00:17:52,928 --> 00:17:56,928
ข้อมูล ถ้าเราเรียงตามลำดับ แน่นอน มันหาข้อมูลได้เร็วกว่า

271
00:17:56,930 --> 00:18:00,930
เราก็มาตกลงกันเลยว่าเราจะเรียงลำดับนักศึกษา

272
00:18:00,933 --> 00:18:04,933
ในห้องนี้อย่างไร อย่างเช่น

273
00:18:04,938 --> 00:18:08,938
ซึ่งมาตรฐานทั่วไปจะเรียงลำดับตามรหัสนักศึกษาจากน้อยไปมาก

274
00:18:08,942 --> 00:18:12,942
ใช่ไหมคะ แต่เราไม่มีรหัสนักศึกษาล่ะ

275
00:18:12,946 --> 00:18:16,946
โดยหลักทั่วไปก็จะเรียงตาม ก.ไก่ ถึง

276
00:18:16,950 --> 00:18:20,950
ฮ.นกฮูก ใช่ไหมคะ หรือว่าเรียง

277
00:18:20,954 --> 00:18:24,954
อย่างไร หรือบางฐานข้อมูลก็จะบอกว่าเรียงตามอายุ อายุมากขึ้น

278
00:18:24,964 --> 00:18:28,964
ก่อน หรืออะไรอีกล่ะ เพศชาย

279
00:18:28,967 --> 00:18:32,967
ขึ้นก่อน เพศหญิงตามมา คนเกิดวันอาทิตย์ขึ้นก่อน

280
00:18:32,970 --> 00:18:36,970
หรือคนเกิดวันจันทร์ขึ้นก่อน แล้วแต่

281
00:18:36,971 --> 00:18:40,971
โครงสร้างที่เรากำหนดไว้ ทำไม เพื่อให้มันหาข้อมูลได้เร็ว เพราะ

282
00:18:40,976 --> 00:18:44,976
เรารู้แล้วว่า เกณฑ์ในการจัดเรียงข้อมูลคืออะไร

283
00:18:44,977 --> 00:18:48,977
เพราะว่าข้อมูลที่เก็บอยู่ใน Hard disk

284
00:18:48,980 --> 00:18:52,980
มันไม่เรียง 1 2 3 4 5 ให้เรานะคะ มันจะเก็บแบบ

285
00:18:52,985 --> 00:18:56,985
กระจัดกระจาย อยู่ตรงไหนก็ได้ที่มันมีพื้นที่

286
00:18:56,986 --> 00:19:00,986
แต่มันจะใช้เลขแทนตำแหน่ง

287
00:19:00,992 --> 00:19:04,992
อย่างเช่น สินสมุทร

288
00:19:04,994 --> 00:19:08,994
อาจารย์กำหนดให้เป็น 001

289
00:19:08,998 --> 00:19:12,998
001 ในฮาร์ดดิสก์อาจจะเก็บตรงไหนก็ได้ สมมติอาจารย์ไม่ใส่ 001

290
00:19:13,000 --> 00:19:17,000
ล่ะ ใส่คำว่า "สินสมุทร" มันจะหาข้อมูลเร็ว

291
00:19:17,005 --> 00:19:21,005
ขึ้นไหม ถ้าแทนด้วยตัวเลข เรียงตามลำดับ

292
00:19:21,009 --> 00:19:25,009
มันก็จะค้นหาข้อมูลได้เร็วขึ้น เหมือนอาจารย์เรียง

293
00:19:25,012 --> 00:19:29,012
ลำดับรหัสนักศึกษาจากน้อยไปหามาก เวลาเช็กชื่อ ก็เช็กได้เร็วขึ้น

294
00:19:29,016 --> 00:19:33,016
ว่า รหัสคนไหนหายไป หรือว่าอาจารย์ ห้องนี้

295
00:19:33,019 --> 00:19:37,019
นักศึกษาไม่เยอะมันก็ง่าย แต่

296
00:19:37,020 --> 00:19:41,020
บางวิชาอาจารย์สอน 50-60 คนขึ้นไป อาจารย์

297
00:19:41,024 --> 00:19:45,024
จำไม่ได้ จำไม่ไหวนะคะ การเรียงลำดับ

298
00:19:45,028 --> 00:19:49,028
จากน้อยไปหามาก จะทำให้รู้ว่า

299
00:19:49,032 --> 00:19:53,032
ใครมา ใครขาดนะคะ เพราะฉะนั้น

300
00:19:53,032 --> 00:19:57,032
อีกอย่างหนึ่งก็คือ เวลาเราทำ

301
00:19:57,034 --> 00:20:01,034
กิจกรรมใด ๆ ก็ตามทำไมเวลา... เหมือน

302
00:20:01,036 --> 00:20:05,036
สอบก็ได้ค่ะ สอบบรรจุคุณครู ทำไมเขาถึงไม่เรียงลำดับตามคะแนน

303
00:20:05,039 --> 00:20:09,039
เพราะมันก็จะมีข้อสังเกต

304
00:20:09,040 --> 00:20:13,040
หรือข้อสงสัยเกิดขึ้น เขาก็จะตัดปัญหาโดยการ

305
00:20:13,042 --> 00:20:17,042
เรียงลำดับตามเลขที่สมัคร

306
00:20:17,044 --> 00:20:21,044
เพื่อให้มันค้นหาข้อมูลของผู้สมัครคนนั้นได้ง่าย

307
00:20:21,045 --> 00:20:25,045
ประกาศผลได้ก็ง่ายนะคะ แต่ว่า แต่ก็

308
00:20:25,047 --> 00:20:29,047
แล้วแต่ถ้ามีผู้ดูแลระบบข้อมูล เขาอยากดูแบบไหน

309
00:20:29,052 --> 00:20:33,052
ก็แล้วแต่สิ่งที่เขาจะเรียกขึ้นมาดูนะคะ อันนี้คือระดับ

310
00:20:33,057 --> 00:20:37,057
ภายใน

311
00:20:37,059 --> 00:20:41,059
ต่อมาระดับแนวคิด ก็จะเป็น

312
00:20:41,061 --> 00:20:45,061
โครงสร้างของฐานข้อมูลโดยรวม เราต้องดูว่า

313
00:20:45,065 --> 00:20:49,065
เราจะเก็บข้อมูลอะไรในฐานข้อมูลของเรา แต่ละข้อมูล

314
00:20:49,069 --> 00:20:53,069
มีส่วนอะไรที่ มีความสัมพันธ์เกี่ยวข้องกันบ้างนะคะ

315
00:20:53,073 --> 00:20:57,073
โดยการกระทำ

316
00:20:57,075 --> 00:21:01,075
ใด ๆ ก็ตาม ที่เกิดขึ้นในระดับแนวคิดนะคะ ก็

317
00:21:01,080 --> 00:21:05,080
จะทำอยู่บนโครงสร้างฐานข้อมูลที่กำหนดไว้แล้วเท่านั้น

318
00:21:05,083 --> 00:21:09,083
ในระดับแนวคิด จะมีอะไรเกิดขึ้นบ้าง

319
00:21:09,084 --> 00:21:13,084
นะคะ อย่างเช่น

320
00:21:13,088 --> 00:21:17,088
จำนวน Entity ก็คือ

321
00:21:17,089 --> 00:21:21,089
ส่วนของคอลัมน์นะคะ

322
00:21:21,094 --> 00:21:25,094
อย่างเช่นนักศึกษา 1 คนจะมี Entity

323
00:21:25,098 --> 00:21:29,098
กี่ Entity ที่เข้ามาเกี่ยวข้องนะคะ ก็จะ

324
00:21:29,103 --> 00:21:33,103
มี Antity ของอาจารย์

325
00:21:33,106 --> 00:21:37,106
นะคะ เป็นคอลัมน์อาจารย์... ไม่ใช่สิ เป็นตารางของอาจารย์

326
00:21:37,107 --> 00:21:41,107
ตารางนักศึกษา ตารางรายวิชา

327
00:21:41,112 --> 00:21:45,112
มาเกี่ยวข้องกัน ใน 1 ตาราง จะประกอบ

328
00:21:45,113 --> 00:21:49,113
ไปด้วย Attribute

329
00:21:49,118 --> 00:21:53,118
นักศึกษา 1 คนจะมีกี่ Attribute

330
00:21:53,122 --> 00:21:57,122
อาจารย์ดูง่าย ๆ เลย

331
00:21:57,123 --> 00:22:01,123
สมมติว่าจะมี 3 คอลัมน์ 3 Attribute

332
00:22:01,127 --> 00:22:05,127
คอลัมน์ที่ 1 รหัสนักศึกษา

333
00:22:05,131 --> 00:22:09,131
คอลัมน์ที่ 2 ชื่อ-นามสกุล คอลัมน์ที่ 3 อาจจะเป็นที่อยู่

334
00:22:09,135 --> 00:22:13,135
หรือเบอร์โทรศัพท์ หรือชื่อเล่นก็ได้นะคะ

335
00:22:13,139 --> 00:22:17,139
โดยแต่ละตารางหรือแต่ละ Entity จะ

336
00:22:17,140 --> 00:22:21,140
มีความสัมพันธ์ระหว่างกัน หรือว่า

337
00:22:21,141 --> 00:22:25,141
เช่น ทำไมตารางอาจารย์กับตารางนักศึกษาต้องมีความสัมพันธ์กัน

338
00:22:25,147 --> 00:22:29,147
เช่น อาจารย์สอนวิชานี้ ในใบลงทะเบียนเรียน

339
00:22:29,151 --> 00:22:33,151
ของทุกคนมีไหม มี แล้ว

340
00:22:33,155 --> 00:22:37,155
ลงทะเบียนวิชานี้มีชื่ออาขจารย์ไหม มี

341
00:22:37,157 --> 00:22:41,157
อาจารย์ก็สามารถดูได้เหมือนกันว่าวิชานี้มีใครลงทะเบียนเรียนได้บ้าง เพ

342
00:22:41,161 --> 00:22:45,161
อาจารย์กับนักศึกษาจะต้องมีความเกี่ยวข้องกันอย่างน้อย 3 ตาราง

343
00:22:45,165 --> 00:22:49,165
ก็คือตารางอาจารย์ ก็คือเก็บข้อมูลอาจารย์ ตารางนักศึกษา

344
00:22:49,169 --> 00:22:53,169
ก้จะเก็บข้อมูลนักศึกษา ตารางเรียนก็จะ

345
00:22:53,172 --> 00:22:57,172
ก็จะรู้แล้วว่าเทอมนี้อาจารย์สอนวิชาอะไรบ้าง นักศึกษาลงวิชาอะไรบ้าง

346
00:22:57,173 --> 00:23:01,173
นะคะ อันนี้ก็เป็นความสัมพันธ์แบบง่าย ๆ นะคะ

347
00:23:01,175 --> 00:23:05,175
อันนี้ก็เหมือนกัน

348
00:23:05,179 --> 00:23:09,179
ระดับภายนอก จะเป็นส่วนที่ผู้ใช้งาน

349
00:23:09,185 --> 00:23:13,185
เรียกดูข้อมูลนะคะ ผู้ใช้งานแต่ละคนอาจจะดู

350
00:23:13,187 --> 00:23:17,187
ข้อมูล เหมือนกันหรือต่างกันก็ได้นะคะ โดยที่

351
00:23:17,189 --> 00:23:21,189
ฐานข้อมูลนี่สามารถมีมุมมองหรือ

352
00:23:21,193 --> 00:23:25,193
โครงร่างภายนอกได้หลายรูปแบบ แล้วแต่

353
00:23:25,194 --> 00:23:29,194
อย่างเช่น ตัวอย่างนี้ มีผู้ใช้งาน 3 คน

354
00:23:29,200 --> 00:23:33,200
นะคะ เรียกดูข้อมูลในฐานข้อมูล

355
00:23:33,205 --> 00:23:37,205
เดียวกัน แต่อาจจะเป็นคนละตาราง เพราะว่า

356
00:23:37,206 --> 00:23:41,206
ใน 1 ในฐานข้อมูล 1 ฐานข้อมูลอาจจะมีข้อ

357
00:23:41,209 --> 00:23:45,209
ได้เยอะมากนะคะ แต่ทุกตารางจะต้องมีความสัมพันธ์กัน

358
00:23:45,213 --> 00:23:49,213
อย่าง User หรือผู้ใช้งานคนที่ A

359
00:23:49,217 --> 00:23:53,217
อาจจะเรียกดูแค่ชื่อกับเบอร์โทรศัพท์

360
00:23:53,220 --> 00:23:57,220
ก็ได้นะคะ User

361
00:23:57,221 --> 00:24:01,221
หรือผู้ใช้งานคนที่ B อาจจะขอดู

362
00:24:01,225 --> 00:24:05,225
ข้อมูลรหัสนักศึกษา ชื่อ ที่อยู่ เบอร์โทรศัพข้อมูล

363
00:24:05,229 --> 00:24:09,229
เบอร์โทรศัพท์ก็ได้แล้วแต่

364
00:24:09,231 --> 00:24:13,231
นะคะ คนที่ C

365
00:24:13,233 --> 00:24:17,233
อาจจะไม่อยากดูข้อมูลของทุกคน อาจจะอยากดู

366
00:24:17,235 --> 00:24:21,235
ว่า เทอมนี้มีวิชาอะไรเปิดสอนบ้าง รหัสวิชา

367
00:24:21,238 --> 00:24:25,238
อะไร ชื่อวิชาอะไร มีกี่หน่วยกิตก็ได้

368
00:24:25,244 --> 00:24:29,244
จากในฐานข้อมูลเดียวกัน แต่

369
00:24:29,248 --> 00:24:33,248
มาจากคนละตารางแค่นั้นเองนะคะ

370
00:24:33,251 --> 00:24:37,251

371
00:24:37,252 --> 00:24:41,252
ประโยชน์ของสถาปัตยกรรมทั้ง 3 ระดับภายใน

372
00:24:41,256 --> 00:24:45,256
สถาปัตยกรรมทั้ง 3 ระดับนะคะ

373
00:24:45,260 --> 00:24:49,260
แล้วก็แนวคิด แน่นอน มุมมองของผู้ใช้งานแต่ละคน

374
00:24:49,265 --> 00:24:53,265
สามารถทำงานได้โดยอิสระ แยกจากกัน

375
00:24:53,267 --> 00:24:57,267
นะคะ อาจจะมีการ

376
00:24:57,268 --> 00:25:01,268
นำข้อมูลหลาย ๆ ตารางมารวมกัน

377
00:25:01,271 --> 00:25:05,271
นะคะ เพื่อให้สามารถ

378
00:25:05,275 --> 00:25:09,275
ครอบคลุมในการเรียกดูข้อมูลได้ อาจจะมองใน

379
00:25:09,280 --> 00:25:13,280
คนละมุมกันแต่ใช้

380
00:25:13,283 --> 00:25:17,283
ฐานข้อมูลเดียวกันได้ แล้วก้ผุ้ใช้งาน

381
00:25:17,285 --> 00:25:21,285
ไม่จำเป็นต้องรู้ว่าข้อมูลที่เก็บไว้นี่อยู่ตำแหน่งไหนของ

382
00:25:21,289 --> 00:25:25,289
Harddisk ไม่จำเป็นต้องรู้ ถ้า

383
00:25:25,293 --> 00:25:29,293
อยากเรียกข้อมูลขึ้นมาดูได้ก็ต้องดูได้นะคะ

384
00:25:29,296 --> 00:25:33,296
โดยที่แอดมินนี่ จะเแ็นคดูเองว่า

385
00:25:33,300 --> 00:25:37,300
ที่ถูกเก็บไว้นี่จะต้องจัดเก็บไว้ตรงไหน แล้วก็เป็นคนที่

386
00:25:37,302 --> 00:25:41,302
ดึงข้อมูลนั้น ๆ เข้ามา ให้ผู้ใช้งานสามารถใช้งานได้

387
00:25:41,308 --> 00:25:45,308
นะคะ

388
00:25:45,309 --> 00:25:49,309
ประโยชน์ข้อต่อมา ก็คืออิสระที่

389
00:25:49,316 --> 00:25:53,316
มีการเปลี่ยนแปลงข้อมูลหรือมีการเปลี่ยนแปลงโปรแกรม ทุกอย่างต้องไม่

390
00:25:53,317 --> 00:25:57,317
ได้รับผลกระทบนะคะ งานต้องยังสามารถ

391
00:25:57,319 --> 00:26:01,319
เก็บได้ หรือโปรแกรมก็ยังทำงานได้ ถ้ามีการเปลี่ยนแปลง

392
00:26:01,322 --> 00:26:05,322
ของข้อมูลนะคะ ไม่ใช่ว่า

393
00:26:05,324 --> 00:26:09,324
มีคนหนึ่งเปลี่ยนนามสกุล ฐานข้อมูลทั้งมหาวิทยาลัย

394
00:26:09,328 --> 00:26:13,328
ผิดพลาดหมดเลยอันนี้ ไม่ได้นะคะ หรือ

395
00:26:13,330 --> 00:26:17,330
บางคนเพิ่มที่อยู่กลายเป็นว่าที่อยู่เหมือนกัน

396
00:26:17,333 --> 00:26:21,333
ทั้งมหาวิทยาลัยอย่างนี้ ก็ไม่ได้ชด้ ข้อมูลต้องไม่

397
00:26:21,336 --> 00:26:25,336
หรือว่าวันนี้อาจารย์บอกว่าฐานข้อ

398
00:26:25,340 --> 00:26:29,340
มูลอาจารย์ อยากใช้ Microsoft access

399
00:26:29,344 --> 00:26:33,344
อยากบอกว่าเปลี่ยนไปใช้

400
00:26:33,346 --> 00:26:37,346
โปรแกรมอื่นได้ไหม ต้องเปลี่ยนได้นะคะ ไม่ใช่

401
00:26:37,348 --> 00:26:41,348
ใช้โปรแกรมเดียวไปตลอด ไม่ได้

402
00:26:41,350 --> 00:26:45,350
ถ้าสมมติมีโปรแกรมที่ดีกว่า แล้วเราอยากเปลี่ยน

403
00:26:45,354 --> 00:26:49,354
โดยที่ข้อมูลเราไม่หายนะคะ อันนี้คือความเป็นอิสระของข้อมูล

404
00:26:49,357 --> 00:26:53,357

405
00:26:53,360 --> 00:26:57,360
อันนี้พูดไปแล้วนะคะ

406
00:26:57,361 --> 00:27:01,361
อันนี้พูดไปแล้วนะ

407
00:27:01,365 --> 00:27:05,365
เดี๋ยวนะ Mapping อันนี้พูดไ

408
00:27:05,369 --> 00:27:09,369

409
00:27:09,372 --> 00:27:13,372

410
00:27:13,377 --> 00:27:17,377
แบบจำลองข้อมูลนี่ ก็จะเป็นแบบจำลองที่

411
00:27:17,380 --> 00:27:21,380
อธิบายแล้วก็การจัดการข้อมูลที่จะ

412
00:27:21,384 --> 00:27:25,384
เกิดขึ้นในฐานข้อมูล ความสัมพันธ์ในฐานข้อมูล

413
00:27:25,388 --> 00:27:29,388
แต่ละตารางจะเกิดขึ้นอย่างไรบ้าง ข้อบังคับ

414
00:27:29,392 --> 00:27:33,392
ของข้อมูลในระบบที่จะมี การเพิ่ม ลบ การเปลี่ยนแปลงข้อมูล

415
00:27:33,396 --> 00:27:37,396
ใด ๆ จะต้องมีกฎเกณฑ์ใดบ้างนะคะ

416
00:27:37,398 --> 00:27:41,398
ทั้งนี้ก็เพื่อ ใช้สำหรับการ

417
00:27:41,403 --> 00:27:45,403
เป็นข้อตกลง แล้วก็สื่อสารระหว่างคนออกแบบฐานข้อมูล กับ

418
00:27:45,407 --> 00:27:49,407
คนที่ใช้งานฐานข้อมูล ให้มีความเข้าใจตรงกัน

419
00:27:49,412 --> 00:27:53,412
นะคะ ว่าถ้าเรามีระบบนี้ คุณจะ

420
00:27:53,415 --> 00:27:57,415
ทำอะไรได้บ้าง ทำอะไรไม่ได้ เรียกข้อมูลบแบบไหน

421
00:27:57,417 --> 00:28:01,417
แก้ไขข้อมูลอย่างไร ทำแบบไหนถึงจะบันทึกข้อมูลได้

422
00:28:01,421 --> 00:28:05,421
ถ้า อยากลบรหัสนักศึกษาออกได้ไหม

423
00:28:05,425 --> 00:28:09,425
เป็นนักศึกษาแต่ไม่มีรหัสนักศึกษาได้ไหม ไม่ได้ ก็ต้องเข้าใจ

424
00:28:09,428 --> 00:28:13,428
ตรงกันนะคะ

425
00:28:13,434 --> 00:28:17,434
อันแรกนะคะ แบบ

426
00:28:17,435 --> 00:28:21,435
จำลองข้อมูลนี่ จะมีอยู่ 2 ประเภท ประเภทแรกก็คือ

427
00:28:21,440 --> 00:28:25,440
เป็นแบบจำลองที่ใช้การบรรยาย

428
00:28:25,443 --> 00:28:29,443
นะคะ บรรยายโดยรวมทั้งหมดของระบบว่า

429
00:28:29,449 --> 00:28:33,449
มีอะไรบ้างนะคะ ซึ่งจะ

430
00:28:33,455 --> 00:28:37,455
นำเสนอในลักษณะของการวาดภาพ

431
00:28:37,456 --> 00:28:41,456
โดยที่ในฐานข้อมูล 1 ฐานข้อมูลนี่

432
00:28:41,460 --> 00:28:45,460
จะหมายถึงการเก็บตารางกี่ตาราง

433
00:28:45,465 --> 00:28:49,465
นะคะ ก็คือ Entity นั่นแหละนะคะ

434
00:28:49,472 --> 00:28:53,472
กับ แต่ละตารางมีความสัมพันธ์อะไรบ้าง เราจะต้องวาดรูป

435
00:28:53,476 --> 00:28:57,476
โยงเส้น ขีดเส้นใต้

436
00:28:57,479 --> 00:29:01,479
ตีกรอบ เดี๋ยวอันนี้จะเป็น

437
00:29:01,482 --> 00:29:05,482
ในครั้งถัด ๆ ไปจะเป็นการวาดรูป เดี๋ยวถ้า

438
00:29:05,486 --> 00:29:09,486
วันไหนจะวาดรูป อาจารย์จะให้ถือกระดาษ A4

439
00:29:09,487 --> 00:29:13,487
มาด้วยนะคะ ถ้าใครเคยเรียนสมัย

440
00:29:13,491 --> 00:29:17,491
มัธยมได้วาด Mindmapping วาดแผนภ

441
00:29:17,493 --> 00:29:21,493
การวาดในฐานข้อมูลก็จะไม่ต่างกันค่ะ

442
00:29:21,499 --> 00:29:25,499
แต่ว่าสัญลักษณ์ แต่ละสัญลักษณ์ในการวาดรูปของเรา

443
00:29:25,503 --> 00:29:29,503
มันมีความหมายนะคะ ไม่ใช่อยากวาด อยากใส่

444
00:29:29,507 --> 00:29:33,507
วงรี อยากใส่สี่เหลี่ยม อยากใส่สามเหลี่ยม อยากใส่วง

445
00:29:33,511 --> 00:29:37,511
นึกอยากใส่อะไรก็ใส่ไม่ได้ มันจะมีกฎอยู่

446
00:29:37,513 --> 00:29:41,513
โดยการวาดแบบนี้นี่ หรือการจำลอง

447
00:29:41,518 --> 00:29:45,518
แบบนี้นี่จะนำเสนอเพื่อให้เกิดความเข้าใจ

448
00:29:45,520 --> 00:29:49,520
ตรงกันระหว่างคนออกแบบกับคนใช้งาน ให้เห็นภาพ

449
00:29:49,523 --> 00:29:53,523
คร่าว ๆ ว่าระบบที่เรากำลังจะทำขึ้นมานี่ มันทำงาน

450
00:29:53,527 --> 00:29:57,527
อย่างไรนะคะ เก็บข้อมูลแบบไหน ใช้ข้อมูลอะไรได้บ้าง

451
00:29:57,528 --> 00:30:01,528
นะคะ ต่อมาจะเป็น

452
00:30:01,532 --> 00:30:05,532
แบบจำลองที่ใช้อธิบายโครงสร้างของฐานข้อมูล

453
00:30:05,536 --> 00:30:09,536
นะคะ คุณสมบัติของแบบจำลองข้อมูลที่ดี

454
00:30:09,540 --> 00:30:13,540
จะต้องเป็นรูปหรือจะต้องเป็นแบบจำลองที่เอามาวาง

455
00:30:13,544 --> 00:30:17,544
แล้วถึงแม้ว่าเขาจะไม่มีความรู้ทางด้านคอมพิวเตอร์เลย

456
00:30:17,546 --> 00:30:21,546
เขาก็จะเข้าใจนะคะ

457
00:30:21,550 --> 00:30:25,550
มีสาระสำคัญ ไม่มีการซ้ำซ้อนกัน

458
00:30:25,554 --> 00:30:29,554
นะคะ ซึ่งในที่นี้ ก็คือในแต่ละตาราง

459
00:30:29,560 --> 00:30:33,560
มันไม่ควรจะมีการเก็บข้อมูลที่ซ้ำกัน

460
00:30:33,565 --> 00:30:37,565
อย่างเช่น ตารางนี้เก็บข้อมูลนักศึกษาไปแล้ว

461
00:30:37,566 --> 00:30:41,566
อีกตารางหนึ่งก็ยังจะเก็บอีก อันนี้ไม่ทำนะคะ จะต้องไม่

462
00:30:41,574 --> 00:30:45,574
ซ้ำซ้อนกันในแต่ละตาราง แล้วก็มีความยืดหยุ่นแก้ไข

463
00:30:45,578 --> 00:30:49,578
ง่ายในการแก้ไขในอนาคตนะคะ

464
00:30:49,580 --> 00:30:53,580
และ แบบจำลองของวข้อมูล ไม่ควรจะ

465
00:30:53,584 --> 00:30:57,584
ตายตัวเลยว่าโปรแกรมที่เรา... หรือฐานข้อมูลที่เรากำลัง

466
00:30:57,584 --> 00:31:01,584
จะออกแบบ ต้องใช้โปรแกรมนี้เท่านั้น เราจะ

467
00:31:01,589 --> 00:31:05,589
ไม่ทำแบบนี้นะคะ จะต้องเป็นฐานข้อมูล

468
00:31:05,595 --> 00:31:09,595
ที่สามารถทำร่วมกับโปรแกรมใดก็ได้นะคะ

469
00:31:09,599 --> 00:31:13,599
เพราะมันจะ... ไม่อย่างนั้นมันจะขัดกับกฎความเป็นอิสระ

470
00:31:13,603 --> 00:31:17,603
ของข้อมูล ก็คือถ้าสมมติเปลี่ยนโปรแกรม แล้วข้อมูลมันพังอย่างนี้

471
00:31:17,604 --> 00:31:21,604
ไม่ได้นะคะ

472
00:31:21,606 --> 00:31:25,606

473
00:31:25,610 --> 00:31:29,610
โดยแบบจำลองนี่ ก็จะมีหลายรูปแบบ แบบแรกเป็น

474
00:31:29,614 --> 00:31:33,614
เชิง Record จะเป็นการเก็บเป็นแถว เป็นแถว ไปเรื่อย ๆ

475
00:31:33,619 --> 00:31:37,619
นะคะ แต่ละแถวก็หรืออาจจะเรียกว่ารายการ

476
00:31:37,619 --> 00:31:41,619
ข้อมูลแต่ละแถวจะต้องไม่ซ้ำกัน จะต้องต่างกัน

477
00:31:41,624 --> 00:31:45,624
นะคะ ก็จะมีอยู่ 3 แบบ แบบจากบนลงล่าง

478
00:31:45,628 --> 00:31:49,628
แบบเครือข่าย และก็แบบมีความสัมพันธ์

479
00:31:49,632 --> 00:31:53,632
นะคะ

480
00:31:53,636 --> 00:31:57,636
กับแบบจำลองเชิงวัตถุ

481
00:31:57,638 --> 00:32:01,638
นะคะ จะมองทุกอย่างให้เหมือนเป็นวัตถุ

482
00:32:01,641 --> 00:32:05,641
ตารางก็เป็นวัตถุชนิดหนึ่ง นักศึกษาก็เป็นวัตถุ

483
00:32:05,645 --> 00:32:09,645
ชนิดหนึ่ง นักศึกษา 1

484
00:32:09,651 --> 00:32:13,651
คน จะมีวัตถุในตนเองเก็บอะไรบ้าง

485
00:32:13,653 --> 00:32:17,653
นะคะ เช่น วัตถุที่ชื่อว่ารหัสนักศึกษา วัตถุ

486
00:32:17,656 --> 00:32:21,656
ที่ชื่อว่า ชื่อนามสกุล วัตถุที่เป็น

487
00:32:21,660 --> 00:32:25,660
หมายถึงเบอร์โทรศัพท์นะคะ

488
00:32:25,664 --> 00:32:29,664
เวลาเราวาด หรือโครงสร้างฐานเข้อมูลเราจะใช้

489
00:32:29,668 --> 00:32:33,668
แบบจำลองเชิงวัตถุนะคะ ก็คือตัวแรกเลย

490
00:32:33,672 --> 00:32:37,672
สิ่งที่เราจะวาดเรียกว่า ER

491
00:32:37,674 --> 00:32:41,674
Diagram

492
00:32:41,675 --> 00:32:45,675
ER Diagram นะ ทุกคนต้อง

493
00:32:45,680 --> 00:32:49,680
วาดได้ เข้าใจสัญลักษณ์แต่ละอันว่ามันมีความสำคัญอย่างไร

494
00:32:49,684 --> 00:32:53,684
นะคะ ระดับปริญญาตรีนี่ วาด ER Diagram

495
00:32:53,688 --> 00:32:57,688
ก็ถือว่าเก่งมากแล้วนะคะ

496
00:32:57,689 --> 00:33:01,689
แบบจำลอง

497
00:33:01,694 --> 00:33:05,694
ข้อมูลจะมีส่วนประกอบอยู่ 3 ส่วนนะคะ ส่วนของ

498
00:33:05,699 --> 00:33:09,699
โครงสร้าง ก็จะเป็นส่วนประกอบที่เก็บสัญลักษณ์ รวม

499
00:33:09,703 --> 00:33:13,703
ทั้งกฎระเบียบที่ทุกคนจะต้องตกลงร่วมกัน

500
00:33:13,707 --> 00:33:17,707
เพื่อใช้ในการสร้างฐานข้อมูล

501
00:33:17,710 --> 00:33:21,710
มาตรฐานเลย ก็คือข้อมูลทุกอย่างที่จะเก็บจะอยู่

502
00:33:21,714 --> 00:33:25,714
ในรูปแบบของตาราง ของแถวกับคอลัมน์ อันนี้น่าจะเคย

503
00:33:25,719 --> 00:33:29,719
ใช้งาน Excel มาแล้ว รวมถึงน่าจะรู้ว่าตาราง

504
00:33:29,723 --> 00:33:33,723
คืออะไร นะคะ ตารงก้จะเป็นแบบนี้

505
00:33:33,727 --> 00:33:37,727
เหมือนเวลาเราใส่ข้อมูลทั่ว ๆ ไปนะคะ ตีเส้น ตีกรอบ แบบนี้ อันนี้

506
00:33:37,728 --> 00:33:41,728
คือตารางนะคะ มีแถวกับ

507
00:33:41,732 --> 00:33:45,732
คอลัมน์ ส่วนของการปรับปรุง

508
00:33:45,738 --> 00:33:49,738
ก็จะเป็นส่วนที่ชนิดของ

509
00:33:49,742 --> 00:33:53,742
การทำงานต่าง ๆ ตั้งแต่การปรับปรุงข้อ

510
00:33:53,747 --> 00:33:57,747
มูลในฐานข้อมูล การเปลี่ยนแปลงโครงสร้างในฐานข้อมูล เช่น

511
00:33:57,748 --> 00:34:01,748
เราอาจจะเพิ่มในส่วนของ

512
00:34:01,752 --> 00:34:05,752
Socail meก ก

513
00:34:05,756 --> 00:34:09,756
ชื่อ Facebook คุณชื่ออะไร แต่

514
00:34:09,760 --> 00:34:13,760
จะต้องไม่กระทบกับฐานข้อมูลหลัก ซึ่ง จะ

515
00:34:13,764 --> 00:34:17,764
ใช้ชุดคำสั่งของภาษา SQL

516
00:34:17,766 --> 00:34:21,766
อันนี้เราก็จะเรียนเหมือนกันนะคะ SQL

517
00:34:21,767 --> 00:34:25,767
จัดการกับข้อมูล รวมถึงกฎของ

518
00:34:25,771 --> 00:34:29,771
ความคงสภาพ เพื่อใช้สำหรับควบคุมคุณภาพ

519
00:34:29,773 --> 00:34:33,773
ของข้อมูลและเพื่อให้มั่น

520
00:34:33,774 --> 00:34:37,774
ถูกต้อง เช่นรหัสนักศึกษาจะต้องเป็นตัวเ้ลขเท่านั้น

521
00:34:37,777 --> 00:34:41,777
เป็นตัวหนังสือไม่ได้นะคะ ความแน่นอนของ

522
00:34:41,781 --> 00:34:45,781
ข้อมูลที่ถูกต้องที่บันทึกลงในฐานข้อมูล

523
00:34:45,783 --> 00:34:49,783
เวลาเราเรียกดูข้อมูลปุ๊บ เราจะ

524
00:34:49,785 --> 00:34:53,785
ได้มา ตรงกับความจริงที่เกิดขึ้นนะคะ

525
00:34:53,789 --> 00:34:57,789
นะคะ นี่ก็จะซ้ำ ๆ กัน

526
00:34:57,791 --> 00:35:01,791

527
00:35:01,792 --> 00:35:05,792
แบบจำลองฐานข้อมูลในการตัดสินเ

528
00:35:05,797 --> 00:35:09,797
นี่ มันก็จะเป็นสิ่งสำคัญมาก ๆ

529
00:35:09,801 --> 00:35:13,801
สำหรับการออกแบบฐานข้อมูลนะคะ

530
00:35:13,803 --> 00:35:17,803
ซึ่ง เราก็จะแบ่งเป็นประมาณ

531
00:35:17,805 --> 00:35:21,805
ประมาณ 5 รูปแบบเพื่อให้เรา

532
00:35:21,809 --> 00:35:25,809
ตัดสินใจว่า เราจะออกแบบฐานข้อมูลแบบไหน

533
00:35:25,813 --> 00:35:29,813
นะคะ อันแรกเลย เป็นแบบลำดับชั้น

534
00:35:29,817 --> 00:35:33,817
นะคะ เป็นรูปแบบสถาปัตยกรรมฐานข้อมูล

535
00:35:33,823 --> 00:35:37,823
ที่เก่าแก่ที่สุดใช้มานานมาก

536
00:35:37,825 --> 00:35:41,825
นะคะ โครงสร้างของข้อมูลหรือไฟล์ จะถูก

537
00:35:41,830 --> 00:35:45,830
จัดเก็บไว้จากบนลงล่างนะคะ ลักษณะคล้าย ๆ กับ

538
00:35:45,832 --> 00:35:49,832
รากของต้นไม้นะคะ

539
00:35:49,836 --> 00:35:53,836
โดยไฟล์ต่าง ๆ จะต้องมีข้อ พ่อ

540
00:35:53,839 --> 00:35:57,839
ก็คือเป็น ถ้าเป็นภาษาอังกฤษก็คือ Onำ

541
00:35:57,842 --> 00:36:01,842
ข้อมูลเดียวเท่านั้น แล้วค่อย ๆ แตกสาขาออกไป

542
00:36:01,846 --> 00:36:05,846
นะคะ ความถูกต้องในการเก็บ

543
00:36:05,852 --> 00:36:09,852
เก็บข้อมูลค่อนข้างมี

544
00:36:09,856 --> 00:36:13,856
การเปลี่ยนแปลงข้อมูลน้อยมาก แต่ปัจจุบัน

545
00:36:13,861 --> 00:36:17,861
ไม่นิยมใช้ เพราะมันยากต่อการไล่ลำดับของข้อมูล

546
00:36:17,863 --> 00:36:21,863
นะคะ มันเวลาจะหาข้อมูลทีหนึ่ง

547
00:36:21,867 --> 00:36:25,867
วิ่งไปข้างบนแล้วก็ลงมาข้างล่างใหม่

548
00:36:25,872 --> 00:36:29,872
จก็ต้องเริ่มจากข้างบน แล้วค่อยมาข้างล่าง

549
00:36:29,876 --> 00:36:33,876
คุณอะไรล่ะ สมมติตึกนี้มี 10 ชั้น

550
00:36:33,880 --> 00:36:37,880
อยากไปชั้น 3 คุณจะขึ้นจากข้างล่าง

551
00:36:37,880 --> 00:36:41,880
ไปชั้น 3 เลยไม่

552
00:36:41,885 --> 00:36:45,885
ทุกครั้งนะคะ แบบจำลองข้อมูลตัวนี้

553
00:36:45,889 --> 00:36:49,889
ข้อมูลตัวนี้ถามว่าดีไหม ดี แต่ว่าทำงานช้า

554
00:36:49,890 --> 00:36:53,890
นะคะ ลักษณะก็จะเป็นแบบนี้นะคะ เริ่มจาก

555
00:36:53,892 --> 00:36:57,892
ตรงนี้กว่าจะลงมาถึงตรงนี้ได้

556
00:36:57,894 --> 00:37:01,894
ต้องผ่านทุกชั้นนะคะ ถ้าเราอยากดูข้อมูล

557
00:37:01,898 --> 00:37:05,898
ตรงนี้เลยนี่ ที่อาจารย์วง ๆ ไว้นี่ เข้ามาตรงนี้เลยได้ไหม ไม่ได้

558
00:37:05,902 --> 00:37:09,902
เพราะกฎของมัน คือ ต้องเริ่มจากบนสุด แล้วค่อยลงมาข้างล่าง

559
00:37:09,903 --> 00:37:13,903
มันดีค่ะ แต่มันช้านะคะ

560
00:37:13,907 --> 00:37:17,907

561
00:37:17,907 --> 00:37:21,907
จะเป็นประมาณนี้นะคะ เป็น Root ลงมา

562
00:37:21,912 --> 00:37:25,912
ตรงนี้ เหมื

563
00:37:25,915 --> 00:37:29,915
แบบนี้ค่ะ อันนี้คือแบบจำรองที่เรา

564
00:37:29,920 --> 00:37:33,920
นะคะ สมมติอาจารย์อยากดูข้อมูลคนนี้

565
00:37:33,924 --> 00:37:37,924
นะคะ ระดับล่างสุดเลย

566
00:37:37,925 --> 00:37:41,925

567
00:37:41,930 --> 00:37:45,930

568
00:37:45,932 --> 00:37:49,932
ลำดับชั้นเรื่อย ๆ จนถึงตรงนี้ ถามว่าเราเป็นผู้ใช้งานจะ

569
00:37:49,936 --> 00:37:53,936
เราอาจจะไม่รู้สึกว่ามันหาข้อมูลช้า

570
00:37:53,940 --> 00:37:57,940
แต่ในทางการทำงานทางกายภาพของคอมพิวเตอร์นี่

571
00:37:57,941 --> 00:38:01,941
มันทำงานโดยคิดเป็นหน่วยใหญ่ ๆ  เป็น

572
00:38:01,946 --> 00:38:05,946
วินาที ยิ่งใช้เวลาหาข้อมูลนานเท่าไหร่

573
00:38:05,952 --> 00:38:09,952
ก็ยิ่งมีค่าใช้จ่ายที่เพิ่มขึ้นตาม

574
00:38:09,956 --> 00:38:13,956
ไปด้วยนะคะ เพราะฉะนั้น เหมือนในยุค

575
00:38:13,960 --> 00:38:17,960
ทำไมทุกคนอยากได้คอมพิวเตอร์ที่เร็ว คิดเร็ว หาข้อมูล

576
00:38:17,962 --> 00:38:21,962
เร็วนะคะ ถามว่า

577
00:38:21,966 --> 00:38:25,966
อันนี้มันช้าจนเราทนไม่ได้ไหม

578
00:38:25,970 --> 00:38:29,970
ถ้าข้อมูลมันมีแค่นี้มันทนได้ค่ะ แต่ถ้าข้อมูลมันมากกว่านี้มี

579
00:38:29,972 --> 00:38:33,972
หลายลำดับชั้นกว่านี้ล่ะ แค่หาชื่อคน

580
00:38:33,973 --> 00:38:37,973
อาจจะรอเป็นชั่วโมงก็ได้ ถ้าจำนวนข้อมูลมันเยอะ

581
00:38:37,975 --> 00:38:41,975
นะคะ อันนี้ก็เป็นแบบจำลอง

582
00:38:41,979 --> 00:38:45,979
ข้อมูลที่ถามว่าทำได้ดีค่ะ แต่ว่าอาจจะเสียเวลา

583
00:38:45,980 --> 00:38:49,980
นะคะ

584
00:38:49,985 --> 00:38:53,985
ข้อดีก็คือเข้าใจง่าย ลักษณะ

585
00:38:53,993 --> 00:38:57,993
เหมือนรากของต้นไม้อย่างที่บอกนะคะ ข้อมูลมีความสัมพันธ์แบบ 1

586
00:38:57,995 --> 00:39:01,995
ต่อ มากกว่า 1

587
00:39:01,997 --> 00:39:05,997
จริง ๆ อยากพูดภาษาอังกฤษมากกว่าแบบ One to m

588
00:39:06,001 --> 00:39:10,001
พ่อ 1 คน มีลูกได้หลายคนประมาณนี้

589
00:39:10,005 --> 00:39:14,005
ความสามารถในการควบคุมความถูกต้องของข้อมูลมีสูง

590
00:39:14,010 --> 00:39:18,010
นะคะ ข้อมูลที่เหมาะกับข้อมูลแบบจำลองแบบนี้

591
00:39:18,014 --> 00:39:22,014
ควรน่าจะเป็น เป็นการเรียงลำดับอย่างต่อ

592
00:39:22,018 --> 00:39:26,018
ต่อเนื่องนะคะ ที่จะเหมาะ ที่จะใช้

593
00:39:26,021 --> 00:39:30,021
แต่มันก็มีข้อเสียอย่างที่บอกนะคะ มันไม่สามารถรองรับข้อมูล

594
00:39:30,027 --> 00:39:34,027
ที่มีความสัมพันธ์แบบ Many to one

595
00:39:34,031 --> 00:39:38,031
many to many

596
00:39:38,034 --> 00:39:42,034
1 ต่อ หลายสิ่ง หรือหลายสิ่ง ต่อหลายสิ่ง

597
00:39:42,038 --> 00:39:46,038
อะไรพวกนี้ เดี๋ยวเราจะเรียนในบทถัด ๆ ไป มันคืออะไร

598
00:39:46,042 --> 00:39:50,042
นะคะ เดี๋ยวจะอธิบายโดยละเอียดในบทถัด ๆ ไป

599
00:39:50,046 --> 00:39:54,046
โดยแบบจำลองแบบลำดับชั้นนี่ ความยืดหยุ่นมันก็จะน้อย

600
00:39:54,057 --> 00:39:58,057
นะคะ การปรับเปลี่ยนโครงสร้าง มีความยุ่งยาก

601
00:39:58,059 --> 00:40:02,059
เพราะทุกอย่างจะต้องเริ่มจากด้านบน ถ้าเปลี่ยน

602
00:40:02,061 --> 00:40:06,061
ตรงใดตรงหนึ่ง ต้องไล่ดูทั้งหมด เพราะมันอาจจะ

603
00:40:06,065 --> 00:40:10,065
กระทบกับอีกส่วนอื่นก็ได้นะคะ

604
00:40:10,068 --> 00:40:14,068
อย่างที่บอกค่ะ การค้นหาข้อมูลระดับล่าง ๆ

605
00:40:14,071 --> 00:40:18,071
จะต้องทำตั้งแต่บนลงล่างลงมา เข้าไปหาโดยตรง

606
00:40:18,073 --> 00:40:22,073
ไม่ได้นะคะ เสียเวลา แล้ว

607
00:40:22,074 --> 00:40:26,074
ก็ทำให้การเขียนโปรแกรมในอนาคต

608
00:40:26,076 --> 00:40:30,076
มันยาก เพราะว่าทุกอย่างจะต้อง

609
00:40:30,080 --> 00:40:34,080
วนกลับมาจุดเริ่มต้น วนกลับมาจุดเริ่มต้น เสียเวลามากนะคะ

610
00:40:34,085 --> 00:40:38,085
มันก็เลยมีการพัฒนาแบบจำลองข้อมูลแบบเครือข่าย

611
00:40:38,087 --> 00:40:42,087
ขึ้นมานะคะ โดยแบบจำลองข้อมูล

612
00:40:42,089 --> 00:40:46,089
แบบเคครือข่ายนี่ จะใช้ตัวชี้ตำแหน่งที่เรียกว่า

613
00:40:46,092 --> 00:40:50,092
Pointer ก็คือใช้ลูกศร

614
00:40:50,096 --> 00:40:54,096
นะคะ ใช้ลูกศรก็จะมีการเชื่อมโยงความสัมพันธ์ระหว่าง

615
00:40:54,100 --> 00:40:58,100
ข้อมูลในแต่ละแถวเข้า

616
00:40:58,101 --> 00:41:02,101
ด้วยกันนะคะ ก็จะเป็นสามาร

617
00:41:02,104 --> 00:41:06,104
เชื่อมโยงกันได้นะคะ ข้อมูล

618
00:41:06,106 --> 00:41:10,106
สามารถวิ่งผ่านกันได้ ไม่จำเป็นต้องจากบนลงล่าง

619
00:41:10,108 --> 00:41:14,108
อาจจะเลี้ยวซ้ายเลี้ยวขวาได้แล้วตรงนี้นะคะ ลักษณะ

620
00:41:14,112 --> 00:41:18,112
ของแบบจำลองเชิงเครือข่ายก็จะเป็นแบบนี้นะคะ

621
00:41:18,114 --> 00:41:22,114
แต่ก่อนเราจะเริ่มจากบนลงล่างใช่ไหม คราวนี้ถ้าใบส่งของ

622
00:41:22,118 --> 00:41:26,118
นี่ มันสามารถไปหาใครได้บ้าง ใบส่งของมีข้อมูลอะไร

623
00:41:26,123 --> 00:41:30,123
ก็คือรายการในใบส่งของ

624
00:41:30,124 --> 00:41:34,124
ใครเป็นคนขาย ใครเป็นคนซื้อ

625
00:41:34,128 --> 00:41:38,128
เขาจ่ายเงินแบบไหน อันนี้ไม่ต้องจากบนลงล่าง

626
00:41:38,130 --> 00:41:42,130
ใช่ไหมคะ หรือจะดูว่าพนักงานวันนี้ขายของอะไร

627
00:41:42,131 --> 00:41:46,131
ได้บ้าง ก็สามารถดูได้ ลูกค้า

628
00:41:46,135 --> 00:41:50,135
คนนี้ อยู่ในใบส่งของไหน ใครเป็นคนขาย

629
00:41:50,136 --> 00:41:54,136
ลูกค้าจ่ายเงินอย่างไรก็ดูได้ ดูได้ทุกตำแหน่ง

630
00:41:54,139 --> 00:41:58,139
โดยที่ไม่ต้องเริ่มจากบนลงล่าง สามารถเข้าไปดูได้โดยตรง ข้อดี

631
00:41:58,143 --> 00:42:02,143
แบบจำลองข้อมูลแบบเครือข่ายนะคะ ก็

632
00:42:02,146 --> 00:42:06,146
ความซ้ำซ้อนในการเกิดขึ้นของข้อมูลเกิดขึ้นน้อยกว่า

633
00:42:06,150 --> 00:42:10,150
ลำดับชั้น เรียกดูข้อมูลแบบไป-กลับได้ง่ายนะคะ เพราะว่า

634
00:42:10,154 --> 00:42:14,154
การค้นหาข้อมูลทำได้ดีกว่า เพราะว่ามีตัวชี้ตำแหน่งหรือว่า Pointer

635
00:42:14,158 --> 00:42:18,158
ในการเข้าถึงข้อมูลได้ในทันที

636
00:42:18,161 --> 00:42:22,161
นะคะ แต่ถามว่าสิ่งที่มีข้อดี ก็ต้องมีข้อเสีย

637
00:42:22,164 --> 00:42:26,164
นะคะ ข้อเสีย ก็คือการป้องกันความปลอดภัย

638
00:42:26,169 --> 00:42:30,169
ของข้อมูลมีน้อยนะคะ แล้ว

639
00:42:30,172 --> 00:42:34,172
ก็สิ้นเปลืองพื้นที่ในตัว...

640
00:42:34,175 --> 00:42:38,175
การเก็บตัวชี้ตำแหน่ง ถ้าตารางข้้อมูล

641
00:42:38,177 --> 00:42:42,177
มันมีแค่นี้น่ะค่ะ มันก็ไม่เปลืองหรอก แต่ถ้าสมมติ

642
00:42:42,182 --> 00:42:46,182
มันเป็นระดับห้างสรรพสินค้าล่ะ

643
00:42:46,186 --> 00:42:50,186
ร้านค้าใหญ่ ๆ ข้อมูลเกิดขึ้น

644
00:42:50,189 --> 00:42:54,189
แทบจะทุกนาที มันก็ต้องมี

645
00:42:54,192 --> 00:42:58,192
ตัวชี้ตำแหน่งเก็บทุก ๆ ๆ ๆ สิ่งที่เกิดขึ้น

646
00:42:58,194 --> 00:43:02,194
ทำไมเราถึงบอกว่าเปลืองไม่ได้ เพราะว่าใช้เชิงธุรกิจ

647
00:43:02,200 --> 00:43:06,200
อะไรที่เป็นสิ่งที่เราต้องจ่ายเพิ่ม เช่น จ่ายเงิน

648
00:43:06,204 --> 00:43:10,204
ซื้ออฮาร์ดดิสเพิ่ม เพื่อเก็บข้อมู

649
00:43:10,208 --> 00:43:14,208
เป็นต้นทุก หมายความว่าคุณจะต้องลงทุกเพิ่มขึ้น

650
00:43:14,213 --> 00:43:18,213
ในสิ่งที่อาาจจะไม่ได้จำเป็นขนาดนั้นนะคะ

651
00:43:18,214 --> 00:43:22,214
แล้วก็การเปลี่ยนแปลง

652
00:43:22,218 --> 00:43:26,218
เชิงโครงสร้างก้อาจจะมีความยุ่งยาก เพราะ

653
00:43:26,224 --> 00:43:30,224
หลาย ๆ อย่างมันเชื่อมต่อกันอยู่ เช่น อยู่ดี ๆ อาจารย์

654
00:43:30,226 --> 00:43:34,226
บอกว่า อาจารย์อยากตัดใบส่งของออก แล้วพนักงาน

655
00:43:34,231 --> 00:43:38,231
กับลูกค้าจะเชื่อมโยงกันอย่างไร ผ่านสินค้า

656
00:43:38,233 --> 00:43:42,233
หรือ แล้วคุณไม่ต้องไปส่งของลูกค้าหรือ

657
00:43:42,237 --> 00:43:46,237
นะคะ อันนี้ก็จะมีข้อ

658
00:43:46,241 --> 00:43:50,241
สงสัยกับข้อที่ต้องมาคิดตาม

659
00:43:50,246 --> 00:43:54,246
เหมือนกันว่าถ้าเราจะมีการเปลี่ยนแปลง

660
00:43:54,247 --> 00:43:58,247
ตำแหน่งบางตำแหน่ง สำหรับการชี้ตำแหน่งนะคะ

661
00:43:58,249 --> 00:44:02,249
มันต้องทำอย่างไร มันก็เลยมีการพัฒนาขึ้นมาอีก เป็น

662
00:44:02,252 --> 00:44:06,252
แบบจำลองฐานข้อมูลเชิงสัมพันธ์นะคะ

663
00:44:06,256 --> 00:44:10,256
ก็จะเป็นแบบจำลองข้อมูลที่

664
00:44:10,260 --> 00:44:14,260
ได้รับความนิยมมากในปัจจุบัน เพราะว่านำเสน

665
00:44:14,265 --> 00:44:18,265
ข้อมูลในลักษณะที่เป็นตาราง เข้าใจง่าย

666
00:44:18,266 --> 00:44:22,266
มีแถว มีคอลัมน์นะคะ สามารถ

667
00:44:22,270 --> 00:44:26,270
แสดงให้เห็นถึงความสัมพันธ์กับตารางอื่น ๆ ได้ง่าย

668
00:44:26,274 --> 00:44:30,274
นะคะ แต่เราจะใช้สิ่งที่เรียกว่ากุญแจ

669
00:44:30,278 --> 00:44:34,278
หรือ Key เพื่ออ้างอิงไปยังตารางอื่น ๆ

670
00:44:34,283 --> 00:44:38,283
เหมือนอย่างนี้ อันนี้คือตารางพนักงานขาย

671
00:44:38,285 --> 00:44:42,285
อะไรพวกนี้ค่ะ เราไม่รู้ว่าเราจะอ้างอิงด้วยอะไร

672
00:44:42,289 --> 00:44:46,289
ใช่ไหมคะ อย่างเช่นใบส่งของ มีของ

673
00:44:46,293 --> 00:44:50,293
อยู่ 5 อย่าง เราก็รู้ว่าแค่ 5 อย่าง

674
00:44:50,300 --> 00:44:54,300
ไม่ได้มีจุดสังเกตใด ๆ ให้รู้นะคะ

675
00:44:54,301 --> 00:44:58,301
มันก็เลยมีการพัฒนาสิ่งที่เรียกว่า "Key" หรือกุญแจ

676
00:44:58,302 --> 00:45:02,302
มานะคะ โดยกุญแจ

677
00:45:02,306 --> 00:45:06,306
ของ 1 คนนี่ มันสามาถเป็นได้ทั้งกุญแจหลัก

678
00:45:06,311 --> 00:45:10,311
แล้วก็คีย์รองได้ เดี๋ยวรายละเอียดของคีย์หลัก คีย์รอง

679
00:45:10,316 --> 00:45:14,316
คีย์ภายนอกนะคะ

680
00:45:14,321 --> 00:45:18,321
จะอธิบายโดยละเอียดในบท

681
00:45:18,323 --> 00:45:22,323
ถัด ๆ ไปนะคะ อันนี้เอาให้เห็นคร่าว ๆ ก่อน

682
00:45:22,327 --> 00:45:26,327
อย่างเช่น นะคะ ตาราง

683
00:45:26,331 --> 00:45:30,331
นี้

684
00:45:30,333 --> 00:45:34,333
นะคะ อันแรกจะเป็นตารางเก็บข้อมูลสาขา

685
00:45:34,337 --> 00:45:38,337
สมมติว่าเราเปิดร้านค้า มีตารางเกี่ยวกับเก็บข้อมูล

686
00:45:38,339 --> 00:45:42,339
สาขาที่เราเปิด กับตารางพนักงานทำไม

687
00:45:42,344 --> 00:45:46,344
รหัสสาขาอาจารย์ต้องขีดเส้นใต้ด้วย

688
00:45:46,345 --> 00:45:50,345
ทำไมรหัสพนักงานก็ต้องขีดเส้นใต้ด้วย

689
00:45:50,349 --> 00:45:54,349
ความสำคัญมีอยู่นะคะ ไม่ใช่ว่าขีดเฉย ๆ

690
00:45:54,352 --> 00:45:58,352
เพื่อเน้นให้พวกคุณอ่าน ไม่ใช่ มันแสดงให้เห็น

691
00:45:58,354 --> 00:46:02,354
ว่าในตารางนี้ สิ่งใด

692
00:46:02,358 --> 00:46:06,358
ที่ขีดเส้นใต้ ข้อนั้น ข้อมูลในตารางนั้น

693
00:46:06,362 --> 00:46:10,362
จะซ้ำกันไม่ได้ เราเรียกสิ่งนี้ว่า "คีย์หลัก"

694
00:46:10,365 --> 00:46:14,365
นะคะ รหัส

695
00:46:14,367 --> 00:46:18,367
พนักงานขีดเส้นใต้  ก็แสดงว่ารหัส

696
00:46:18,368 --> 00:46:22,368
พนักงานแต่ละคนจะต้องไม่ซ้ำกัน เพราะรหัสพนักงาน

697
00:46:22,369 --> 00:46:26,369
เป็นคีย์หลัก

698
00:46:26,373 --> 00:46:30,373
แต่ถ้าสังเกตดี ๆ ในตาราง

699
00:46:30,376 --> 00:46:34,376
พนักงานทำไมมีรหัสสาขา

700
00:46:34,381 --> 00:46:38,381
โผล่ขึ้นมาตรงนี้ด้วย แล้วทำไมไม่ขีดเส้นล่ะ

701
00:46:38,383 --> 00:46:42,383
ในตารางนี้ เพราะในตารางพนักงาน

702
00:46:42,384 --> 00:46:46,384
รหัสสาขาไว้สำหรับ

703
00:46:46,388 --> 00:46:50,388
เป็นคีย์นอกในการเชื่อมต่อกันว่า 2 ตาราง

704
00:46:50,392 --> 00:46:54,392
นี้ มันมีความสัมพันธ์กันอย่างไร

705
00:46:54,396 --> 00:46:58,396
นะคะ เดี๋ยวจะอธิบายอีกทีหนึ่ง

706
00:46:58,398 --> 00:47:02,398
ว่าทำไมต้องมีความสัมพันธ์กันล่ะ เอาง่าย ๆ เลยค่ะ

707
00:47:02,401 --> 00:47:06,401
พนักงานคนที่ 1 ถ้าอาจารย์

708
00:47:06,402 --> 00:47:10,402
ไม่มีรหัสสาขา คุณจะรู้ไหมว่า พนักงานคนนี้ทำงาน

709
00:47:10,406 --> 00:47:14,406
ที่สาขาไหน ไม่รู้เลย

710
00:47:14,408 --> 00:47:18,408
หรืออาจจะบอกว่าสาขาอุดรฯ มีใคร

711
00:47:18,409 --> 00:47:22,409
ทำงานบ้างรู้ไหม ถ้าไม่เชื่อมกับตารางพนักงานก็ไม่

712
00:47:22,413 --> 00:47:26,413
รู้เลยนะคะ เดี๋ยวจะอธิบาย

713
00:47:26,417 --> 00:47:30,417
อีกทีหนึ่ง ในบทของการวาดความสัมพันธ์นะคะ

714
00:47:30,419 --> 00:47:34,419
ข้อดีของแบบจำลองที่เป็น

715
00:47:34,421 --> 00:47:38,421
ตารางอ่านง่ายเข้าใจง่าย เพราะนำ

716
00:47:38,423 --> 00:47:42,423
เสนอในลักษณะของตาราง สามารถเลือกดู

717
00:47:42,428 --> 00:47:46,428
สิ่งที่เราสนใจ ความซับซ้อนข้อมูลก็มีน้อย

718
00:47:46,431 --> 00:47:50,431
เพราะว่าข้อมูลในเชิง 2 มิตินี่ มัน

719
00:47:50,435 --> 00:47:54,435
มองง่ายความปลอดภัยค่อนข้างดีนะคะ

720
00:47:54,440 --> 00:47:58,440
เพราะว่าผู้ใช้งานก็จะไม่รู้ว่าเราเก็บข้อมูลอย

721
00:47:58,443 --> 00:48:02,443
อยากเรียกใช้ข้อมูลอะไรได้บ้างนะคะ แล้วก็โครงสร้างของข้อมูล

722
00:48:02,445 --> 00:48:06,445
แน่นอน ถ้าเราเปลี่ยนโปรแกรมก็ยังสามารถทำงานได้

723
00:48:06,450 --> 00:48:10,450
นะคะ แต่ข้อเสียของมันก็

724
00:48:10,455 --> 00:48:14,455
มีนะคะ ก็คือค่าใช้จ่ายค่อนข้างสูง

725
00:48:14,459 --> 00:48:18,459
นะคะ เพราะว่าทรัพยากร

726
00:48:18,460 --> 00:48:22,460
ที่ใช้ในการจัดการนี่ ต้องมีสมรรถนะที่สูงนิดหนึ่ง

727
00:48:22,464 --> 00:48:26,464
ประมวลผลต้องเร็วนะคะ

728
00:48:26,468 --> 00:48:30,468
การปรับปรุงแก้ไขข้อมูลอาจจะมีความยุ่งยาก เพราะว่า

729
00:48:30,472 --> 00:48:34,472
ไม่รู้ว่าข้อมูลภายในที่เก็บจริง ๆ แล้วนี่

730
00:48:34,476 --> 00:48:38,476
มันเป็นอย่างไร มีคนเดียวที่รู้ก็คือคนจัดการฐานข้อมูลเท่านั้น

731
00:48:38,477 --> 00:48:42,477
บางครั้งผู้ใช้งานนี่อาจจะเป็นผู้

732
00:48:42,481 --> 00:48:46,481
ที่ต้องคีย์ข้อมูลเข้าไป ก็อาจจะเริ่มงงแล้วว่า

733
00:48:46,485 --> 00:48:50,485
ฉันต้องกรอกข้อมูลอะไร ทำไมข้อมูลมันไม่ผ่าน

734
00:48:50,491 --> 00:48:54,491
นะคะ อย่างเช่น

735
00:48:54,495 --> 00:48:58,495
อาจจะไม่มีอันนี้มันก็จะเกี่ยวเนื่องไปถึงการออก

736
00:48:58,497 --> 00:49:02,497
แบบระบบด้วย เหมือนบางคนใส่เลยบัตรประชาชนไม่ครบ

737
00:49:02,497 --> 00:49:06,497
ไม่ครบ 13 หลัก ถ้าผู้

738
00:49:06,501 --> 00:49:10,501
ดูแลระบบ ออกแบบไม่ดี มันก็จะไม่มีแจ้งเตือนว่า

739
00:49:10,503 --> 00:49:14,503
เลขบัตรประชาชนคุณน่ะ ไม่ครบ

740
00:49:14,507 --> 00:49:18,507
คนใช้งานก็จะเริ่มงงแล้วว่า

741
00:49:18,508 --> 00:49:22,508
ฉันผิดอะไรนะคะ มันตั้งแต่การออกแบบเลย

742
00:49:22,512 --> 00:49:26,512
เพราะฉะนั้น คนดูแลระบบก็ต้อง ป้องกันสิ่งที่

743
00:49:26,517 --> 00:49:30,517
การแจ้งเตือนว่าเราผิดพลาดตรงไหน ข้อมูลจะเป็นอะไร

744
00:49:30,521 --> 00:49:34,521
ได้บ้างนะคะ เหมือนการ

745
00:49:34,525 --> 00:49:38,525
เก็บข้อมูลรูปภาพ รูปภาพต้องขนาดเท่าไหร่

746
00:49:38,527 --> 00:49:42,527
ต้องเป็นภาพสีไหม หรือว่าต้องเป็นภาพขาวดำ

747
00:49:42,528 --> 00:49:46,528
เท่านั้น จะต้องอธิบายให้ชัดเจนนะคะ เพราะว่าถ้า

748
00:49:46,532 --> 00:49:50,532
มีการปรับปรุงข้อมูลทีหนึ่งนี่ บางทีผู้ใช้งานไม่เข้าใจ

749
00:49:50,538 --> 00:49:54,538
มันก็จะไม่สามารถบันทึกลงฐานข้อมูลได้นะคะ

750
00:49:54,541 --> 00:49:58,541
กับแบบจำลอง

751
00:49:58,542 --> 00:50:02,542
ข้อมูลเชิงวัตถุนะคะ ส่วนมากจะเป็นการ

752
00:50:02,546 --> 00:50:06,546
ออกแบบเพื่อเขียน

753
00:50:06,548 --> 00:50:10,548
แอปพลิเคชันนะคะ มองทุกอย่างให้เป็น

754
00:50:10,551 --> 00:50:14,551
วัตถุชนิดหนึ่งนะคะ มันก็จะมี

755
00:50:14,556 --> 00:50:18,556
การห่อหุ้มวัตถุนั้น ๆ ไว้ด้วย

756
00:50:18,557 --> 00:50:22,557
อะไรบ้าง นะคะ อันนี้ก็พอ

757
00:50:22,561 --> 00:50:26,561
เรียนปีสูงขึ้น ทุกคนก็จะได้เรียนการ

758
00:50:26,566 --> 00:50:30,566
ทำงานเชิงวัตถุมากขึ้นนะคะ อันนี้ปี 1 ก็

759
00:50:30,570 --> 00:50:34,570
ฐานข้อมูลเชิงสัมพันธ์นี้ก็เต็มที่แล้ว

760
00:50:34,574 --> 00:50:38,574
นะคะ อันนี้อาจารย์เอามาให้รู้จักเฉย ๆ

761
00:50:38,576 --> 00:50:42,576
เพราะว่าถ้าเป็นฐานข้อมูลหรือการเขียนโปรแกรม

762
00:50:42,581 --> 00:50:46,581
เชิงวัตถุใด ๆ ก็ตาม มันจะ

763
00:50:46,585 --> 00:50:50,585
ทำงานซับซ้อนได้ดีกว่า มันเหมาะกับการทำงาน

764
00:50:50,587 --> 00:50:54,587
เกี่ยวกับภาพกราฟิก การเก็บวีดิโอ เสียง

765
00:50:54,588 --> 00:50:58,588
อย่างเช่น เราเล่น Facebook มีหมดเลย ทั้งภาพ

766
00:50:58,605 --> 00:51:02,605
ทั้งวิดีโอ ทั้งเสียง ที่เราต้องเก็บข้อมูล

767
00:51:02,610 --> 00:51:06,610
แล้วก็สามารถเอาข้อมูลที่มีอยู่

768
00:51:06,612 --> 00:51:10,612
หรือนานมาแล้วนี่ เรียกกลับมาใช้ซ้ำได้

769
00:51:10,616 --> 00:51:14,616
ง่ายกว่ารูปแบบจัดการฐานข้อมูลชนิดอื่น ๆ

770
00:51:14,618 --> 00:51:18,618
แต่ข้อเสียของการทำงานเชิงวัตถุ

771
00:51:18,620 --> 00:51:22,620
ก็คือจะต้องมีความชำนาญมาก ๆ แล้วก็

772
00:51:22,623 --> 00:51:26,623
เข้าใจในการมองโปรแกรม หรือ

773
00:51:26,624 --> 00:51:30,624
มองข้อมูลนะคะ มองทุกอย่างให้เป็นวัตถุชนิดหนึ่ง

774
00:51:30,628 --> 00:51:34,628
อาจจะต้องใช้ประสบการณ์ในการจัดการกับข้อมูลที่

775
00:51:34,632 --> 00:51:38,632

776
00:51:38,635 --> 00:51:42,635

777
00:51:42,637 --> 00:51:46,637

778
00:51:46,640 --> 00:51:50,640

779
00:51:50,644 --> 00:51:54,644

780
00:53:26,716 --> 00:53:30,716
เคยเล่นรูบิกลักษณะหลาย ๆ มิติจะเป็นแบบนั้นเลย

781
00:53:30,719 --> 00:53:34,719
นะคะ เป็นก้อน ๆ นะคะ เช่น

782
00:53:34,720 --> 00:53:38,720
การเก็บข้อมูลส่วนมากจะเป็นเกี่ยวกับเชิงธุรกิจ

783
00:53:38,722 --> 00:53:42,722
มากกว่านะคะ อาจจะเป็นเกี่ยวกับการเก็บข้อมูล

784
00:53:42,726 --> 00:53:46,726
ผลิตภัณฑ์สินค้า อาจจะเป็นเกี่ยวกับขายที่ไหน

785
00:53:46,730 --> 00:53:50,730
ที่เท่าไหร่ มาประมวลผลเป็นตาราง เพราะว่า

786
00:53:50,734 --> 00:53:54,734
มันจะทับซ้อนกันไปอีกเยอะมาก ขายอะไร

787
00:53:54,739 --> 00:53:58,739
ขายที่ไหน ขายเมื่อไหร่ ใน

788
00:53:58,741 --> 00:54:02,741
สินค้าชนิดเดียวนะคะ

789
00:54:02,745 --> 00:54:06,745
เหมือนข้อมูลเวลาเราซื้อของ วันหมดอายุเท่าไร

790
00:54:06,750 --> 00:54:10,750
ส่วนประกอบอะไร หลาย ๆ ทุกอย่าง ข้อมูลทุกอย่างจะซ้อน

791
00:54:10,754 --> 00:54:14,754
กันเป็นมิติ เวลาเราดูขนมหนึ่งห่อ ส่วนประกอบคืออะไร

792
00:54:14,760 --> 00:54:18,760
นะคะ ผลิตที่ไหน ต้องบริโภค

793
00:54:18,761 --> 00:54:22,761
วันที่เท่าไร ใครเป็นคนผลิต ใครเป็นคนนำ

794
00:54:22,762 --> 00:54:26,762
มาซ้อนทับกันจะเป็นหลาย ๆ มิตินะคะ ลักษณะ

795
00:54:26,768 --> 00:54:30,768
คล้าย ๆ รูปทรงแบบนี้นะคะ แค่ของชิ้น

796
00:54:30,773 --> 00:54:34,773
เดียวเก็บข้อมูลเยอะมากนะคะ

797
00:54:34,777 --> 00:54:38,777
เป็นแบบนี้ จริง ๆ วันนี้ก็จะไม่มีอะไรมาก

798
00:54:38,779 --> 00:54:42,779
เพราะว่าเป็นแค่แนะนำ เพื่อปู

799
00:54:42,783 --> 00:54:46,783
ทางในการวาดภาพ แผนภาพ ER

800
00:54:46,787 --> 00:54:50,787
ของเราในบทต่อไปนะคะ วันนี้ก็มีการบ้าน

801
00:54:50,791 --> 00:54:54,791
เหมือนกันค่ะ 10 ข้อ เหมือนเดิมทำใส่

802
00:54:54,797 --> 00:54:58,797
กระดาษรายงาน ส่งนะคะ เนื้อหาที่

803
00:54:58,798 --> 00:55:02,798
จะตอบก็อยู่ใน สไลด์อาจารย์หมดแล้วนะคะ

804
00:55:02,803 --> 00:55:06,803
ก็ไม่น่าจะมีปัญหาอะไร

805
00:55:06,808 --> 00:55:10,808
มีอะไรสงสัยไหมคะ เดี๋ยว

806
00:55:10,808 --> 00:55:14,808
จะได้ปล่อยทำงาน

807
00:55:14,813 --> 00:55:18,813
ไม่มีอย่างนั้น เดี๋ยวจะให้นั่งทำงาน

808
00:55:18,815 --> 00:55:22,815
นะคะ ก็เนื้อหา

809
00:55:22,819 --> 00:55:26,819
ประมาณนี้ค่ะ ล่ามวันนี้เนื้อหาไม่เยอะ

810
00:55:26,823 --> 00:55:30,823
โอเค ขอบคุณค่ะ

811
00:55:30,828 --> 00:55:34,828

812
00:55:34,833 --> 00:55:38,833

813
00:55:38,835 --> 00:55:42,835

814
00:55:42,840 --> 00:55:46,840

815
00:55:46,848 --> 00:55:50,848

816
00:55:50,850 --> 00:55:54,850

817
00:55:54,856 --> 00:55:58,856

818
00:55:58,862 --> 00:56:02,862

819
00:56:02,865 --> 00:56:06,865

820
00:56:06,869 --> 00:56:10,869

821
00:56:10,873 --> 00:56:14,873

822
00:56:14,879 --> 00:56:18,879

823
00:56:18,882 --> 00:56:22,882

824
00:56:22,888 --> 00:56:26,888

825
00:56:26,893 --> 00:56:30,893

826
00:56:30,898 --> 00:56:34,898

827
00:56:34,902 --> 00:56:38,902

828
00:56:38,905 --> 00:56:42,905

829
00:56:42,910 --> 00:56:46,910

830
00:56:46,913 --> 00:56:50,913

831
00:56:50,920 --> 00:56:54,920

832
00:56:54,926 --> 00:56:58,926

833
00:57:02,933 --> 00:57:06,933

834
00:57:06,936 --> 00:57:10,936

835
00:57:10,942 --> 00:57:14,942

836
00:57:14,949 --> 00:57:18,949


