﻿1
00:00:04,007 --> 00:00:04,007

2
00:00:04,007 --> 00:00:04,007

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

4
00:00:08,019 --> 00:00:12,019
สถาปัตยกรรมของฐานข้อมูล แล้วก็

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

52
00:03:20,185 --> 00:03:24,185
อยากเล่น Facebookอยากเล่น

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

54
00:03:28,193 --> 00:03:32,193
หรือเปล่า มีเบอร์โทรศัพท์ไหม มีโปรไฟล์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

90
00:05:52,301 --> 00:05:56,301
Facebook ย้ายเครื่องคอมพิวเตอร์ในการ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

112
00:07:20,377 --> 00:07:24,377
ว่าได้ทำ Project เกี่ยวกับร้าน

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

169
00:11:08,560 --> 00:11:12,560
โดยระบบฐานข้อ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

251
00:16:36,815 --> 00:16:40,815
มา

252
00:16:40,819 --> 00:16:44,819
มาดูรานยละเอียด

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

298
00:19:44,957 --> 00:19:48,957
จากน้อยไปหามาก ก็ทำให้อาจารู้ว่า

299
00:19:48,961 --> 00:19:52,961
ใครมา ใครขาดนะคะ เพราะฉะนั้น

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

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

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

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

304
00:20:08,976 --> 00:20:12,976
หรือข้อสงสัยเกิดขึ้น เขา

305
00:20:12,977 --> 00:20:16,977
เลยตัดปัฐหาเรียงลำดับตามเลขที่สมัคร

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

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

308
00:20:24,987 --> 00:20:28,987
แล้วถ้ามีผู้ดูแลระบบข้อมูล เขาอยากดูแบไหน

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

310
00:20:32,996 --> 00:20:36,996
ภายใน

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

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

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

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

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

316
00:20:57,017 --> 00:21:01,017
ใด ๆ ก็ตาม ในระดับแนวคิดนะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

407
00:27:01,288 --> 00:27:05,288
เดี๋ยวนะ Mapping

408
00:27:05,290 --> 00:27:09,290
อันนี้พูดไปแล้ว ต่อมา แบบจำลอง

409
00:27:09,294 --> 00:27:13,294
ข้อมูลนะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

440
00:29:13,410 --> 00:29:17,410
มัธยมได้วาด Mindmap

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

461
00:30:37,481 --> 00:30:41,481
ล้วก็ยังจะเก็บอีก อันนี้ไม่ทำนะคะ จะต้องไม่

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

491
00:32:37,577 --> 00:32:41,577
diagram

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

519
00:34:29,675 --> 00:34:33,675
ของข้อมูลและเพื่อ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

551
00:36:37,768 --> 00:36:41,768
ไปชั้น 3

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

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

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

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

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

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

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

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

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

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

562
00:37:21,805 --> 00:37:25,805
ตรงนี้ เหมือนข้อมูล

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

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

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

566
00:37:37,817 --> 00:37:41,817
อาจารย์เข้ามาดูข้อมูลคนนี้โดยตรงไม่ได้

567
00:37:41,821 --> 00:37:45,821
อาจารย์จะต้องสั่งจากข้างบนลงมาตาม

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

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

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

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

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

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

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

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

576
00:38:17,855 --> 00:38:21,855
หาข้อมูลเร็วนะคะ ถามว่า

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

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

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

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

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

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

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

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

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

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

587
00:39:01,897 --> 00:39:05,897
จริง ๆ อยากพูดภาษาอังกฤษมากกว่าเป็นแบบ

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

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

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

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

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

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

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

595
00:39:33,928 --> 00:39:37,928
many to many

596
00:39:40,482 --> 00:39:39,960

597
00:39:37,931 --> 00:39:41,931
1 ต่อ หลายสิ่ง หรือหลายสิ่ง ต่อหลายสิ่ง

598
00:39:41,932 --> 00:39:45,932
อะไรพวกนี้ เดี๋ยวเราจะเรียนในบทถัด ๆ ไปนะคะ บางคนก็ว่ามันคืออะไร

599
00:39:45,935 --> 00:39:49,935
นะคะ เดี๋ยวจะอธิบายโดยละเอียดในบทถัด ๆ ไป

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

601
00:39:53,949 --> 00:39:57,949
นะคะ การปรับเปลี่ยนโครงสร้าง มีความยุ่งยาก

602
00:39:57,953 --> 00:40:01,953
เพราะทุกอย่างจะต้องเริ่มจากด้านบน ถ้าเปลี่ยน

