﻿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,032 --> 00:00:12,032
สถาปัตยกรรมฐานของข้อมูล แล้วก็

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26
00:01:36,116 --> 00:01:40,116
นะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

107
00:07:00,403 --> 00:07:04,403
นะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

211
00:13:56,765 --> 00:14:00,765
อันนี้ก็มันจะมีกฎหมาย เวลาเราจะ

212
00:14:00,770 --> 00:14:04,770
ดูข้อมูลใคร หรือโพสต์รูใคร

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

276
00:18:16,999 --> 00:18:20,999
ฮ นกฮูก หรือว่าเรียง

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

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

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

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

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

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

283
00:18:45,021 --> 00:18:49,021
ว่าข้อมูลที่เก็บอยู่ใน Hard disk

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

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

286
00:18:57,030 --> 00:19:01,030
ว่าง แต่มันจะใช้เลขแทนตำแหน่ง

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

329
00:21:52,305 --> 00:22:02,969

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

434
00:28:45,482 --> 00:28:49,482
นะคะ ก็คือ Entity นั่นล่ะ นะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

464
00:30:45,593 --> 00:30:49,593
ง่ายในอนาไขในอนาคตนะคะ

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

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

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

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

469
00:31:05,607 --> 00:31:09,607
ที่สามารถทำร่วมกับโปรแกรมใดนะคะ เพราะไม่อย่างนั้นมก็ได้

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

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

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

473
00:31:21,613 --> 00:31:25,613

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

492
00:32:37,683 --> 00:32:41,683
Diagram

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

513
00:34:01,746 --> 00:34:05,746
Social me ก

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

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

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

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

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

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

520
00:34:29,762 --> 00:34:33,762
ความถูกต้องข้อมูลและเพื่อ

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

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

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

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

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

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

527
00:34:57,786 --> 00:35:01,786

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

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

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

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

532
00:35:17,804 --> 00:35:21,804
5 รูปแบบ เพื่อให้เรา

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

561
00:37:13,894 --> 00:37:17,894

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

584
00:38:45,964 --> 00:38:49,964
นะคะ

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

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

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

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

589
00:39:05,985 --> 00:39:09,985
one to many พ่อ มีลูกได้หลายคนประมาณนี้

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

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

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

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

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

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

596
00:39:34,001 --> 00:39:38,001
Many

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

801
00:53:14,686 --> 00:53:18,686
ที่เยอะกว่านี้อีกเยอะนะคะ

802
00:53:18,690 --> 00:53:22,690
กับอีกอันหนึ่งนะคะ เป็นแบบจำลองฐานข้อมูล

803
00:53:22,694 --> 00:53:26,694
แบบหลายมิตินะคะ ใคร

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

825
00:54:50,769 --> 00:54:54,769
เหมือนกันค่ะ 10 ข้อ เหมือนเดิมทำใส่

826
00:54:54,771 --> 00:54:58,771
กระดาษรายงาน ส่งนะคะ เนื้อหาที่

827
00:54:58,773 --> 00:55:02,773
จะตอบก็อยู่ใน สไลด์อาจารย์หมดแล้วนะคะ

828
00:55:02,779 --> 00:55:06,779
ก็ไม่น่าจะมีปัญหาอะไร

829
00:55:06,781 --> 00:55:10,781
มีอะไรสงสัยไหมคะ เดี๋ยว

830
00:55:10,784 --> 00:55:14,784
จะได้ปล่อยทำงาน

831
00:55:14,786 --> 00:55:18,786
ไม่มีอย่างนั้นเดี๋ยวจะให้นั่งทำงาน

832
00:55:18,788 --> 00:55:22,788
นะคะ ก็เนื้อหา

833
00:55:22,792 --> 00:55:26,792
ประมาณนี้ค่ะ ล่ามวันนี้เนื้อหาไม่เยอะ

834
00:55:26,796 --> 00:55:30,796
โอเค ขอบคุณค่ะ

835
00:55:30,800 --> 00:55:34,800

836
00:55:34,801 --> 00:55:38,801

837
00:55:38,803 --> 00:55:42,803

838
00:55:42,808 --> 00:55:46,808

839
00:55:46,816 --> 00:55:50,816

840
00:55:50,820 --> 00:55:54,820

841
00:55:54,824 --> 00:55:58,824

842
00:55:58,830 --> 00:56:02,830

843
00:56:02,835 --> 00:56:06,835

844
00:56:06,837 --> 00:56:10,837

845
00:56:10,842 --> 00:56:14,842

846
00:56:14,845 --> 00:56:18,845

847
00:56:18,847 --> 00:56:22,847

848
00:56:22,853 --> 00:56:26,853

849
00:56:26,856 --> 00:56:30,856

850
00:56:30,859 --> 00:56:34,859

851
00:56:34,860 --> 00:56:38,860

852
00:56:38,865 --> 00:56:42,865

853
00:56:42,868 --> 00:56:46,868

854
00:56:46,873 --> 00:56:50,873

855
00:56:50,878 --> 00:56:54,878

856
00:56:54,881 --> 00:56:58,881

857
00:57:02,892 --> 00:57:06,892

858
00:57:06,895 --> 00:57:10,895

859
00:57:10,903 --> 00:57:14,903

860
00:57:14,908 --> 00:57:18,908


