﻿WEBVTT

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