603
00:40:01,957 --> 00:40:05,957
ตรงใดตรงหนึ่ง ต้องไล่ดูทั้งหมด เพราะมันอาจจะ

604
00:40:05,959 --> 00:40:09,959
กระทบกับอีกส่วนอื่นก็ได้นะคะ

605
00:40:09,963 --> 00:40:13,963
อย่างที่บอกค่ะ การค้นหาข้อมูลระดับล่าง ๆ

606
00:40:13,965 --> 00:40:17,965
จะต้องทำตั้งแต่บนลงล่างลงมา เข้าไปหาโดยตรง

607
00:40:17,969 --> 00:40:21,969
ไม่ได้นะคะ เสียเวลาแล้ว

608
00:40:21,973 --> 00:40:25,973
ก็ทำให้การเขียนโปรแกรมในอนาคต

609
00:40:25,975 --> 00:40:29,975
มันยาก เพราะว่าทุกอย่างจะต้อง

610
00:40:29,976 --> 00:40:33,976
วนกลับมาจุดเริ่มต้น เสียเวลามากนะคะ

611
00:40:33,981 --> 00:40:37,981
มันก็เลยมีการพัฒนาแบบจำลองข้อมูลแบบเครือข่าย

612
00:40:37,986 --> 00:40:41,986
ขึ้นมานะคะ โดยแบบจำลองข้อมูล

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

614
00:40:45,991 --> 00:40:49,991
Pointer ก็คือใช้ลูกศร

615
00:40:49,995 --> 00:40:53,995
นะคะ ใช้ลูกศร ก็จะมีการเชื่อมโยงความสัมพันธ์ของ

616
00:40:53,999 --> 00:40:57,999
ข้อมูลในแต่ละแถวเข้า

617
00:40:58,003 --> 00:41:02,003
ด้วยกันนะคะ ก็จะเป็น

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

649
00:43:06,102 --> 00:43:10,102
เช่นการซื้อฮาร์ดดิสเพิ่ม เพื่อเก็บข้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

665
00:44:10,161 --> 00:44:14,161
ได้รับความนิยมมากในปัจจุบัน

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

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

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

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

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

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

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

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

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

675
00:44:50,190 --> 00:44:54,190
ไม่ได้มีจุดสังเกตใด ๆ ให้รู้

676
00:44:54,195 --> 00:44:58,195
มันก็เลยมีการพัฒนาสิ่งที่เรียกว่า "Key" หรื

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

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

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

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

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

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

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

684
00:45:26,215 --> 00:45:30,215
นี้

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

686
00:45:34,220 --> 00:45:38,220
สมมติว่าเราเปิดร้านค้า มีตารางเกี่ยวกับ

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

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

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

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

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

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

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

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

695
00:46:10,251 --> 00:46:14,251
นะคะ รหัส

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

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

698
00:46:22,265 --> 00:46:26,265
สพนักงานเป็นคีย์หลัก

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

715
00:47:30,317 --> 00:47:34,317
ข้อดีของแบบจำลอง

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

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

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

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

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

721
00:47:54,340 --> 00:47:58,340
เพราะว่าผู้ใช้งานก็จะไม่รู้ว่าเรา

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

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

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

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

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

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

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

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

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

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

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

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

734
00:48:46,378 --> 00:48:50,378
ว่า สรุปว่าฉันต้องกรอกข้อมูลอะไร ทำไมข้อมูลมันไม่ผ่าน

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

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

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

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

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

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

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

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

743
00:49:22,413 --> 00:49:26,413
เพราะฉะนั้นคนดูแลระบบ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

775
00:51:30,536 --> 00:51:34,536
อาจจะต้องใช้ประสบการณ์ในการจัดการกับ

776
00:51:34,538 --> 00:51:38,538
ความซับซ้อนมาก ๆ

777
00:51:38,543 --> 00:51:42,543
พอเราอายุเท่านี้อาจจะมองไม่เห็นความซับซ้อนข้อมู

778
00:51:42,547 --> 00:51:46,547
แต่ถ้าไปทำงานจริง ๆ นี่ ถ้าคุณต้องดูแลระบบใหญ่ ๆ ก็ตามนี่

779
00:51:46,550 --> 00:51:50,550
ข้อมูลมันก็จะเริ่มซับซ้อนขึ้น เกิด

780
00:51:50,556 --> 00:51:54,556
ส่วนย่อย ๆ เกิดขึ้นมากมายนะคะ

781
00:51:54,560 --> 00:51:58,560
เพราะฉะนั้นถ้าเราจะเป็นคนที่ออกแบบข้อมูล

