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

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

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

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

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

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

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

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

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

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

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

12
00:00:44,023 --> 00:00:48,023
เนื้อหาความสำคัญ

13
00:00:48,025 --> 00:00:52,025
ของชุดข้อมูลนั้น ๆ อยู่นะคะ

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

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

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

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

18
00:01:08,031 --> 00:01:12,031
ความคิดนะคะ ใในการบรรยายวว่า

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

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

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

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

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

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

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

26
00:01:40,039 --> 00:01:44,039
กับภาษาที่ใช้ในการัดการ

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

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

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

30
00:01:56,043 --> 00:02:00,043
ภาษาทางวิชาการเรียกว่ากรอบ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

45
00:02:56,057 --> 00:03:00,057
นะคะ โปรแกรมก็อยู่ส่วนของโปรแกรม ข้อมูลก็จะอยู่ของข้อมูล

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

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

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

49
00:03:12,063 --> 00:03:16,063
เหมือนเวลาคุณอยากเล่น TikTok

50
00:03:16,063 --> 00:03:20,063
อยากเล่นเฟซกุ๊กอยากเล่น

51
00:03:20,064 --> 00:03:24,064
Instargram

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

53
00:03:28,068 --> 00:03:32,068
อันนี้คือข้อมูลระดับ

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

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

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

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

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

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

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

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

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

63
00:04:08,078 --> 00:04:12,078
โดยที่เพราะฉะนั้นนี่

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

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

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

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

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

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

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

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

72
00:04:44,087 --> 00:04:48,087

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

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

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

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

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

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

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

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

81
00:05:20,097 --> 00:05:24,097
ไม่ได้บอกให้

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

83
00:05:28,098 --> 00:05:32,098
ไม่ใช่นะคะ อันนี้ก็คือ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

98
00:06:28,116 --> 00:06:32,116
อันนี้คือตัวอย่างคร่าว ๆ

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

100
00:06:36,117 --> 00:06:40,117
ต่อมา ภาษาหลักของระบบ

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

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

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

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

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

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

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

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

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

110
00:07:16,127 --> 00:07:20,127
ว่าได้ทำโปรเจกตืเกี่ยวกับร้าน

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

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

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

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

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

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

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

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

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

120
00:07:56,139 --> 00:08:00,139
คนเดียว หรือรูปนี้จะเพื่อนดูได้

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

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

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

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

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

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

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

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

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

130
00:08:36,153 --> 00:08:40,153
การลบการแก้ไข ในฐานข้อมูล

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

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

133
00:08:48,156 --> 00:08:52,156
ได้ แต่เพิ่มไม่ได้บางคนเพิ่ม

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

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

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

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

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

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

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

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

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

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

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

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

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

147
00:09:44,174 --> 00:09:48,174
จองตั๋วคอนเสิร์ต

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

149
00:09:52,176 --> 00:09:56,176
เราจะมีการจัดการคน  50,000 คน

150
00:09:56,177 --> 00:10:00,177
อย่างไรนะคะ ให้สามารถ

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

152
00:10:04,179 --> 00:10:08,179
ทั้งหมดนะคะ

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

154
00:10:12,181 --> 00:10:16,181
โครงสร้างองค์ประกอบหฃลักนะคะ

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

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

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

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

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

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

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

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

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

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

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

166
00:11:00,192 --> 00:11:04,192
ได้นะคะ

167
00:11:04,193 --> 00:11:08,193
โดยระบบฐานข้อ

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

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

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

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

172
00:11:24,198 --> 00:11:28,198
นะคะ โดยที่

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

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

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

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

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

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

179
00:11:52,205 --> 00:11:56,205
ไว้ได้ แต่ว่าให้แสดงออกมาได้ไหม แสดงได้ แต่ User

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

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

182
00:12:04,208 --> 00:12:08,208
นี่ เหมือนเวลาเราใช้ Google Vhotm

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

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

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

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

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

188
00:12:28,213 --> 00:12:32,213
นะคะ

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

190
00:12:36,215 --> 00:12:40,215
นะคะ เหมือนที่พูดไปตอนต้น มีร

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

192
00:12:44,217 --> 00:12:48,217
เป็นแผนภาพแบบนี้นะคะ

193
00:12:48,219 --> 00:12:52,219
ให้... อันนี้ระดับ

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

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

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

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

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

199
00:13:12,227 --> 00:13:16,227
เข้าไปใช้ระบบทะเบียน

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

201
00:13:20,230 --> 00:13:24,230
ใบลงทะเบียน คนที่ 3

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

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

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

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

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

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

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

209
00:13:52,241 --> 00:13:56,241
อันนี้ก็มันจะมีกฎหมายอยู่

210
00:13:56,243 --> 00:14:00,243
จะดูข้อมูลใคร หรือโพสต์รูแแใคร

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

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

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

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

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

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

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

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

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

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

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

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

223
00:14:48,257 --> 00:14:52,257
นะคะ เหตุผลที่ว่า

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

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

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

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

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

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

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

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

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

233
00:15:28,270 --> 00:15:32,270
พิมพ์หรือเรียกใช้

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

235
00:15:36,271 --> 00:15:40,271
เท่านั้นนะคะ Admin นะคะ

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

237
00:15:44,274 --> 00:15:48,274
ตัวย่อก็คือ DBA

238
00:15:48,275 --> 00:15:52,275
โครงสร้างของฐานข้อมูลได้

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

240
00:15:56,278 --> 00:16:00,278
ไม่สร้างผลกระทบให้กับผู้ใช้งาน คือคุณ

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

242
00:16:04,280 --> 00:16:08,280
ผุ้ใช้งานก็ยังฝใช้งานได้ปกติ

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

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

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

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

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

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

249
00:16:32,290 --> 00:16:36,290
มา

250
00:16:36,291 --> 00:16:40,291
มาดูรานยละเอียดนะัต

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

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

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

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

255
00:16:56,300 --> 00:17:00,300
นะคะ ในระดับภายในนี่มันก็จะเป็นการ

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

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

258
00:17:08,303 --> 00:17:12,303
ส่วนมากข้อมูล ในฐานข้อมูลนี่

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

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

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

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

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

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

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

266
00:17:40,311 --> 00:17:44,311
เอา 207 ขึ้นก่อน

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

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

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

270
00:17:56,316 --> 00:18:00,316
ในห้องนี้อย่างไร อย่างเช่น

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

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

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

274
00:18:12,323 --> 00:18:16,323
ฮ.นกฮูก หรือว่าเรียง

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

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

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

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

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

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

281
00:18:40,330 --> 00:18:44,330
ว่าข้อมูลที่เก็บอยู่ใน Hard disk

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

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

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

285
00:18:56,336 --> 00:19:00,336
อย่างเช่น สินสมุทร

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

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

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

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

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

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

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

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

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

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

296
00:19:40,349 --> 00:19:44,349
จากน้อยไปหามาก จะทำให้รู้ว่า

297
00:19:44,351 --> 00:19:48,351
ใครมา ใครขาดนะคะ เพราะฉะนั้น

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

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

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

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

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

303
00:20:08,356 --> 00:20:12,356
เรียงลำดับตามเลขที่สมัคร

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

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

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

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

308
00:20:28,363 --> 00:20:32,363
ภายใน

309
00:20:32,364 --> 00:20:36,364
ต่อมาระดับแนวคิดก็จะเป็น

310
00:20:36,365 --> 00:20:40,365
โครงสร้าง ของฐานข้อมูลโดยรวม

311
00:20:40,366 --> 00:20:44,366
เราจะเก็บข้อมูลอะไรในฐานข้อมูลของเรา แต่ละข้อมูล

312
00:20:44,367 --> 00:20:48,367
มีส่วนอะไรที่ มีความสัมพันธ์เกี่ยวข้องกันบ้าง

313
00:20:48,368 --> 00:20:52,368
โดยการกระทำ

314
00:20:52,369 --> 00:20:56,369
ใด ๆ ก้ตาม ในระดับแนวคิดนะคะ ก็

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

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

317
00:21:04,372 --> 00:21:08,372
นะคะ อย่างเช่น

318
00:21:08,373 --> 00:21:12,373
จำนวน Antity ก็คือ

319
00:21:12,374 --> 00:21:16,374
ส่วนของคอลัมน์นะคะ

320
00:21:16,376 --> 00:21:20,376
อย่างเช่นนักศึกษา 1 คนจะมี Entity

