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

2
00:00:04,020 --> 00:00:04,020

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

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

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

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

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

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

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

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

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

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

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

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

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

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,079 --> 00:01:12,079
ข้อตกลง รวมถึงขอบเขต หรืออาจจะเป็นกรอบ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

70
00:04:32,227 --> 00:04:36,227
TiKTok เขาก็ยังใช้งานปกติได้ ถึงแม้คุณจะบอกว่า จะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

94
00:06:08,294 --> 00:06:12,294
โครงสร้างของข้อมูลระดับภายใน ก็คือผู้ให้

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

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

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

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

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

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

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

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

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

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

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

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

107
00:07:03,232 --> 00:06:59,800

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

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

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

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

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

113
00:07:20,348 --> 00:07:24,348
ว่าได้ทำโปรเจกต์เกี่ยวกับร้าน

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

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

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

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

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

119
00:07:44,369 --> 00:07:48,369
เรียกว่า View นะคะ หรือจะเรียกว่ามุมมองของผู้ใช้งานแต่ละคน

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

157
00:10:16,496 --> 00:10:20,496
มันก็จะมีการศึกษาทั้งโครงสร้างองค์ประกอบหฃลักนะคะ

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

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

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

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

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

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

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

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

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

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

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

169
00:11:04,540 --> 00:11:08,540
ได้นะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

189
00:12:24,605 --> 00:12:28,605

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

191
00:12:32,612 --> 00:12:36,612
นะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

205
00:13:28,654 --> 00:13:32,654
อาจจะค้นหาคำอธิบายรายวิชา ถามว่าเขาใช้โปรแกรมเดียวกันไหม ระบบ

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

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

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

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

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

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

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

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

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

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

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

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

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

219
00:14:24,706 --> 00:14:28,706
เรียกเข้าเรียกข้อมูลอะไรเข้าไปดู เป็นตัวดการ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

238
00:15:40,773 --> 00:15:44,773
จัดการฐานข้อมูลเท่านั้นนะคะ Admin นะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

252
00:16:36,819 --> 00:16:40,819

253
00:16:40,823 --> 00:16:44,823
มาดูรานยละเอียดเพิ่มเติมนะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

277
00:18:16,911 --> 00:18:20,911
ฮ นกฮูก ใช่ไหมคะ แล้วแต่เราจะทำข้อตกลง

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

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

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

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

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

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

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

285
00:18:48,938 --> 00:18:52,938
ฮาร์ดดิสก์ มันไม่เรียง 1 2 3 4 5 ให้เรานะคะ มันจะเรียง

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

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

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

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

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

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

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

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

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

295
00:19:28,976 --> 00:19:32,976
ได้เร็วขึ้นว่ารหัสคนไหนหายไป หรือว่าอาจารย์ ห้องนี้

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

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

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

299
00:19:44,986 --> 00:19:48,986
จากน้อยไปหามาก จะทำให้อาจารย์เช็กได้ง่ายขึ้น รู้ว่า

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

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

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

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

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

305
00:20:09,005 --> 00:20:13,005
หรือข้อสงสัยเกิดขึ้น เขาก

306
00:20:13,006 --> 00:20:17,006
็เลยตัดปัญหา เรียงลำดับตามเลขที่สมัคร

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

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

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

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

311
00:20:33,025 --> 00:20:37,025
ภายใน

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

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

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

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

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

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

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

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

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

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

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

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

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

325
00:21:29,072 --> 00:21:33,072
มี Entity ของอาจารย์

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

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

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

329
00:21:45,086 --> 00:21:49,086
ไปด้วย

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

357
00:23:37,177 --> 00:23:41,177
ใน 1 ในฐานข้อมูล 1 ฐานข้อมูลนี่

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

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

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

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

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

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

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

365
00:24:09,203 --> 00:24:13,203
นะคะ คนที่ C

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

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

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

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

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