782
00:51:58,563 --> 00:52:02,563
เราจะต้องมองภาพโดยรวมทั้งหมด

783
00:52:02,567 --> 00:52:06,567
ให้ได้ นะคะ เหมือนที่อาจารย์ยกตัวอย่างตอนแรก

784
00:52:06,569 --> 00:52:10,569

785
00:52:10,573 --> 00:52:14,573

786
00:52:14,577 --> 00:52:18,577

787
00:52:18,581 --> 00:52:22,581

788
00:52:22,586 --> 00:52:26,586
เราจะยืมหนังสือห้องสมุดได้มันจะต้องเกี่ยวข้อง

789
00:52:26,588 --> 00:52:30,588
กับอะไรบ้าง เช่น เราเป็นสมาชิกห้องสมุดไหม

790
00:52:30,590 --> 00:52:34,590
นะคะ แล้วเราไปห้องสมุด เรา

791
00:52:34,595 --> 00:52:38,595
ยืมหนังสือ มันจะต้องมีข้อมูลหนังสือที่เราจะยืมไหม

792
00:52:38,598 --> 00:52:42,598
นะคะ ชื่อหนังสืออะไร

793
00:52:42,603 --> 00:52:46,603
หนังสือมีรหัสหนังสือหรือเปล่า ยืมได้กี่วั

794
00:52:46,604 --> 00:52:50,604
นนะคะ ใครเป็นคน

795
00:52:50,606 --> 00:52:54,606
แต่งหนังสือเล่มนั้น นี่ การยืมหนังสือเล่มเดียว

796
00:52:54,607 --> 00:52:58,607
ข้อมูลที่เกิดขึ้นก็มีเยอะแล้ว ใครเป็นคนยืม ใครเป็นคนแต่ง

797
00:52:58,610 --> 00:53:02,610
ยืมได้กี่วัน หนังสือชื่ออะไร เลขหนังสืออะไร

798
00:53:02,612 --> 00:53:06,612
นักศึกษาคนไหนเป็นคนยืม อันนี้ก็

799
00:53:06,614 --> 00:53:10,614
แค่ยืมหนังสือเฉย ๆ ใน

800
00:53:10,615 --> 00:53:14,615
ข้อสอบหรือในชีวิตจริง พวกคุณจะต้องเจออะไร

801
00:53:14,619 --> 00:53:18,619
ที่เยอะกว่านี้อีกเยอะนะคะ

802
00:53:18,623 --> 00:53:22,623
กับอีกอันหนึ่งนะคะ เป็นแบบจำลองฐานข้อมูล

803
00:53:22,624 --> 00:53:26,624
แบบหลายมิตินะคะ ใคร

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

825
00:54:50,697 --> 00:54:54,697
เหมือนกันค่ะ 10 ข้อ เหมือนเดิมทำใส่

826
00:54:54,703 --> 00:54:58,703
กระดาษรายงาน ส่งนะคะ เนื้อหาที่

827
00:54:58,707 --> 00:55:02,707
จะตอบก็อยู่ใน สไลด์อาจารย์หมดแล้วนะคะ

828
00:55:02,709 --> 00:55:06,709
ก็ไม่น่าจะมีปัญหาอะไร

829
00:55:06,712 --> 00:55:10,712
มีอะไรสงสัยไหมคะ เดี๋ยว

830
00:55:10,713 --> 00:55:14,713
จะได้ปล่อยทำงาน

831
00:55:14,714 --> 00:55:18,714
ไม่มีอย่างนั้นเดี๋ยวจะให้นั่งทำงาน

832
00:55:18,719 --> 00:55:22,719
นะคะ ก็เนื้อหา

833
00:55:22,722 --> 00:55:26,722
ประมาณนี้ค่ะ ล่ามวันนี้เนื้อหาไม่เยอะ

834
00:55:26,725 --> 00:55:30,725
โอเค ขอบคุณค่ะ

835
00:55:34,820 --> 00:56:00,730
[สิ้นสุดการถอดความ]

836
00:55:30,729 --> 00:55:34,729

837
00:55:34,734 --> 00:55:38,734

838
00:55:38,738 --> 00:55:42,738

839
00:55:42,743 --> 00:55:46,743

840
00:55:46,749 --> 00:55:50,749

841
00:55:50,753 --> 00:55:54,753

842
00:55:54,757 --> 00:55:58,757

843
00:55:58,766 --> 00:56:02,766

844
00:56:02,769 --> 00:56:06,769