321
00:21:20,377 --> 00:21:24,377
กี่ Entity ที่เข้ามาเกี่ยวข้องนะคะ ก็จะ

322
00:21:24,379 --> 00:21:28,379
มี Antity ของอาจารย์

323
00:21:28,379 --> 00:21:32,379
นะคะ เป็นคอลัมน์อาจารย์... ไม่ใช่สิ เป็นตารางของอาจารย์

324
00:21:32,380 --> 00:21:36,380
ตารางนักศึกษา ตารางรายวิชา

325
00:21:36,381 --> 00:21:40,381
มาเกี่ยวข้องกัน ใน 1 ตาราง จะประกอบ

326
00:21:40,382 --> 00:21:44,382
ไปด้วย

327
00:21:44,386 --> 00:21:48,386
นักศึกษา 1 คนจะมีกี่ Attribute

328
00:21:48,387 --> 00:21:52,387
อาจารย์ดูง่าย ๆ เลย

329
00:21:52,388 --> 00:21:56,388
สมมติว่าจะมี 3 คอลัมน์ 3 Attribute

330
00:21:56,389 --> 00:22:00,389
คอลัมปืที่ 1 รหัสนักศึกษา

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

332
00:22:04,391 --> 00:22:08,391
หรือเบอร์โทรศัพท์ หรือชื่อเล่นก็ได้

333
00:22:08,392 --> 00:22:12,392
โดยแต่ละตารางหรือแต่ละ Entity จะ

334
00:22:12,393 --> 00:22:16,393
มีความสัมพันธ์ระหว่างกัน หีือว่า

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

336
00:22:20,396 --> 00:22:24,396
เช่น อาจารย์สอนวิชานี้ ในใบลงทะเบียนเรียน

337
00:22:24,397 --> 00:22:28,397
ของทุกคนมีไหม มี แล้ว

338
00:22:28,398 --> 00:22:32,398
ลงทะเบียนวิชานี้มีชื่ออาขจารย์ไหม

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

340
00:22:36,400 --> 00:22:40,400
อาจารย์กับนักศึกษาจะต้องมีความเกี่ยวข้องกันอย่างน้อย 3 ตาราง

341
00:22:40,401 --> 00:22:44,401
ก็คือตารางอาจารย์ ก็คือเก็บข้อมูลอาจารย์ ตารางนักศึกษา

342
00:22:44,402 --> 00:22:48,402
ก้จะเก็บข้อมูลนักศึกษา ตารางเีรยนก็จะ

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

344
00:22:52,403 --> 00:22:56,403
นะคะ อันนี้ก็เป็นความสัมพันธ์แบบง่าย ๆ

345
00:22:56,404 --> 00:23:00,404
อันนี้ก็เหมือนกัน

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

347
00:23:04,408 --> 00:23:08,408
เรียกดูข้อมูลนะคะ ผู้ใช้งานแต่ละคนอาจจะดู

348
00:23:08,409 --> 00:23:12,409
ข้อมูล เหมือนกันหรือต่างกันก็ได้ โดยที่

349
00:23:12,410 --> 00:23:16,410
ฐานข้อมูลนี่สามารถมีมุมมองหรือ

350
00:23:16,411 --> 00:23:20,411
โครงร่างภายนอกได้หลาายรูปแบบ แล้วแต่

351
00:23:20,412 --> 00:23:24,412
อย่างเช่น ตัวอย่างนี้มีผู้ใช้งาน 3 คน

352
00:23:24,414 --> 00:23:28,414
นะคะ เรียกดูข้อมูลในฐานข้อมูล

353
00:23:28,415 --> 00:23:32,415
เดียวกันแต่อาจจะเป็นคนละตาราง เพราะว่า

354
00:23:32,416 --> 00:23:36,416
ใน 1 ในฐานข้อมูล 1 ฐานข้อมูล จะมัข้อ

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

356
00:23:40,418 --> 00:23:44,418
อย่าง User หรือผู้ใช้งานคนที่ A

357
00:23:44,419 --> 00:23:48,419
อาจจะเรียกดูแค่ชื่อกับเบอร์โทรศัพท์

358
00:23:48,419 --> 00:23:52,419
ก็ได้นะคะ User

359
00:23:52,420 --> 00:23:56,420
หรือผู้ใช้งานคนที่ B อาจจะขอดู

360
00:23:56,421 --> 00:24:00,421
ข้อมูลรหัสนักศึกษา ชื่อที่อยู่ข้อมูล

361
00:24:00,422 --> 00:24:04,422
เบอร์โทรศัพท์ก็ได้แล้วแต่

362
00:24:04,422 --> 00:24:08,422
นะคะ คนที่ C

363
00:24:08,423 --> 00:24:12,423
อาจจะไม่อยากดูข้อมูลของทุกคน อาจจะอยากดู

364
00:24:12,424 --> 00:24:16,424
ว่า เทอมนี้มีวิชาอะไรเปิดสอนบ้าง รหัสวิชา

365
00:24:16,426 --> 00:24:20,426
อะไร ชื่อวิชาอะไร มีกี่หน่วยกิตก็ได้

366
00:24:20,429 --> 00:24:24,429
จากในฐานข้อมูลเดียวกัน แต่

367
00:24:24,430 --> 00:24:28,430
มาจากคนละตารางแค่นั้นเองนะคะ

368
00:24:28,430 --> 00:24:32,430

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

370
00:24:36,432 --> 00:24:40,432
สถาปัตยกรรมทั้ง 3 ระดับนะคะ

371
00:24:40,433 --> 00:24:44,433
แล้วก็แนวคิด แน่นอน มุมมองของผู้ใช้งานแต่ละคน

372
00:24:44,434 --> 00:24:48,434
สามารถทำงานได้โดยอิสระ แยกจากกัน

373
00:24:48,435 --> 00:24:52,435
นะคะ อาจจะมีการ

374
00:24:52,435 --> 00:24:56,435
นำข้อมูลหลาย ๆ ตารางมารวมกัน

375
00:24:56,435 --> 00:25:00,435
นะคะ เพื่อให้สามารถ

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

377
00:25:04,438 --> 00:25:08,438
คนละมุมกันแต่ใช้

378
00:25:08,439 --> 00:25:12,439
ฐานข้อมูลเดียวกัน แล้วก้ผุ้ใช้งาน

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

380
00:25:16,441 --> 00:25:20,441
Harddisk ไม่จำเป็นต้องรู้ ถ้า

381
00:25:20,443 --> 00:25:24,443
อยากเรียกข้อมูลขึ้นมาดูได้ก็ต้องดูได้นะคะ

382
00:25:24,443 --> 00:25:28,443
โดยบที่แอดมินนี่ จะเแ็นคดูเองว่า

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

384
00:25:32,445 --> 00:25:36,445
ดึงข้อมูลนั้นๆ เข้ามา ให้ผู้ใช้งานสามารถใช้งานได้

385
00:25:36,448 --> 00:25:40,448
นะคะ

386
00:25:40,448 --> 00:25:44,448
ประโยชน์ข้อต่อมาก็คืออิสระที่

387
00:25:44,451 --> 00:25:48,451
มีการเปลี่ยนแปลงข้อมูลหรือมีการเปลี่ยนแปลงโปรแกรม ทุกอย่างต้องไม่

388
00:25:48,452 --> 00:25:52,452
ได้รับผลกระทบนะคะ งานต้องยังสามารถ

389
00:25:52,453 --> 00:25:56,453
เก็บได้หรือโปรแกรมก็ยังทำงานได้เพราะการเปลี่ยนแปลง

390
00:25:56,453 --> 00:26:00,453
ของข้อมูลนะคะ ไม่ใช่ว่า

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

392
00:26:04,455 --> 00:26:08,455
ผิดพลาดหมดเลยอันนี้ ไม่ได้นะคะ หรือ

393
00:26:08,456 --> 00:26:12,456
บางคนเพิ่มที่อยู่กลายเป็นว่าที่อยู่เหมือนกัน

394
00:26:12,457 --> 00:26:16,457
ทั้งมหาวิทยาลัยก้ไมไ่ด้ ข้อมูลต้องไม่

395
00:26:16,458 --> 00:26:20,458
หรือว่าวันนี้อาจารย์บอกว่าฐานข้อ

396
00:26:20,459 --> 00:26:24,459
มูลอาจารย์ อยากใช้ Microsoft access

