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

2
00:00:03,987 --> 00:00:03,987

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

40
00:02:32,113 --> 00:02:36,113
ความมีอิสระของข้อมูลคืออะไร

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

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

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

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

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

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

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

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

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

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

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

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

53
00:03:24,156 --> 00:03:28,156
Instagram

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

92
00:06:00,281 --> 00:06:04,281
ย้ายจากเครื่องหนึ่งไปอีเครื่องหนึ่ง ถามว่าเราใช้เฟซบุ๊กได้เ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

169
00:11:08,534 --> 00:11:12,534
โดยระบบฐา

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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,983 --> 00:20:24,983
ประกาศผลได้ก็ง่ายนะคะ แต่ก็

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

356
00:23:37,145 --> 00:23:41,145
ใน 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,158 --> 00:24:01,158
หรือผู้ใช้งานคนที่ B อาจจะขอดู

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

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

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

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

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

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

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

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

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

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

372
00:24:41,197 --> 00:24:45,197
ระดับภายนอก แล้วก็แนวคิด สถาปัตยกรรมทั้ง 3 ระดับนะคะ

373
00:24:45,201 --> 00:24:49,201
แน่นอนมุมมองของผู้ใช้งานแต่ละคน

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

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

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

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

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

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

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

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

382
00:25:21,223 --> 00:25:25,223
Hard disk ไม่จำเป็นต้องรู้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

440
00:29:13,426 --> 00:29:17,426
มัธยมได้วาด Mind map

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

478
00:31:48,958 --> 00:31:45,534

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

480
00:31:49,568 --> 00:31:53,568
นะคะ

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

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

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

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

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

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

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

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

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

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

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

492
00:32:37,616 --> 00:32:41,616
diagram

493
00:32:43,918 --> 00:32:41,737

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

514
00:34:01,688 --> 00:34:05,688
Social media

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

530
00:35:05,744 --> 00:35:09,744
เลือกใช้แบบจำลองฐานข้อมูลนี่ มันก็จะเป็นสิ่งสำคัญมาก ๆ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

545
00:36:05,800 --> 00:36:09,800
ข้อมูลค่อนข้างมี

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

585
00:38:45,935 --> 00:38:49,935
นะคะ

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

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

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

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

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

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

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

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

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

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

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

597
00:39:33,974 --> 00:39:37,974
One to many many to many

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

627
00:41:37,233 --> 00:41:34,137

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

668
00:44:16,054 --> 00:44:13,352

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

687
00:45:26,255 --> 00:45:30,255
นี้

688
00:45:31,380 --> 00:45:28,626

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

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

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

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

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

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

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

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

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

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

699
00:46:10,295 --> 00:46:14,295
นะคะ รหัส

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

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

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

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

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

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

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

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

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

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

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

711
00:47:00,406 --> 00:47:02,110

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

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

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

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

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

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

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

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

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

721
00:47:34,356 --> 00:47:38,356
เชิงสัมพันธ์ที่เป็นตารางอ่านง่ายเข้าใจง่ายเพราะนำ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

741
00:48:56,975 --> 00:48:54,114

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

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

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

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

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

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

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

749
00:49:25,453 --> 00:49:23,051

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

782
00:51:33,415 --> 00:51:30,101

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

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

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

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

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

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

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

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

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

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

793
00:52:10,606 --> 00:52:14,606
มีให้วาดรูป อาจาร

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

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

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

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

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

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

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

801
00:52:45,754 --> 00:52:42,562

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

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

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

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

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

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

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

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

810
00:53:14,665 --> 00:53:18,665
ที่เยอะกว่านี้อีกเยอะนะคะ

811
00:53:18,669 --> 00:53:22,669
กับอีกอันหนึ่งนะคะ เป็นแบบจำลองฐานข้อมูล

812
00:53:22,670 --> 00:53:26,670
แบบหลายมิตินะคะ ใคร

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

834
00:54:50,746 --> 00:54:54,746
เหมือนกันค่ะ 10 ข้อ เหมือนเดิมทำใส่

835
00:54:54,749 --> 00:54:58,749
กระดาษรายงานส่งนะคะ เนื้อหาที่

836
00:54:58,753 --> 00:55:02,753
จะตอบก็อยู่ใน สไลด์อาจารย์หมดแล้วนะคะ

837
00:55:02,756 --> 00:55:06,756
ก็ไม่น่าจะมีปัญหาอะไร

838
00:55:06,758 --> 00:55:10,758
มีอะไรสงสัยไหมคะ เดี๋ยว

839
00:55:10,762 --> 00:55:14,762
จะได้ปล่อยทำงาน

840
00:55:14,764 --> 00:55:18,764
ไม่มีอย่างนั้นเดี๋ยวจะให้นั่งทำงาน

841
00:55:18,768 --> 00:55:22,768
นะคะ ก็เนื้อหา

842
00:55:22,769 --> 00:55:26,769
ประมาณนี้ค่ะ ล่ามวันนี้เนื้อหาไม่เยอะ

843
00:55:26,774 --> 00:55:30,774
โอเค ขอบคุณค่ะ

844
00:55:30,778 --> 00:55:34,778

845
00:55:34,782 --> 00:55:38,782

846
00:55:38,786 --> 00:55:42,786

847
00:55:42,789 --> 00:55:46,789

848
00:55:46,796 --> 00:55:50,796