371
00:24:33,223 --> 00:24:37,223

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

373
00:24:41,228 --> 00:24:45,228

374
00:24:45,232 --> 00:24:49,232
ระดับภายนอก แล้วก็แนวคิด แน่นอน มุมมองของผู้ใช้งานแต่ละคน

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

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

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

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

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

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

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

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

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

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

385
00:25:29,257 --> 00:25:33,257
โดยบที่แอดมินนี่ จะเป็นดูแลเองว่า

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

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

388
00:25:41,268 --> 00:25:45,268
นะคะ

389
00:25:45,269 --> 00:25:49,269
ประโยชน์ข้อต่อมา ก็คืออิสระของข้อมูล อย่างที่บอก

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

405
00:26:49,320 --> 00:26:53,320

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

432
00:28:39,701 --> 00:28:37,650

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

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

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

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

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

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

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

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

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

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

443
00:29:17,457 --> 00:29:21,457
วานแผนภาพ การวาดในฐานข้อมูลก็จะไม่ต่างกันค่ะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

473
00:31:17,556 --> 00:31:21,556
ันนี้เรายอมรับไม่ได้นะคะ

474
00:31:21,560 --> 00:31:25,560

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

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

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

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

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

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

481
00:31:49,582 --> 00:31:53,582
นะคะ

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

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

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

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

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

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

488
00:32:17,603 --> 00:32:21,603
ที่ชื่อว่า ชื่อ-นามสกุล วัตถุที่

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

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

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

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

493
00:32:37,621 --> 00:32:41,621
diagram

494
00:32:41,625 --> 00:32:45,625
" ER Diagram นะ อันนี้คือทุกคนต้อง

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

511
00:33:49,688 --> 00:33:53,688
การทำงานต่าง ๆ ตั้งแต่การปรับปรุงข้อมูล

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

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

514
00:34:01,701 --> 00:34:05,701
Socail media

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

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

517
00:34:13,708 --> 00:34:17,708
นิยมใช้ชุดคำสั่งของภาษา SQL

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

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

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

521
00:34:29,721 --> 00:34:33,721
ถูกต้องของข้อมูล และเพื่อ

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

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

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

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

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

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

528
00:34:57,741 --> 00:35:01,741

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

544
00:36:01,792 --> 00:36:05,792
นะคะ ความถูกต้องในการ

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

546
00:36:09,800 --> 00:36:13,800
สูง ความคงสภาพการเปลี่ยนแปลงข้อมูลน้อยมาก แต่ปัจจุบันง

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

562
00:37:13,855 --> 00:37:17,855

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

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

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

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

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

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

569
00:37:41,878 --> 00:37:45,878
อาจารย์จะต้องสั่งจากด้านบน ค่อย ๆ ลงมาตาม

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

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

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

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

574
00:38:04,362 --> 00:38:04,579
ก็คือ

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

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

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

578
00:38:13,912 --> 00:38:17,912
ปัจจุบัน คอมพิวเตอร์ทำไมทุกคนอยากได้คอมพิวเตอร์ที่เร็ว คิดเร็ว

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

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

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

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

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

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

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

586
00:38:45,942 --> 00:38:49,942
นะคะ

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

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

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

590
00:39:01,957 --> 00:39:05,957
จริง ๆ อยากพูดภาษาอังกฤษมากกว่า เป็นความสัมพันธ์แบบ One to Many แบบ

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

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

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

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

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

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

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

598
00:39:33,983 --> 00:39:37,983
many to many

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

641
00:42:26,137 --> 00:42:30,137
ของข้อมูลมีน้อยนะคะ แล้วก็

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

679
00:44:58,256 --> 00:45:02,256
ขึ้นมานะคะ โดยกุญแจ

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

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

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

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

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

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

686
00:45:26,285 --> 00:45:30,285
นี้

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

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

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

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

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

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

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

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

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

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