397
00:26:24,460 --> 00:26:28,460
อยากบอกว่าเปลี่ยนไปใช้

398
00:26:28,460 --> 00:26:32,460
โปรแกรมอื่นได้ไหม ต้องเปลี่ยนได้นะคะ ไม่ใช่

399
00:26:32,461 --> 00:26:36,461
ใช้โปรแกรมเดียวไปตลอด ไม่ได้

400
00:26:36,462 --> 00:26:40,462
ถ้าสมมติมีโปรแกรมที่ดีกว่า แล้วเราอยากเปลี่ยน

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

402
00:26:44,464 --> 00:26:48,464

403
00:26:48,464 --> 00:26:52,464
อันนี้พูดไปแล้วนะคะ

404
00:26:52,465 --> 00:26:56,465
อันนี้พูดไปแล้วนะ

405
00:26:56,466 --> 00:27:00,466
เดี๋ยวนะ Mapping

406
00:27:00,467 --> 00:27:04,467
อันนี้พูดไปแล้ว ต่อมา แบบจำลอง

407
00:27:04,468 --> 00:27:08,468
ข้อมูลนะคะ

408
00:27:08,471 --> 00:27:12,471
แบบจำลองข้อมูลนี่ ก็จะเป็นแบบจำลองที่

409
00:27:12,473 --> 00:27:16,473
อธิบายแล้วก็การจัดการข้อมูลที่จะ

410
00:27:16,474 --> 00:27:20,474
เกิดขึ้นในฐานข้อมูล ความสัมพันธ์ในฐานข้อมูล

411
00:27:20,475 --> 00:27:24,475
แต่ละตารางจะเกิดขึ้นอย่างไรบ้าง ข้อบังคับ

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

413
00:27:28,477 --> 00:27:32,477
ใด  ๆ จะต้องมีกฎเกณฑ์ใดบ้างนะคะ

414
00:27:32,478 --> 00:27:36,478
ทั้งนี้ก็เพื่อ ใช้สำหรับการ

415
00:27:36,480 --> 00:27:40,480
เป็นข้อตกลง แล้วก็สื่อสารระหว่างคนออกแบบฐานข้อมูลแล้วก็

416
00:27:40,481 --> 00:27:44,481
คนที่ใช้งานฐานข้อมูล ให้มีความเข้าใจตรงกัน

417
00:27:44,482 --> 00:27:48,482
นะคะ ว่าถ้าเรามีระบบนี้คุณจะ

418
00:27:48,483 --> 00:27:52,483
ทำอะไรได้บ้าง ทำอะไรไม่ได้ เรียกข้อมูลบแบบไหน

419
00:27:52,484 --> 00:27:56,484
แก้ไขข้อมูลอย่างไร ทำอย่างไรถึงจะบันทึกข้อมูลได้

420
00:27:56,485 --> 00:28:00,485
ถ้า อยากลบรหัสนักศึกษาออกได้ไหม

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

422
00:28:04,489 --> 00:28:08,489
ตรงกันนะคะ

423
00:28:08,491 --> 00:28:12,491
อันแรกนะคะ แบบ

424
00:28:12,492 --> 00:28:16,492
จำลองข้อมูลนี่ จะมี 2 ประเภท ประเภทแรกก็คือ

425
00:28:16,494 --> 00:28:20,494
เป็นแบบจำลองที่ใช้การบรรยาย

426
00:28:20,495 --> 00:28:24,495
นะคะ บรรยายโดยรวมทั้งหมดของระบบว่า

427
00:28:24,498 --> 00:28:28,498
มีอะไรบ้างนะคะ ซึ่งจะ

428
00:28:28,500 --> 00:28:32,500
นำเสนอในลักษณะของการวาดภาพ

429
00:28:32,501 --> 00:28:36,501
โดยที่ในฐานข้อมูล 1 ฐานข้อมูลนี่

430
00:28:36,502 --> 00:28:40,502
หมายถึงการเก็บตารางกี่ตาราง

431
00:28:40,504 --> 00:28:44,504
นะคะ ก็คือ Entity นั่นแหละนะคะ

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

433
00:28:48,507 --> 00:28:52,507
โยงเส้น ขีดเส้นใต้

434
00:28:52,510 --> 00:28:56,510
ตีกรอบ เดี๋ยวอันนี้จพะเป็น

435
00:28:56,510 --> 00:29:00,510
ในครั้งถัด ๆ ไปจะเป็นการวาดรูป เดี๋ยวถ้า

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

437
00:29:04,512 --> 00:29:08,512
มาด้วยนะคะ ถ้าใครเคยเรียนสมัย

438
00:29:08,513 --> 00:29:12,513
มัธยมได้วาด Mindmap

439
00:29:12,514 --> 00:29:16,514
การวาดในฐานข้อมูลก็จะไม่ต่างกันค่ะ

440
00:29:16,517 --> 00:29:20,517
แต่ว่าสัญลักษณ์ แต่ละสัญลักษณ์ในการวาดรูปของเรา

441
00:29:20,518 --> 00:29:24,518
มันมีความหมายนะคะ ไม่ใช่อยากวาด อยากใส่

442
00:29:24,519 --> 00:29:28,519
วงรี สี่เหลี่ยม อยากใส่สามเหลี่ยม

443
00:29:28,520 --> 00:29:32,520
นึกอยากใส่อะไรก็ใส่ไม่ได้ มันจะมีกฎอยู่

444
00:29:32,521 --> 00:29:36,521
โดยการวาดแบบนี้นี่ หรือการจำลอง

445
00:29:36,522 --> 00:29:40,522
แบบนี้นี่จะนำเสนอเพื่อให้เกิดความเข้าใจง

446
00:29:40,523 --> 00:29:44,523
ตรงกันระหว่างคนออกแบบกับคนใช้งาน ให้เห็นภาพ

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

448
00:29:48,524 --> 00:29:52,524
อย่างไรนะคะ เก็บข้อมูลแบบไหนใช้ข้อมูลอะไรได้บ้าง

449
00:29:52,525 --> 00:29:56,525
นะคะ ต่อมาจะเป็น

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

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

452
00:30:04,531 --> 00:30:08,531
จะต้องเป็นรูปหรือจะต้องเป็นแบบจำลองที่เอามาวาง

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

454
00:30:12,533 --> 00:30:16,533
เขาก็จะเข้าใจนะคะ

455
00:30:16,534 --> 00:30:20,534
มีสาระสำคัญ ไม่มีการซ้ำซ้อนกัน

456
00:30:20,535 --> 00:30:24,535
นะคะ ซึ่งในที่นี้ก็คือ ในแต่ละตาราง

457
00:30:24,537 --> 00:30:28,537
มันไม่ควรจะมีการเก็บข้อมูลที่ซ้ำกัน

458
00:30:28,539 --> 00:30:32,539
อย่างเช่น ตารางนี้เก็บข้อมูลนักศึกษาไปแฃล่ว

459
00:30:32,540 --> 00:30:36,540
ก็ยังจะเก็บอีก อันนี้ไม่ทำนะคะ จะต้องไม่

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

461
00:30:40,545 --> 00:30:44,545
ง่ายในการแก้ไขในอนาคตนะคะ

462
00:30:44,546 --> 00:30:48,546
และ แบบจำลองของวข้อมูล ไใม่ควรจะ

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

464
00:30:52,546 --> 00:30:56,546
จะออกแบบ ต้องใช้โปรแกรมนี้เท่านั้นเราจะ

465
00:30:56,548 --> 00:31:00,548
ไม่ทำแบบนี้นะคะ จะต้องเป็นฐานข้อมูล

466
00:31:00,551 --> 00:31:04,551
ที่สามารถทำร่วมกับโปรแกรมใดก็ได้

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

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

469
00:31:12,553 --> 00:31:16,553
ไม่ได้นะคะ

470
00:31:16,554 --> 00:31:20,554

471
00:31:20,555 --> 00:31:24,555
โดยแบบจำลองนี่ก็จะมีหลายรูปแบบ แบบแรกเป็น

472
00:31:24,556 --> 00:31:28,556
เชิง Record จะเป็นการเก็บเป็นแถว เป็นแถว ไปเรื่อย ๆ

473
00:31:28,558 --> 00:31:32,558
นะคะ แต่ละแถวก็หรืออาจจะเรียกว่ารายการ

474
00:31:32,558 --> 00:31:36,558
ข้อมูลแต่ละแถวจะต้องไม่ซ้ำกัน จะต้องต่างกัน

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

476
00:31:40,561 --> 00:31:44,561
แบบเครือข่าย และก็แบบมีความสัมพันธ์

477
00:31:44,562 --> 00:31:48,562
นะคะ

478
00:31:48,563 --> 00:31:52,563
กับแบบจำลองเชิงวัตถุ

479
00:31:52,564 --> 00:31:56,564
นะคะ จะมองทุกอย่างให้เหมือนเป็นวัตถุ

480
00:31:56,564 --> 00:32:00,564
ตารางก็เป็นวัตถุชนิดหนึ่ง นักศึกษาก็เป็นวัตถุ

481
00:32:00,565 --> 00:32:04,565
ชนิดหนึ่ง นักศึกษา 1

482
00:32:04,568 --> 00:32:08,568
คนจะมีวัตถุในตนเอง เก็บอะไรบ้าง

483
00:32:08,569 --> 00:32:12,569
นะคะ เช่น วัตถุที่ชื่อว่ารหัสนักศึกษา วัตถุ

484
00:32:12,571 --> 00:32:16,571
ที่ชื่อว่า ชื่อนามสกุล วัตถุที่เป็น

485
00:32:16,573 --> 00:32:20,573
หมายถึงเบอร์โทรศัพท์นะคะ

486
00:32:20,574 --> 00:32:24,574
เวลาเราวาด หรือโครงสร้างฐานเข้อมูลเราจะใช้

487
00:32:24,575 --> 00:32:28,575
แบบจำลองเชิงวัตถุนะคะ ก็คือตัวแรกเลย

488
00:32:28,578 --> 00:32:32,578
สิ่งที่เราจะวาดเรียกว่า ER

489
00:32:32,579 --> 00:32:36,579
diagram

490
00:32:36,580 --> 00:32:40,580
ER Diagram นะ ทุกคนต้อง

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

492
00:32:44,583 --> 00:32:48,583
นะคะ ระดับปริญญาตรีนี่วาด ERdiagram

493
00:32:48,586 --> 00:32:52,586
ก็ถือว่าเก่งมากแล้วนะคะ

494
00:32:52,587 --> 00:32:56,587
แบบจำลอง

495
00:32:56,588 --> 00:33:00,588
ข้อมูลจะมีส่วนประกอบอยู่ 3 ส่วนนะคะ ส่วนของ

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

497
00:33:04,591 --> 00:33:08,591
ทั้งกฎระเบียบที่ทุกคนจะต้องตกลงร่วมกัน

498
00:33:08,592 --> 00:33:12,592
เพื่อใช้ในการสร้างฐานข้อมูล

499
00:33:12,594 --> 00:33:16,594
มาตรฐานเลย ก็คือข้อมูลทุกอย่างที่จะเก็บจะอยู่

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

501
00:33:20,597 --> 00:33:24,597
ใช้งาน Excel มาแล้ว รวมถึงน่าจะรู้ว่าตาราง

502
00:33:24,598 --> 00:33:28,598
คืออะไรนะคะ ตารงก้จะเป็นแบบนี้

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

504
00:33:32,600 --> 00:33:36,600
คือตารางนะคะ มีแถวกับ

505
00:33:36,601 --> 00:33:40,601
คอลัมน์ ส่วนของการปรับปรุง

506
00:33:40,603 --> 00:33:44,603
ก้จะเป็นส่วนที่ชนิดของ

507
00:33:44,604 --> 00:33:48,604
การทำงานต่าง ๆ ตั้งแต่การปรับปรุงข้อม

508
00:33:48,606 --> 00:33:52,606
มูลในฐานข้อมูล การเปลี่ยนแปลงโครงสร้างในฐานข้อมูล เช่น

509
00:33:52,607 --> 00:33:56,607
เราอาจจะเพิ่มในส่วนของ

510
00:33:56,608 --> 00:34:00,608
Socail meก

511
00:34:00,609 --> 00:34:04,609
ชื่อ Facebook คุณชื่ออะไร แต่

512
00:34:04,610 --> 00:34:08,610
จะต้องไม่กระทบกับฐานข้อมูลหลัก ซึ่ง จะ

513
00:34:08,610 --> 00:34:12,610
ใช้ชุดคำสั่งของภาษา SQL

514
00:34:12,611 --> 00:34:16,611
อันนี้เราก็จะเรียนเหมือนกันนะคะ SQL

515
00:34:16,612 --> 00:34:20,612
จัดการกับข้อมูล รวมถึงกฎของ

516
00:34:20,613 --> 00:34:24,613
ความคงสภาพ เพื่อใช้สำหรับควบคุมคุณภาพ

517
00:34:24,614 --> 00:34:28,614
ของข้อมูลและเพื่อ

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

519
00:34:32,617 --> 00:34:36,617
เป็นตัวหนังสือไม่ได้นะคะ ความแน่นอนของ

520
00:34:36,618 --> 00:34:40,618
ข้อมูลที่ถูกต้องที่บันทึกลงในฐานข้อมูล

521
00:34:40,619 --> 00:34:44,619
เวลาเราเรียกดูข้อมูลปุ๊บเราจะ

522
00:34:44,620 --> 00:34:48,620
ได้มา ตรงกับความจริงที่เกิดขึ้นนะคะ

523
00:34:48,621 --> 00:34:52,621
นะคะ นี่ก็จะซ้ำ ๆ กัน

524
00:34:52,622 --> 00:34:56,622

525
00:34:56,623 --> 00:35:00,623
แบบจำลองฐานข้อมูลในการตัดสิน

526
00:35:00,625 --> 00:35:04,625
นี่ มันก็จะเป็นสิ่งสำคัญมาก ๆ

527
00:35:04,626 --> 00:35:08,626
สำหรับการออกแบบฐานข้อมูลนะคะ

528
00:35:08,627 --> 00:35:12,627
ซึ่ง เราก็จะแบ่งเป็นประมาณ

529
00:35:12,628 --> 00:35:16,628
ประมาณ 5 รูปแบบเพื่อให้เรา

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

531
00:35:20,630 --> 00:35:24,630
นะคะ อันแรกเลย เป็นแบบลำดับชั้น

532
00:35:24,631 --> 00:35:28,631
นะคะ เป็นรูปแบบสถาปัตยกรรมฐานข้อมูล

533
00:35:28,634 --> 00:35:32,634
ที่เก่าแก่ที่สุดใช้มานานมาก

534
00:35:32,635 --> 00:35:36,635
นะคะ โครงสร้างของข้อมูลหรือไฟล

535
00:35:36,636 --> 00:35:40,636
จัดเก็บไว้จากบนลงล่างนะคะ ลักษณะคล้าย ๆ กับ

536
00:35:40,637 --> 00:35:44,637
รากของต้นไม้นะคะ

537
00:35:44,638 --> 00:35:48,638
โดยไฟล์ต่าง ๆ จะต้องมีข้อ

538
00:35:48,638 --> 00:35:52,638
ก็คือเป็น ถ้าเป็นภาาาอังกฤษก็คือ On

539
00:35:52,640 --> 00:35:56,640
ข้อมูลเดียวเท่านั้น แล้วค่อย ๆ แตกสาขาออกไป

540
00:35:56,641 --> 00:36:00,641
นะคะ ความถูกต้องในการเก็บ

541
00:36:00,643 --> 00:36:04,643
เก็บข้อมูลค่อนข้างมี

542
00:36:04,644 --> 00:36:08,644
การเปลี่ยนแปลงข้อมูลน้อยมาก แต่  ปัจจุบันง

543
00:36:08,645 --> 00:36:12,645
ไม่นิยมใช้ เพราะมันยากต่อการไล่ลำดับของข้อมูล

544
00:36:12,647 --> 00:36:16,647
นะคะ มันเวลาจะหาข้อมูลทีหนึ่ง

545
00:36:16,648 --> 00:36:20,648
วิ่งำแข้างบนแล้วก็ลงมาข้างล่างใ

546
00:36:20,649 --> 00:36:24,649
ก้ต้องเริ่มจากข้างบน แล้วค่อยมาข้างล่าง

547
00:36:24,650 --> 00:36:28,650
คุณอะไรล่ะ สมมติตึกนี้มี 10 ชั้น

548
00:36:28,651 --> 00:36:32,651
อยากไปชั้น 3 คุณจะขึ้นจากข้างล่าง