697
00:46:10,321 --> 00:46:14,321
นะคะ รหัส

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

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

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

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

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

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

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

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

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

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

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

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

710
00:47:02,362 --> 00:47:06,362
เลยค่ะ พนักงานคนที่ 1 ถ้าอาจารย์

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

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

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

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

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

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

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

718
00:47:34,389 --> 00:47:38,389
เชิงสัมพันธ์แบบตาราง อ่านง่าย เข้าใจง่าย เพราะนำ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

746
00:49:26,485 --> 00:49:30,485
ต้อบป้องกันสิ่งที่จะเกิดขึ้น มีการแจ้งเตือนว่าเราผิดพลาดตรงไหน ข้อมูลจะเป็นอะไร

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

774
00:51:21,106 --> 00:51:20,484

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

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

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

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

779
00:51:34,609 --> 00:51:38,609
ข้อมูลที่มีความซับซ้อนมาก ๆ

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

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

782
00:51:46,618 --> 00:51:50,618
ข้อมูลมันก็จะเริ่มซับซ้อนขึ้น มีส่วนย่อย ๆ

783
00:51:50,624 --> 00:51:54,624
เกิดขึ้นมากมายนะคะ

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

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

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

787
00:52:06,636 --> 00:52:10,636
ครั้งหน้า ๆ ถ้า

788
00:52:10,641 --> 00:52:14,641
มีให้วาดรูป อาจารย์

789
00:52:14,644 --> 00:52:18,644
ก็จะเริ่มถามแล้วว่าเคยไปห้องสมุดไหม

790
00:52:18,647 --> 00:52:22,647
นะคะ เคยยืมหนังสือหรือเปล่า การที่

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

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

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

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

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

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

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

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

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

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

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

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

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

804
00:53:14,700 --> 00:53:18,700
ที่เยอะกว่านี้อีกเยอะนะคะ

805
00:53:18,705 --> 00:53:22,705
กับอีกอันหนึ่งนะคะ เป็นแบบจำลองฐานข้อมูล

806
00:53:22,709 --> 00:53:26,709
แบบหลายมิตินะคะ ใคร

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

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

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

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

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

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

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

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

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

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

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

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

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

820
00:54:18,748 --> 00:54:22,748
วันที่เท่าไหร่ ใครเป็นคนผลิต ใครเป็นคนนำเจช

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

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

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

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

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

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

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

828
00:54:50,776 --> 00:54:54,776
เหมือนกันค่ะ 10 ข้อ เหมือนเดิมทำใส่

829
00:54:54,780 --> 00:54:58,780
กระดาษรายงาน ส่งนะคะ เนื้อหาที่

830
00:54:58,782 --> 00:55:02,782
จะตอบก็อยู่ใน สไลด์อาจารย์หมดแล้วนะคะ

831
00:55:02,787 --> 00:55:06,787
ก็ไม่น่าจะมีปัญหาอะไร

832
00:55:06,793 --> 00:55:10,793
มีอะไรสงสัยไหมคะ เดี๋ยว

833
00:55:10,796 --> 00:55:14,796
จะได้ปล่อยทำงาน

834
00:55:14,799 --> 00:55:18,799
ไม่มีอย่างนั้นเดี๋ยวจะให้นั่งทำงาน

835
00:55:18,801 --> 00:55:22,801
นะคะ ก็เนื้อหา

836
00:55:22,805 --> 00:55:26,805
ประมาณนี้ค่ะ ล่ามวันนี้เนื้อหาไม่เยอะ

837
00:55:26,809 --> 00:55:30,809
โอเค ขอบคุณค่ะ

838
00:55:30,812 --> 00:55:34,812

839
00:55:34,815 --> 00:55:38,815

840
00:55:38,819 --> 00:55:42,819

841
00:55:42,824 --> 00:55:46,824

842
00:55:46,832 --> 00:55:50,832

843
00:55:50,836 --> 00:55:54,836