549
00:36:32,651 --> 00:36:36,651
ไปชั้น 3 เลยไม่

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

551
00:36:40,654 --> 00:36:44,654
ข้อมูลตัวนี้ถามว่าดีไหม ดี แต่ว่าทำงานช้า

552
00:36:44,655 --> 00:36:48,655
นะคะ ลักษณะก็จะเป็นแบบนี้นะคะ เริ่มจาก

553
00:36:48,656 --> 00:36:52,656
ตรงนี้กว่าจะลงมาถึงตรงนี้ได้

554
00:36:52,657 --> 00:36:56,657
ต้องผ่านทุกชั้นนะคะ ถ้าเราอยากดูข้อมูล

555
00:36:56,658 --> 00:37:00,658
ตรงนี้ที่อาจารย์วง ๆ ไว้นี่ เข้ามาตรงนี้เลยได้ไหม ไม่ได้

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

557
00:37:04,660 --> 00:37:08,660
มันดีค่ะ แต่มันช้านะคะ

558
00:37:08,661 --> 00:37:12,661

559
00:37:12,661 --> 00:37:16,661
จำเป็นประมาณนี้นะคะ เป็น Root ลงมา

560
00:37:16,663 --> 00:37:20,663
ตรงนี้ เหมือนข้อมูล

561
00:37:20,663 --> 00:37:24,663
แบบนี้ค่ะ อันนี้คือแบบจำรองที่เรา

562
00:37:24,664 --> 00:37:28,664
นะคะ สมมติอาจารย์อยากดูข้อมูลคนนี้

563
00:37:28,666 --> 00:37:32,666
นะคะ ระดับล่างสุดเลย

564
00:37:32,667 --> 00:37:36,667
อาจารย์เข้ามาดูข้อมูลคนนี้โดยตรงไม่ได้

565
00:37:36,669 --> 00:37:40,669
อาจารย์จะต้องสั่งจากข้างบนลงมาตาม

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

567
00:37:44,673 --> 00:37:48,673
เราอาจจะไม่รู้สึกว่ามันหาข้อมูลช้า

568
00:37:48,675 --> 00:37:52,675
แต่ในทางการทำงานทางกายภาพของคอมพิวเตอร์นี่

569
00:37:52,676 --> 00:37:56,676
มันทำงานโดยคิดเป็นหน่วยใหญ่ ๆ

570
00:37:56,677 --> 00:38:00,677
วินาที ยิ่งใช้เวลาหาข้อมูลนานเท่าไหร่

571
00:38:00,680 --> 00:38:04,680
ก็ยิ่งมีค่าใช้จ่ายที่เพิ่มขึ้นตาม

572
00:38:04,681 --> 00:38:08,681
ไปด้วยนะคะ เพราะฉะนั้นเหมือนในยุค

573
00:38:08,682 --> 00:38:12,682
ทำไมทุกคนอยากได้คอมพิวเตอร์ที่เร็ว คิดเร็ว

574
00:38:12,683 --> 00:38:16,683
เร็วนะคะ ถามว่า

575
00:38:16,684 --> 00:38:20,684
อันนี้มันช้าจนเราทนไม่ได้ไหม

576
00:38:20,685 --> 00:38:24,685
ถ้าข้อมูลมันมีแค่นี้มันทนได้ค่ะ แต่ถ้าข้อมูลมี

577
00:38:24,686 --> 00:38:28,686
หลายลำดับชั้นกว่านี้ล่ะแค่หาชื่อคน

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

579
00:38:32,688 --> 00:38:36,688
นะคะ อันนี้ก็เป็นแบบจำลอง

580
00:38:36,689 --> 00:38:40,689
ข้อมูลที่ถามว่าทำได้ดีค่ะ แต่ว่าอาจจะเสียเวลา

581
00:38:40,690 --> 00:38:44,690
นะคะ

582
00:38:44,692 --> 00:38:48,692
ข้อดีก็คือเข้าใจง่าย ลักษณะ

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

584
00:38:52,697 --> 00:38:56,697
ต่อ มากกว่า 1

585
00:38:56,698 --> 00:39:00,698
จริง ๆ อยากพูดภาษาอังกฤษมากกง่าแบบ

586
00:39:00,699 --> 00:39:04,699
พ่อ 1 คน มีลูกได้หลายคนประมาณนี้

587
00:39:04,700 --> 00:39:08,700
ความสามารถในการควบคุมความถูกต้องของข้อมูลมีสูง

588
00:39:08,701 --> 00:39:12,701
นะคะ ข้อมูลที่เหมาะกับข้อมูลแบบจำลองแบบนี้

589
00:39:12,704 --> 00:39:16,704
ควรน่าจะเป็น เป็นการเรียงลำดับอย่างต่อ

590
00:39:16,705 --> 00:39:20,705
ต่อเนื่องนะคะ ที่จะเหมาะ ที่จะใช้

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

592
00:39:24,708 --> 00:39:28,708
ที่มีความสัมพันธ์แบบ Many to one

593
00:39:28,709 --> 00:39:32,709
many to many

594
00:39:32,711 --> 00:39:36,711
1 ต่อ หลายสิ่ง หรือหลายสิ่ง ต่อหลายสิ่ง

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

596
00:39:40,713 --> 00:39:44,713
นะคะเดี๋ยวจะอธิบายโดยละเอียดในบทถัด ๆ ไป

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

598
00:39:48,722 --> 00:39:52,722
นะคะ การปรับเปลี่ยนโครงสร้าง มีความยุ่งยาก

599
00:39:52,723 --> 00:39:56,723
เพราะทุกอย่างจะต้องเริ่มจากด้านบน ถ้าเปลี่ยน

600
00:39:56,724 --> 00:40:00,724
ตรงใดตรงหนึ่ง ต้องไล่ดูทั้งหมด เพราะมันอาจจะ

601
00:40:00,725 --> 00:40:04,725
กระทบกับอีกส่วนอื่นก็ได้นะคะ

602
00:40:04,726 --> 00:40:08,726
อย่างที่บอกค่ะ การค้นหาข้อมูลระดับล่าง ๆ

603
00:40:08,727 --> 00:40:12,727
จะต้องทำตั้งแต่บนลงล่างลงมา เข้าไปหาโดยตรง

604
00:40:12,728 --> 00:40:16,728
ไม่ได้นะคะ เสียเวลาแล้ว

605
00:40:16,729 --> 00:40:20,729
ก็ทำให้การเขียนโปรแกรมในอนาคต

606
00:40:20,730 --> 00:40:24,730
มันยาก เพราะว่าทุกอย่างจตะต้อง

607
00:40:24,731 --> 00:40:28,731
วนกลับมาจุดเริ่มต้น เสียเวลามากนะคะ

608
00:40:28,732 --> 00:40:32,732
มันก็เลยมีการพัฒนาแบบจำลองข้อมูลแบบเครือข่าย

609
00:40:32,734 --> 00:40:36,734
ขึ้นมานะคะ โดยแบบจำลองข้อมูล

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

611
00:40:40,736 --> 00:40:44,736
Pointer ก็คือใช้ลูกศร

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

613
00:40:48,738 --> 00:40:52,738
ข้อมูลในแต่ละแถวเข้า

614
00:40:52,739 --> 00:40:56,739
ด้วยกันนะคะ ก้จะเป็น

615
00:40:56,740 --> 00:41:00,740
เชื่อมโยงกันได้นะคะ ข้อมูล

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

617
00:41:04,742 --> 00:41:08,742
อาจจะเลี้ยวซ้ายเลี้ยวขวาได้แล้วตรงนี้นะคะ ลักษณะ

618
00:41:08,743 --> 00:41:12,743
ของแบบจำลองเชิงเครือข่ายก็จะเป็นแบบนี้นะคะ

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

620
00:41:16,745 --> 00:41:20,745
นี่ มันสามารถไปหาใครได้บ้าง ใบส่งของมีข้อมูลอะไร

621
00:41:20,746 --> 00:41:24,746
ก็คือรายการในใบส่งของ

622
00:41:24,747 --> 00:41:28,747
ใครเป็นคนขาย ใครเป็นคนซื้อ

623
00:41:28,748 --> 00:41:32,748
เขาจ่ายเงินแบบไหน อันนี้ไม่ต้องจากบนลงล่าง

624
00:41:32,749 --> 00:41:36,749
ใช่ไหมคะ หรือจะดูว่าพนักงานวันนี้ขายของอะไร

625
00:41:36,750 --> 00:41:40,750
ได้บ้าง ก็สามารถดูได้ ลูกค้า

626
00:41:40,751 --> 00:41:44,751
คนนี้ อยู่ในใส่งของไหน ใครเป็นคนขาย

627
00:41:44,752 --> 00:41:48,752
ลูกค้าจ่ายเงินอย่างไรก็ดูได้ ดูได้ทุกตำแหน่ง

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

629
00:41:52,755 --> 00:41:56,755
แบบจำลองข้อมูลแบบเครือข่ายนะคะ ก็

630
00:41:56,756 --> 00:42:00,756
ความซ้ำซ้อนในการเกิดขึ้นของข้อมูลเกิดขึ้นน้อยกว

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

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

633
00:42:08,759 --> 00:42:12,759
ในการเข้าถึงข้อมูลได้ในทันที

634
00:42:12,760 --> 00:42:16,760
นะคะ แต่สิ่งที่มีข้อดีก็ต้องมีข้อเสีย

635
00:42:16,761 --> 00:42:20,761
นะคะ ข้อเสีย ก็คือการป้องกันความปลอดภัย

636
00:42:20,762 --> 00:42:24,762
ของข้อมูลมีน้อยนะคะ แล้ว

637
00:42:24,763 --> 00:42:28,763
ก็สิ้นเปลืองพื้นที่ในตัว

638
00:42:28,763 --> 00:42:32,763
เก็บตัวชี้ตำแหน่ง ถ้าตารางข้้อมูล

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

640
00:42:36,766 --> 00:42:40,766
มันเป็นระดับห้างสรรพสินค้าล่ะ

641
00:42:40,767 --> 00:42:44,767
ร้านค้าใหญ่ ๆ ข้อมูลเกิดขึ้น

642
00:42:44,768 --> 00:42:48,768
แทบจะทุกนาที มันก็ต้องมี

643
00:42:48,769 --> 00:42:52,769
ตัวชี้ตำแหน่งเก็บทุก ๆ ๆ ๆ สิ่งที่เกิดขึ้น

644
00:42:52,770 --> 00:42:56,770
ทำไมเราถึงบอกว่าเปลืองไม่ได้ เพราะว่าใช้เชิงธุรกิจ

645
00:42:56,773 --> 00:43:00,773
อะไรที่เป็นสิ่งที่เราต้องจ่ายเพิ่ม เช่น จ่ายเงิน

646
00:43:00,774 --> 00:43:04,774
วื้อฮาร์ดดิสเพิ่ม เพื่อเก็บข้

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

648
00:43:08,776 --> 00:43:12,776
ในสิ่งที่อาาจจะไม่ได้จำเป็นขนาดนั้นนะคะ

649
00:43:12,777 --> 00:43:16,777
แล้วก็การเปลี่ยนแปลง

650
00:43:16,778 --> 00:43:20,778
เชิงโครงสร้างก้อาจจะมีความยุ่งยาก เพราะ

651
00:43:20,780 --> 00:43:24,780
หลาย ๆ อย่างมันเชื่อมต่อกันอยู่ เช่น อยู่ดี ๆ อาจารย์

652
00:43:24,782 --> 00:43:28,782
บอกว่า อาจารย์อยากตัดใบส่งของออก แล้วพนักงาน

653
00:43:28,784 --> 00:43:32,784
กับลูกค้าจะเชื่อมโยงกันอย่างไร ผ่านสินค้า

654
00:43:32,785 --> 00:43:36,785
หรือ แล้วคุณไม่ต้องไปส่งของลูกค้าหรือ

655
00:43:36,786 --> 00:43:40,786
นะคะ อันนี้ก็จะมีข้อ

656
00:43:40,787 --> 00:43:44,787
สงสัยกับข้อที่ต้องมาคิดตาม

657
00:43:44,788 --> 00:43:48,788
เหมือนกันว่าถ้าเราจะมีการเปลี่ยนแปลง

658
00:43:48,789 --> 00:43:52,789
ตำแหน่งบางตำแหน่ง สำหรับการชี้ตำแหน่ง

659
00:43:52,790 --> 00:43:56,790
มันต้องทำอย่างไร มันก็เลยมีการพัฒนาขึ้นมาอีก เป็น

660
00:43:56,792 --> 00:44:00,792
แบบจำลองฐานข้อมูลเชิงสัมพันธ์นะคะ

661
00:44:00,793 --> 00:44:04,793
ก็จะเป็นแบบจำลองข้อมูลที่

662
00:44:04,794 --> 00:44:08,794
ได้รับความนิยมมากในปัจจุบัน

663
00:44:08,795 --> 00:44:12,795
ข้อมูลในลักษณะที่เป็นตาราง เข้าใจง่าย

664
00:44:12,796 --> 00:44:16,796
มีแถว มีคอลัมน์นะคะ สามารถ

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

666
00:44:20,798 --> 00:44:24,798
นะคะ แต่เราจะใช้สิ่งที่เรียกว่ากุญแจ

667
00:44:24,799 --> 00:44:28,799
หรือ Key เพื่ออ้างอิงไปยังตารางอื่น ๆ

668
00:44:28,801 --> 00:44:32,801
เหมือนอย่างนี้ อย่างตารางพนักงานขาย

669
00:44:32,802 --> 00:44:36,802
อะไรพวกนี้ค่ะ เราไม่รู้ว่าเราจะอ้างอิงด้วยอะไร

670
00:44:36,803 --> 00:44:40,803
ใช่ไหมคะ อย่างเช่นใบส่งของ มีของ

671
00:44:40,804 --> 00:44:44,804
อยู่ 5 อย่าง เราก็รู้ว่าแค่ 5 อย่าง

672
00:44:44,805 --> 00:44:48,805
ไม่ได้มีจุดสังเกตใด ๆ ให้รู้

673
00:44:48,807 --> 00:44:52,807
มันก็เลยมีการพัฒนาสิ่งที่เรียกว่า "Key" หรื

674
00:44:52,808 --> 00:44:56,808
มานะคะ โดยกุญแจ

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

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

677
00:45:04,812 --> 00:45:08,812
คีย์ภายนอกนะคะ

678
00:45:08,814 --> 00:45:12,814
จะอธิบายโดยละเอียดในบท

679
00:45:12,815 --> 00:45:16,815
ถัด ๆ ไปนะคะ อันนี้เอาให้เห็นคร่าว ๆ ก่อน

680
00:45:16,816 --> 00:45:20,816
อย่างเช่น นะคะ ตาราง

681
00:45:20,817 --> 00:45:24,817
นี้

682
00:45:24,818 --> 00:45:28,818
นะคะ อันแรกจะเป้นตารางเก็บข้อมูลสาขา

683
00:45:28,819 --> 00:45:32,819
สมมติว่าเราเปิดร้านค้า มีตารางเกี่ยวกับ

684
00:45:32,820 --> 00:45:36,820
สาขาที่เราเปิด กับตารางพนักงานทำไม

685
00:45:36,821 --> 00:45:40,821
รหัสสาขาอาจารย์ต้องขีดเส้นใต้ด้วย

686
00:45:40,822 --> 00:45:44,822
ทำไมรหัสพนักงานก้ต้องขีดเส้นใต้ด้วย

687
00:45:44,823 --> 00:45:48,823
ความสำคัญมีอยู่นะคะ ไม่ใช่ว่าขีดเฉย ๆ

688
00:45:48,824 --> 00:45:52,824
เพื่อเน้นให้พวกคุณอ่านไม่ใช่ มันแสดงให้เห็น

689
00:45:52,825 --> 00:45:56,825
ว่าในตารางนี้ สิ่งใด

690
00:45:56,826 --> 00:46:00,826
ที่ขีดเส้นใต้ ข้อนั้น ข้อมูลในตารางนั้น

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

692
00:46:04,829 --> 00:46:08,829
นะคะ รหัส

693
00:46:08,830 --> 00:46:12,830
พนักงานขีดเส้นใต้  ก็แสดงว่ารหัส

694
00:46:12,831 --> 00:46:16,831
พนักงานแต่ละคนจะต้องไใม่ซ้ำกัน เพราะรหั

695
00:46:16,832 --> 00:46:20,832
เป็นคีย์หลัก

696
00:46:20,833 --> 00:46:24,833
แต่ถ้าสังเกตดี ๆ ในตาราง

697
00:46:24,835 --> 00:46:28,835
พนักงานทำไมมีรหัสสาขา

698
00:46:28,837 --> 00:46:32,837
โผล่ขึ้นมาตรงนี้ด้วย แล้วทำไมไม่ขีดเส้น

699
00:46:32,838 --> 00:46:36,838
ในตารางนี้ เพราะในตารางพนักงาน

700
00:46:36,839 --> 00:46:40,839
รหัสสาขาไว้สำหรับ

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

702
00:46:44,841 --> 00:46:48,841
นี้ มันมีความสัมพันธ์กันอย่างไร

703
00:46:48,842 --> 00:46:52,842
นะคะ เดี๋ยวจะอธิบายอีกทีหนึ่ง

704
00:46:52,844 --> 00:46:56,844
ว่า ทำไมต้องมีความสัมพันธ์กันล่ะ เอาง่าย ๆ

705
00:46:56,845 --> 00:47:00,845
พนักงานคนที่ 1 ถ้าอาจารย์

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

707
00:47:04,847 --> 00:47:08,847
ที่สาขาไหน ไม่รู้เลย

708
00:47:08,848 --> 00:47:12,848
หรืออาจจะบอกว่าสาขาอุดรฯ ใคร

709
00:47:12,848 --> 00:47:16,848
ทำงานบ้างรู้ไหม ถ้าไม่เชื่อมกับตารางพนักงานก็ไม่

710
00:47:16,849 --> 00:47:20,849
รู้เลยนะคะ เดี๋กยวจะอธิบายฃ

711
00:47:20,850 --> 00:47:24,850
อีกทีหนึ่งในบทของการวาดความสัมพันธ์นะคะ

712
00:47:24,851 --> 00:47:28,851
ข้อดีของแบบจำลอง

713
00:47:28,852 --> 00:47:32,852
ตารางอ่านง่ายเข้าใจง่ายเพราะนำ

714
00:47:32,853 --> 00:47:36,853
เสนอในลักษณะของตาราง สามารถเลือกดู

715
00:47:36,856 --> 00:47:40,856
สิ่งที่เราสนใจ ความซับซ้อนก็มีน้อย

716
00:47:40,858 --> 00:47:44,858
เพราะว่าข้อมูลในเชิง 2 มิตินี่มัน

717
00:47:44,859 --> 00:47:48,859
มองง่ายความปลอดภัยค่อนข้างดีนะคะ

718
00:47:48,862 --> 00:47:52,862
เพราะว่าผู้ใช้งานก็จะไม่รู้ว่าเรา

719
00:47:52,864 --> 00:47:56,864
อยากเรียกใช้ข้อมูลอะไรได้บ้างนะคะ แล้วก็โครงสร้างของข้อมูล

720
00:47:56,865 --> 00:48:00,865
แน่นอน ถ้าเราเปลี่ยนโปรแกรมก็ยังสามารถทำงานได้

721
00:48:00,867 --> 00:48:04,867
นะคะ แต่ข้อเสียของมันก็

722
00:48:04,868 --> 00:48:08,868
มีนะคะ ก็คือค่าใช้จ่ายค่อนข้างสูง

723
00:48:08,869 --> 00:48:12,869
นะคะ เพราะว่าทรัพยากร

724
00:48:12,870 --> 00:48:16,870
ที่ใช้ในการจัดการนี่ ต้องมีสมรรถที่สูงนิดหนึ่ง

725
00:48:16,872 --> 00:48:20,872
ประมวลผลต้องเร็วนะคะ

726
00:48:20,873 --> 00:48:24,873
การปรับปรุงแก้ไขข้อมูลอาจจะมีความยุ่งยาก เพราะว่า

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

728
00:48:28,875 --> 00:48:32,875
มันเป็นอย่างไร มีคนเดียวที่รู้ก็คือคนเขียนฐานข้อมูลเท่านั้น

729
00:48:32,875 --> 00:48:36,875
บางครั้งผู้ใช้งานนี่อาจจะเป็นผู้

730
00:48:36,876 --> 00:48:40,876
ที่ต้องคีย์ข้อมูลเข้าไป ก็อาจจะเริ่มงงแล้

731
00:48:40,877 --> 00:48:44,877
ฉันต้องกรอกข้อมูลอะไร ทำไมข้อมูลมันไม่ผ่าน

732
00:48:44,880 --> 00:48:48,880
นะคะ อย่างเช่น

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

734
00:48:52,882 --> 00:48:56,882
แบบระบบด้เวย เหมือนบางคนใส่เลยบัตรประชาชนไมใ่ครบ

735
00:48:56,882 --> 00:49:00,882
ไม่ครบ 13 หลัก ถ้าผู้

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

737
00:49:04,884 --> 00:49:08,884
เลขบัตรประชาชนคุณน่ะไม่ครบ

738
00:49:08,885 --> 00:49:12,885
คนใช้งานก็จะเริ่มงงแล้วว่า

739
00:49:12,886 --> 00:49:16,886
ฉันผิดอะไรนะคะ มันตั้งแต่การออกแบบเลย

740
00:49:16,886 --> 00:49:20,886
เพราะฉะนั้นคนดูแลระบบ

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

742
00:49:24,889 --> 00:49:28,889
ได้บ้างนะคะ เหมือนการ

743
00:49:28,890 --> 00:49:32,890
เก็บข้อมูลรูปภาพ รูปภาพต้องขนาดเท่าไหร่

744
00:49:32,891 --> 00:49:36,891
ต้องเป็นภาพสีไหม หรือว่าต้องเป็นภาพขาวดำ

745
00:49:36,892 --> 00:49:40,892
เท่านั้น จะต้องอธิบายให้ชัดเจนนะคะ เพราะว่าถ้า

746
00:49:40,893 --> 00:49:44,893
มีการปรับปรุงข้อมูลทีหนึ่งนี่ ผู้ใช้งานไม่เข

747
00:49:44,895 --> 00:49:48,895
มันก็จะไม่สามารถบันทึกลงฐานข้อมูลได้นะคะ

748
00:49:48,895 --> 00:49:52,895
กับแบบจำลอง

749
00:49:52,896 --> 00:49:56,896
ข้อมูลเชิงวัตถุนะคะ ส่วนมากจะเป็นการ

750
00:49:56,897 --> 00:50:00,897
ออกแบบเพื่อเขียน

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

752
00:50:04,898 --> 00:50:08,898
วัตถุชนิดหนึ่งนะคะ มันก็จะมี

753
00:50:08,900 --> 00:50:12,900
การห่อหุ้มวัตถุนั้น ๆ ไว้ด้วย

754
00:50:12,901 --> 00:50:16,901
อะไรบ้างนะคะ อันนี้ก็พอ

755
00:50:16,902 --> 00:50:20,902
เรียนปีสูงขึ้น ทุกคนก็จะได้เรียนการ

756
00:50:20,903 --> 00:50:24,903
ทำงานเชิงวัตถุมากขึ้นนะคะ อันนี้ปี 1 ก็

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

758
00:50:28,905 --> 00:50:32,905
นะคะ อันนี้อาจารยืเอามใาให้รู้จักเฉย ๆ

759
00:50:32,906 --> 00:50:36,906
เพราะว่าถ้าเป็นฐานข้อมูลหรือการเขียนโปรแกรม

760
00:50:36,910 --> 00:50:40,910
เชิงวัตถุใด ๆ ก็ตามมันจะ

761
00:50:40,911 --> 00:50:44,911
ทำงานซับซ้อนได้ดีกว่า มันเหมาะกับการทำงาน

762
00:50:44,912 --> 00:50:48,912
เกี่ยวกับภาพกราฟิก หารเก็บวีดิโอ เสียง

763
00:50:48,913 --> 00:50:52,913
อย่างเช่น เราเล่น Facebook มีหมดเลย ทั้งภาพ

764
00:50:52,930 --> 00:50:56,930
ทั้งวิดีโอ ทั้งเสียง ที่เราต้องเก็บข้อมูล

765
00:50:56,932 --> 00:51:00,932
แล้วก็สามารถเอาข้อมูลที่มีอยู่

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

767
00:51:04,934 --> 00:51:08,934
ง่ายกว่ารูปแบบจัดการฐานข้อมูลชนิดอื่น ๆ

768
00:51:08,935 --> 00:51:12,935
แต่ข้อเสียของการทำงานเชิงวัตถุ

769
00:51:12,936 --> 00:51:16,936
ก็คือจะต้องมีความชำนาญมาก ๆ แล้วก็

770
00:51:16,938 --> 00:51:20,938
เข้าใจในการมองโปรแกรม หรือ

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

772
00:51:24,940 --> 00:51:28,940
อาจจะต้องใช้ประสบการณ์ในการจัดการกับ

773
00:51:28,941 --> 00:51:32,941
ความซับซ้อนมาก ๆ

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

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

776
00:51:40,945 --> 00:51:44,945
ข้อมูลมันก็จะเริ่มซับซ้อนขึ้น เกิด

777
00:51:44,948 --> 00:51:48,948
ส่วนย่อย ๆ เกิดขึ้นมากมายนะคะ

778
00:51:48,949 --> 00:51:52,949
เพราะฉะนั้นถ้าเราจะเป้นคนที่ออกแบบข้อมูล

779
00:51:52,949 --> 00:51:56,949
เราจะต้องมองภาพโดยรวมทั้งหมด

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

781
00:52:00,951 --> 00:52:04,951
ครั้งหน้า ๆ ถ้า

782
00:52:04,952 --> 00:52:08,952
มีให้วาดรูป อาจารยื

783
00:52:08,954 --> 00:52:12,954
ก็จะเริ่มถามแล้วว่าเคยไปห้องสมุดไหม

784
00:52:12,955 --> 00:52:16,955
นะคะ เคยยืมหนังสือหรือเปล่า การที่

785
00:52:16,956 --> 00:52:20,956
เราจะยืมหนังสือห้องสมุดได้มันจะต้องเกี่ยวข้อง

786
00:52:20,957 --> 00:52:24,957
กับอะไรบ้าง เช่น เราเป็นสมาชิกห้องสมุดไหม

787
00:52:24,958 --> 00:52:28,958
นะคะ แล้วเราไปห้องสมุด เรา

788
00:52:28,959 --> 00:52:32,959
ยืมหนังสือ มันจะต้องมีข้อมูลหนังสือที่เราจะยืมไหม

789
00:52:32,960 --> 00:52:36,960
นะคะ ชื่อหนังสืออะไร

790
00:52:36,962 --> 00:52:40,962
หนังสือมีรหัสหนังสือหรือเปล่า ยืมได้กี่วั

791
00:52:40,963 --> 00:52:44,963
นะคะ ใครเป็นคน

792
00:52:44,964 --> 00:52:48,964
แต่งหนังสือเล่มนั้น นี่ การยืมหนังสือเล่มเดียว

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

794
00:52:52,966 --> 00:52:56,966
ยืมได้กี่วัน หนังสือชื่ออะไร เลขหนังสืออะไร

795
00:52:56,967 --> 00:53:00,967
นักศึกษาคนไหนเป็นคนยืม อันนี้ก็

796
00:53:00,968 --> 00:53:04,968
แค่ยืมหนังสือเฉย ๆ ใน

797
00:53:04,969 --> 00:53:08,969
ข้อสอบหรือในชีวิตจริง พวกคุณจะต้องเจออะไร

798
00:53:08,970 --> 00:53:12,970
ที่เยอะกว่านี้อีกเยอะนะคะ

799
00:53:12,971 --> 00:53:16,971
กับอีกอันหนึ่งนะคะ เป็นแบบจำลองฐานข้อมูล

800
00:53:16,972 --> 00:53:20,972
แบบหลายมิตินะคะ ใคร

801
00:53:20,973 --> 00:53:24,973
เคยเล่นรูบิกลักษณะหลาย ๆ มิติจะเป็นแบบนั้นเลย

802
00:53:24,973 --> 00:53:28,973
นะคะ เป็นก้อน ๆ นะคะ เช่น

803
00:53:28,974 --> 00:53:32,974
การเก็บข้อมูลส่วนมากจะเกี่ยวกับเชิงธุรกิจ

804
00:53:32,975 --> 00:53:36,975
มากกว่านะคะ อาจจะเป็นเกี่ยวกับการเก็บข้อมูล

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

806
00:53:40,977 --> 00:53:44,977
ที่เท่าไหร่ มาประมวลผลเป็นตาราง เพราะว่า

807
00:53:44,978 --> 00:53:48,978
มันจะทับซ้อนกันไปอีกเยอะมาก ขายอะไร

808
00:53:48,979 --> 00:53:52,979
ขายที่ไหน ขายเมื่อไหร่ ใน

809
00:53:52,980 --> 00:53:56,980
สินค้าชนิดเดียวนะคะ

810
00:53:56,981 --> 00:54:00,981
เหมือนข้อมูลเวลาเราซื้อของ วะันหมดอายุเท่าไรห่

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

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

813
00:54:08,986 --> 00:54:12,986
นะคะ ผลิตที่ไหน ต้องบริโภค

814
00:54:12,987 --> 00:54:16,987
วันที่เท่าไหร่ ใครเป็นคนผลิต ใครเป็นคนนำเจช

815
00:54:16,988 --> 00:54:20,988
ซ้อนทับกันจะเป็นหลาย ๆ มิตินะคะ ลักษณะ

816
00:54:20,991 --> 00:54:24,991
คล้าย ๆ รูปทรงแบบนี้นะคะ แค่ของชิ้น

817
00:54:24,993 --> 00:54:28,993
เดียวเก็บข้อมูลเยอะมากนะคะ

818
00:54:28,994 --> 00:54:32,994
เป็นแบบนี้ จริง ๆ วันนี้ก็จะไม่มีอะไรมาก

819
00:54:32,995 --> 00:54:36,995
เพราะว่าเป็นแค่แนะนำเพื่อปู

820
00:54:36,996 --> 00:54:40,996
ทางในการวาดภาพ แผนภาพ ER

821
00:54:40,997 --> 00:54:44,997
ของเราในบทต่อไปนะคะ วันนี้ก็มีการบ้าน

822
00:54:44,998 --> 00:54:48,998
เหมือนกันค่ะ 10 ข้อ เหมือนเดิมทำใส่

823
00:54:49,000 --> 00:54:53,000
กระดาษรายงาน ส่งนะคะ เนื้อหาที่

824
00:54:53,001 --> 00:54:57,001
จะตอบก็อยู่ใน สไลด์อาจารย์หมดแล้วนะคะ

825
00:54:57,003 --> 00:55:01,003
ก็ไม่น่าจะมีปัญหาอะไร

826
00:55:01,005 --> 00:55:05,005
มีอะไรสงสัยไหมคะ เดี๋ยว

827
00:55:05,005 --> 00:55:09,005
จะได้ปล่อยทำงาน

828
00:55:09,006 --> 00:55:13,006
ไม่มีอย่างนั้นเดี๋ยวจะให้นั่งทำงาน

829
00:55:13,007 --> 00:55:17,007
นะคะ ก็เนื้อหา

830
00:55:17,008 --> 00:55:21,008
ประมาณนี้ค่ะ ล่ามวันนี้เนื้อหาไม่เยอะ

831
00:55:21,009 --> 00:55:25,009
โอเค ขอบคุณค่ะ

832
00:55:25,010 --> 00:55:29,010

833
00:55:29,011 --> 00:55:33,011

834
00:55:33,012 --> 00:55:37,012

835
00:55:37,014 --> 00:55:41,014

836
00:55:41,019 --> 00:55:45,019

837
00:55:45,020 --> 00:55:49,020

838
00:55:49,023 --> 00:55:53,023

839
00:55:53,028 --> 00:55:57,028

840
00:55:57,030 --> 00:56:01,030

841
00:56:01,031 --> 00:56:05,031

842
00:56:05,032 --> 00:56:09,032

843
00:56:09,035 --> 00:56:13,035

844
00:56:13,037 --> 00:56:17,037

845
00:56:17,040 --> 00:56:21,040

846
00:56:21,042 --> 00:56:25,042

847
00:56:25,044 --> 00:56:29,044

848
00:56:29,045 --> 00:56:33,045

849
00:56:33,047 --> 00:56:37,047

850
00:56:37,049 --> 00:56:41,049

851
00:56:41,051 --> 00:56:45,051

852
00:56:45,053 --> 00:56:45,665

853
00:56:49,056 --> 00:56:53,056

854
00:56:57,059 --> 00:57:00,060

855
00:57:01,061 --> 00:57:01,063

856
00:57:05,064 --> 00:57:05,068

857
00:57:09,068 --> 00:57:09,071


