﻿WEBVTT

1
00:00:00.000 --> 00:00:04.000

2
00:00:04.006 --> 00:00:08.006

3
00:00:08.008 --> 00:00:12.008

4
00:00:12.013 --> 00:00:16.013

5
00:00:16.016 --> 00:00:20.016

6
00:00:20.017 --> 00:00:24.017

7
00:00:24.019 --> 00:00:28.019

8
00:00:28.022 --> 00:00:32.022

9
00:00:32.023 --> 00:00:36.023

10
00:00:36.026 --> 00:00:40.026

11
00:00:40.027 --> 00:00:44.027

12
00:00:44.028 --> 00:00:48.028

13
00:00:48.030 --> 00:00:52.030

14
00:00:52.032 --> 00:00:56.032

15
00:00:56.034 --> 00:01:00.034

16
00:01:00.036 --> 00:01:04.036

17
00:01:04.038 --> 00:01:08.038

18
00:01:08.040 --> 00:01:12.040

19
00:01:12.042 --> 00:01:16.042

20
00:01:16.044 --> 00:01:20.044

21
00:01:20.046 --> 00:01:24.046

22
00:01:24.049 --> 00:01:28.049

23
00:01:28.051 --> 00:01:32.051

24
00:01:32.053 --> 00:01:36.053

25
00:01:36.056 --> 00:01:40.056

26
00:01:40.058 --> 00:01:44.058
(อาจารย์เกวลี) เดี๋ยวเริ่มเลย

27
00:01:44.060 --> 00:01:48.060
ก็ได้ค่ะ

28
00:01:48.063 --> 00:01:52.063
โอเค น่าจะประมาณนี้นะคะ

29
00:01:52.065 --> 00:01:56.065
วันนี้จะเป็นบทที่ 5 เกี่ยวกับกระบวนการ

30
00:01:56.066 --> 00:02:00.066
ปรับบรรทัดฐาน ภาษาอังกฤษก็จะเป็น

31
00:02:00.067 --> 00:02:04.067
normali

32
00:02:04.069 --> 00:02:08.069
เนื้อหาวันนี้ก็จะมีจุดมุ่งหมาย

33
00:02:08.070 --> 00:02:12.070
ของการทำ Nomanlization

34
00:02:12.072 --> 00:02:16.072
จะเกี่ยวกับฟังก์ชันการขึ้นต่อกัน แล้วก็หลักการขึ้น normal

35
00:02:16.073 --> 00:02:20.073
ด้วยนะคะ มีอยู่ 3 ข้อวันนี้

36
00:02:20.074 --> 00:02:24.074

37
00:02:24.075 --> 00:02:28.075
โดยการปรับมาตรฐานหรือ No

38
00:02:28.076 --> 00:02:32.076
มันจะเป็นทฤษฎีที่คนออกแบบฐานข้อมูล

39
00:02:32.077 --> 00:02:36.077
มาแปลงข้อมูลจากรูปที่ซับซ้อน

40
00:02:36.078 --> 00:02:40.078
นะคะ ให้มันง่าย เข้าใจ

41
00:02:40.079 --> 00:02:44.079
ก้งาน นำไปใช้งานก็ง่าย แล้วต้องเป็นระบบที่

42
00:02:44.080 --> 00:02:48.080
หลังจากออกแบบแล้ว แล้วนำไปใช้งานจริงต้องเกิดปัญหาน้อยที่สึเ

43
00:02:48.081 --> 00:02:52.081
โดยกระบวนการ

44
00:02:52.081 --> 00:02:56.081
ทำงานนะคะ ในการปรับบรรทัดฐานนี่มันจะมี 3 ระดับ

45
00:02:56.083 --> 00:03:00.083
นะคะ จริง ๆ เราก็จะเรียกสะ้น ๆ ระดับแรกจะเรียกว่

46
00:03:00.086 --> 00:03:04.086
นะคะ 2NF 3NF นะคะ

47
00:03:04.088 --> 00:03:08.088
ในระดับปริญญาตรีนี่

48
00:03:08.090 --> 00:03:12.090
ถึง 3NF ได้ก็ถือว่าเก่งมากแล้ว

49
00:03:12.091 --> 00:03:16.091
แต่ถ้าเป็นระดับที่สูงขึ้นไปอีก ก็จะได้ถึง 5NF

50
00:03:16.093 --> 00:03:20.093
นะคะ

51
00:03:20.095 --> 00:03:24.095
อันนี้เป็น

52
00:03:24.096 --> 00:03:28.096
แผนภาพกระบวนการทำงานนะคะ ก่อนเราจะมาทำแผนภาพปรับบรรทัดฐาน

53
00:03:28.097 --> 00:03:32.097
ได้นี่ มันก็ต้องวิเคราะห์การใช้งานของผู้ใช้งานก่อน

54
00:03:32.098 --> 00:03:36.098
เขาต้องการระบบจัดการฐานข้อมูลแบบไหน ต้องการ

55
00:03:36.099 --> 00:03:40.099
ใช้ตารางกี่ตารางในฐานข้อมูลนะคะ

56
00:03:40.100 --> 00:03:44.100
หลังจากนั้นก็จะมาวาดรูปเหมือนที่เราเรียนอาทิตย์ที่แล้วนะคะ

57
00:03:44.101 --> 00:03:48.101
มาวาดเป็นแผนถาพ ให้เข้าใจว่า

58
00:03:48.102 --> 00:03:52.102
สิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลนี่ ตรง

59
00:03:52.103 --> 00:03:56.103
ตามความต้องการหรือเปล่านะคะ

60
00:03:56.104 --> 00:04:00.104
แต่รูปแบบของรูปที่เราวาดอาทิตย์ที่แล้วนี่ จะยังเป็นรูป

61
00:04:00.105 --> 00:04:04.105
แบบที่ที่เป็นบรรทัดฐาน

62
00:04:04.106 --> 00:04:08.106
หรือว่ายังไม่ได้มีการจัดระเบียบความคิดที่มันซับซ้อน

63
00:04:08.107 --> 00:04:12.107
คีย์หลักที่มันทับซ้อนกันนะคะ

64
00:04:12.108 --> 00:04:16.108
เราก็เลยจะต้องเอาข้อมูลจากที่เราวาดอาทิตย์ที่แล้วนี่มาเข้าสู่

65
00:04:16.109 --> 00:04:20.109
กระบวนการปรับบรรทัดฐานก่อน ซึี่งอย่างที่บอก

66
00:04:20.110 --> 00:04:24.110
เราทำแค่ถึง 3 NF นี่ก็ถือว่าเก่งมากแล้ว

67
00:04:24.111 --> 00:04:28.111
แต่อย่างน้อยต้องถึง 3 นะคะ ไอ้บอยด์ คอดด์ก

68
00:04:28.112 --> 00:04:32.112
ไม่ทำก็ละไว้ได้นะคะ แต่อย่างน้อยต้อง

69
00:04:32.113 --> 00:04:36.113
ถึง 3 นะคะ

70
00:04:36.114 --> 00:04:40.114
โดยวัตถุประสงค์ของการปรับบรรทัดฐานนะคะ

71
00:04:40.116 --> 00:04:44.116
แน่นอนลดความซ้ำซ้อนกันของข้อมูล

72
00:04:44.117 --> 00:04:48.117
ก็ถือถ้าข้อมูลมันซ้ำกันนี่เราต้องตัดออกไป เพราะถ้าซ้ำกัน

73
00:04:48.119 --> 00:04:52.119
มันยิ่งซ้พกันมากเท่าไร เนือ้หา และพื้นที่

74
00:04:52.119 --> 00:04:56.119
ในการเก็บข้อมูลมันเยอะ แล้วก็สิ้นเปลืองงบประมาณ

75
00:04:56.120 --> 00:05:00.120
ด้วยเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้อง

76
00:05:00.121 --> 00:05:04.121
ของข้อมูลนะคะ ข้อมูลนี่นอกจากจะไม่เกิดความ

77
00:05:04.122 --> 00:05:08.122
ซ้ำซ้อนกันแล้วนี่ มันยังเกิดจากสาเหตุอื่น

78
00:05:08.122 --> 00:05:12.122
คือ ถ้าเหมือนที่อาจารย์เคยยกตัวอย่าง ก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่

79
00:05:12.124 --> 00:05:16.124
อย่างนักศึกษาเก็บข้อมูลที่คณะด้วย ที่มหาวิทลัย

80
00:05:16.126 --> 00:05:20.126
เก็บที่มหาวิทยาลัยด้วย เก็บที่สาขาด้วย วันหนึ่งคุณ

81
00:05:20.127 --> 00:05:24.127
อาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้าน

82
00:05:24.128 --> 00:05:28.128
เราก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลา

83
00:05:28.129 --> 00:05:32.129
แล้วคราวนี้ก็จะเป็นที่เถียงกันว่า

84
00:05:32.130 --> 00:05:36.130
เบอร์ไหนถูก เบอร์ไหนผิดนะคะ โดยวัตถุประสงค์ของ

85
00:05:36.132 --> 00:05:40.132
การปรับบรรทัดฐานนี่ ข้อมูลอาจจะเก็บที่แหล่งเ

86
00:05:40.131 --> 00:05:44.131
นะคะ เก็บอยู่ที่เดียว แต่สามารถเรียนใช้งานหลาย ๆ

87
00:05:44.133 --> 00:05:48.133
ที่ พร้อม ๆ กันได้นะคะ แต่ถ้า

88
00:05:48.134 --> 00:05:52.134
มันมีการเปลี่ยนแปลงข้อมูล มีการลบหรือการเพิ่ม

89
00:05:52.135 --> 00:05:56.135
เป็นปัจจุบันที่สุด เราจึงเก็บข้อมูลไว้ที่เดียว

90
00:05:56.137 --> 00:06:00.137
มีแก้ไขก็ที่เดียวนะคะ เพราะฉะนั้น ข้อมูลถูกต้อง

91
00:06:00.138 --> 00:06:04.138
ก็เป็นปัจจุบันด้วย

92
00:06:04.137 --> 00:06:08.137
แล้วก็อย่างที่ให้เหตุผลเมื่อกี้นี้นะคะ การเก็บข้อมูล

93
00:06:08.138 --> 00:06:12.138
ที่เดียวนี่ มันก็จะลดการผิดพลาด การ

94
00:06:12.139 --> 00:06:16.139
เปลี่ยนแปลงข้อมูล ปรับปรุงข้อมูล อย่างที่บอก ก็คือ

95
00:06:16.139 --> 00:06:20.139
เปลี่ยนเบอร์โทรศัพท์หรือว่าเปลี่ยนบ้านเลขที่ ก็

96
00:06:20.140 --> 00:06:24.140
เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้ทุกที่

97
00:06:24.141 --> 00:06:28.141
นะคะ

98
00:06:28.142 --> 00:06:32.142
ความซ้ำซ้อนกันของข้อมูลนี่

99
00:06:32.144 --> 00:06:36.144
ผิดพลาดของการปรับปรุงของข้อมูลนะคะ แนวคิด

100
00:06:36.146 --> 00:06:40.146
ของการออกแบบฐานข้อมูลนี่ ก็คือการออกแบบข้อมูลที่

101
00:06:40.148 --> 00:06:44.148
ซ้ำซ้อนกันน้อยที่สุดนะคะ เพื่อประหยัดพื้นที่มนก่าร

102
00:06:44.149 --> 00:06:48.149
แล้วก็ลดปัญหาที่เกิดขึ้น ถ้าข้อมูลมันซ้ำซอนมาก

103
00:06:48.150 --> 00:06:52.150
เกินไปหรือปริมาณข้อมูลมีเยอะ

104
00:06:52.151 --> 00:06:56.151
เกินไปนะคะ

105
00:06:56.152 --> 00:07:00.152
อย่างเช่นตัวอย่างนะคะ

106
00:07:00.153 --> 00:07:04.153
ตารางด้านบน ตารางสีเทาด้านบน จะเป็นการออกแบบฐานข้อมูลที่ดี

107
00:07:04.154 --> 00:07:08.154
เดี๋ยวจะมาให้ดูว่าทำไมมันถึงดีกว่า

108
00:07:08.156 --> 00:07:12.156
ในตารางข้อมูลนี่มันจะมีตารางของพนักงานและตารางสาขา

109
00:07:12.156 --> 00:07:16.156
นะคะ จะเห็นได้ว่า

110
00:07:16.157 --> 00:07:20.157
ตารางพนักงานนี่ จะมีส่วนหนึ่งที่เป็นรหัสสาขา

111
00:07:20.158 --> 00:07:24.158
ห้อยไว้อยู่ ถามว่าทำไมไม่เอา

112
00:07:24.159 --> 00:07:28.159
ข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะ ทำไมต้องแยก

113
00:07:28.160 --> 00:07:32.160
ออกนะคะ อย่างถ

114
00:07:32.161 --> 00:07:36.161
ถ้านักศึกษาดูคนแรกนะคะ ดูคนแรก รหัสสาขา

115
00:07:36.162 --> 00:07:40.162
B005

116
00:07:40.163 --> 00:07:44.163
ก็คือสาขาเชียงใหม่

117
00:07:44.164 --> 00:07:48.164
ถ้าสมมติว่า

118
00:07:48.166 --> 00:07:52.166
พนักงานคนที่ 1 ลาออก

119
00:07:52.167 --> 00:07:56.167
ก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ

120
00:07:56.168 --> 00:08:00.168
มีการลบข้อมูล ลบคนนี้ออก

121
00:08:00.169 --> 00:08:04.169
ขีดฆ่าทิ้ง เดี๋ยวนะคะ

122
00:08:04.170 --> 00:08:08.170
ขีดฆ่าทิ้ง สิ่งไหนที่หายไปบ้าง

123
00:08:08.171 --> 00:08:12.171
แน่นอนสาขาเชียงใหม่จะหายไปด้วย สมมติ

124
00:08:12.173 --> 00:08:16.173
นะคะ ถ้าสมมติเราอยู่ด้วยกัน ถ้าสมมติพนักงานคนนี้ลาออก

125
00:08:16.174 --> 00:08:20.174
สาขาเชียงใหม่ยังอยู่ไหม ยังอยู่นะคะ

126
00:08:20.175 --> 00:08:24.175
ซึ่งแตกต่างจากด้านล่างนะคะ ด้านล่าง เห็นไหมคะ ว่า

127
00:08:24.176 --> 00:08:28.176
ถ้าสมมติว่าอาจารย์ลบทิ้งหมดเลย

128
00:08:28.178 --> 00:08:32.178
ลบทิ้งหมดนี่กากบาททิ้ง

129
00:08:32.179 --> 00:08:36.179
สาขาเชียงใหม่หายไปด้วย

130
00:08:36.180 --> 00:08:40.180
อันนี้คือการออกแบบที่ไม่ดีนะคะ เหมือน

131
00:08:40.181 --> 00:08:44.181
ว่าคนข้างล่าง คนนี้ออก

132
00:08:44.182 --> 00:08:48.182
สาขาพิษณุโลกก็หายไปด้วย

133
00:08:48.183 --> 00:08:52.183
แต่ถ้าเป็นตารางด้านบนนะคะ ถ้า

134
00:08:52.184 --> 00:08:56.184
คนนี้ลาออก สาขายังอยู่ไหม ยังอยู่เหมือนเดิมนะคะ

135
00:08:56.184 --> 00:09:00.184
อันนี้คือการออกแบบฐานข้อมูล

136
00:09:00.185 --> 00:09:04.185
ที่ดี ถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อกันเราจะต้องแยกตาราง

137
00:09:04.187 --> 00:09:08.187
ออกนะคะ

138
00:09:08.189 --> 00:09:12.189
ตัวอย่าง

139
00:09:12.190 --> 00:09:16.190
นะคะ ถ้าการออกแบบที่ดีจะลด

140
00:09:16.192 --> 00:09:20.192
ปัญหาความซ้ำซ้อนกันของข้อมูลออกได้นะคะ

141
00:09:20.193 --> 00:09:24.193
อย่างเช่นตรงนี้ อันนี้เป็นตารางที่ออกแบบไม่ดี

142
00:09:24.195 --> 00:09:28.195
นะคะ เห็นไหมคะว่ามันจะมีรหัสสาขา แล้วก็

143
00:09:28.196 --> 00:09:32.196
ที่อยู่ อยู่ในตารางเดียวกัน

144
00:09:32.197 --> 00:09:36.197
ถ้าสมมติว่าอาจารย์เพิ่มเข้ามาใหม่

145
00:09:36.198 --> 00:09:40.198
อีก 1 คนนะคะ เป็น EM

146
00:09:40.199 --> 00:09:44.199
10 ตรงนี้นะคะ ถ้าอาจารย์ต้องการเพิ่ม

147
00:09:44.200 --> 00:09:48.200
พนักงานสาขาเชียงใหม่ อาจารย์ก็ต้องมา

148
00:09:48.201 --> 00:09:52.201
กรอกข้อมูลตรงนี้อีกว่าเชียงใหม่นะ โน่นนี่นั่นโน่น

149
00:09:52.202 --> 00:09:56.202
นะคะ แต่ถ้าเป็นการออกแบบฐานข้อมูลที่ดีนี่

150
00:09:56.204 --> 00:10:00.204
เราแค่ใส่รหัสสาขานะคะ

151
00:10:00.205 --> 00:10:04.205
ไม่จำเป็นจะต้องพิมพ์ที่อยู่ทุกครั้งก็ได้นะคะ

152
00:10:04.206 --> 00:10:08.206
เหมือน

153
00:10:08.207 --> 00:10:12.207
เวลาคุรไปธนาคารใช่ไหมคะ คึณก็แค่ยื่นบตรั

154
00:10:12.208 --> 00:10:16.208
พนักงานธนาคารก็จะกรอกเลขบัตรประชาชนคุณลงไป

155
00:10:16.209 --> 00:10:20.209
นะคะ หรืออาจจะเอาชิปการ์ดของคุณเสียบเข้าไปใน

156
00:10:20.210 --> 00:10:24.210
เครื่อง ถามว่าตอนนี้เราได้กรอกข้อมูลไหม ไม่ต้อง

157
00:10:24.211 --> 00:10:28.211
ขอแค่มีเลขบัตรประชาชน ข้อมูลทุกอย่างที่คุณมี

158
00:10:28.212 --> 00:10:32.212
เขาจะดึงออกมาจากระบบให้เลย เราไม่ต้องเสียเวลากรอกนะคะ

159
00:10:32.213 --> 00:10:36.213
เหมือนเมื่อก่อนนี่

160
00:10:36.214 --> 00:10:40.214
ต้องเขียนใส่กระดาษเลขบัตรประชาชนอะไร

161
00:10:40.215 --> 00:10:44.215
ที่อยู่ที่ไหน เบอร์โทรศัพท์อะไร เด๋ยวนี้ไม่้องเลย ขอแค่ม

162
00:10:44.216 --> 00:10:48.216
ข้อมูลทุกอย่างเราสามารถดึงขึ้นมาได้อยู่แล้วนะคะ

163
00:10:48.217 --> 00:10:52.217
อันนี้ก็เช่นเดียวกันถ้ากรอกข้อมูลแบบไม่ดีนี่

164
00:10:52.218 --> 00:10:56.218
เราต้องกรอกข้อมูลทุกช่องทุกช่องเลยนี่

165
00:10:56.219 --> 00:11:00.219
คนเดียว ไม่เดือดร้อนค่ะ แต่ถ้าเป็พนักงานใหม่

166
00:11:00.222 --> 00:11:04.222
เป็นเหมือนโรงงานน่ะค่ะ ทีละ 1,000 คน ต้องนั่ง

167
00:11:04.223 --> 00:11:08.223
กรอกเชียงใหม่เป็นพัน ๆ ครั้งนี่ เสียเวลา

168
00:11:08.224 --> 00:11:12.224
มาก ๆ นะคะ อันนี้คือการออกแบบที่

169
00:11:12.225 --> 00:11:16.225
ไม่ดีนะคะ

170
00:11:16.229 --> 00:11:20.229
กับอีกอย่างหนึ่ง ถ้าสมมติว่า

171
00:11:20.230 --> 00:11:24.230
เมื่อกี้อาจารย์เพิ่มพนักงานแล้ว ถ้าอาจารย์อยากเพิ่มแค่สาขา

172
00:11:24.231 --> 00:11:28.231
นะคะ อยากเพิ่มแค่สาขา

173
00:11:28.232 --> 00:11:32.232
ซึ่งในตารางนี้ คีย์หลัก จำได้ไหมคะ

174
00:11:32.233 --> 00:11:36.233
จะเป็นคีย์ที่ขีดเส้นใต้

175
00:11:36.234 --> 00:11:40.234
ซึ่งอาจารย์อยากเพิ่มสาขา สมมติอาจารย์เพิ่ม

176
00:11:40.237 --> 00:11:44.237
B100 สกลนคร

177
00:11:44.238 --> 00:11:48.238
สกลนครนะคะ เพิ่มได้ไหม

178
00:11:48.239 --> 00:11:52.239
อาจจะเป็นการตั้งสาขา แต่ยังไม่มีพนักงานหรอกนะคะ

179
00:11:52.240 --> 00:11:56.240
ถ้าจากตารางนี้นะคะ

180
00:11:56.241 --> 00:12:00.241
เราจะเพิ่มเฉพาะชื่อสาขาไม่ได้ เนื่องจากเรายังไม่มี

181
00:12:00.242 --> 00:12:04.242
รหัสพนักงาน เพราะรหัสพนักงานเป็นคีย์หลัก

182
00:12:04.243 --> 00:12:08.243
คีย์หลัก คือ คุณสมบัติมัน คือ เป็นค่าว่างไม่ได้

183
00:12:08.244 --> 00:12:12.244
นะคะ อันนี้จะทำให้เราเพิ่ม

184
00:12:12.245 --> 00:12:16.245
สาขาไม่ได้ เพราะเราไม่มีพนักงาน อันนี้ก็เป็น

185
00:12:16.247 --> 00:12:20.247
ข้อผิดพลาดในการเพิ่มข้อมูล

186
00:12:20.248 --> 00:12:24.248
ถ้าเราออกแบบตารางแบบนี้นะคะ

187
00:12:24.249 --> 00:12:28.249
นี่ก็คือปัญญาที่เกิดขึ้นจากการออกแบบ

188
00:12:28.250 --> 00:12:32.250
ไม่ดี

189
00:12:32.251 --> 00:12:36.251
กับ

190
00:12:36.252 --> 00:12:40.252
ปัญหาต่อมา เป็นปัญหาการลบข้อมูลอย่างที่อาจารย์บอก

191
00:12:40.253 --> 00:12:44.253
คนนี้ลาออก สาขาเชียงใหม่

192
00:12:44.255 --> 00:12:48.255
หายไปด้วยนะคะ โดน

193
00:12:48.256 --> 00:12:52.256
ลบไป กรณีความผิดพลาดจากการเปลี่ยนแปลง

194
00:12:52.257 --> 00:12:56.257
นะคะ เหมือน B003 นี่ค่ะ เป็นกรุงเทพฯ

195
00:12:56.258 --> 00:13:00.258
ใช่ไหมคะ แล้วคราวนี้ข้อมูลมันอยู่ใน

196
00:13:00.260 --> 00:13:04.260
ตารางเดียวกัน ถ้านักศึกษาจะแก้ สมมติว่าเราย้าย

197
00:13:04.261 --> 00:13:08.261
จากรุงเทพฯ ไปอยู่นนทบุรี

198
00:13:08.262 --> 00:13:12.262
สมมติมีพนักงาน 3,000 คน

199
00:13:12.263 --> 00:13:16.263
คุณต้องแก้กรุงเทพฯ 3000 ครั้ง

200
00:13:16.265 --> 00:13:20.265
เป็นนนทบุรีนะคะ

201
00:13:20.267 --> 00:13:24.267
ถ้าพนักงานมี คน 2 คน ไม่ใช้ปัญหาค่ะ แต่ถ้าเป็น

202
00:13:24.268 --> 00:13:28.268
โรงงานขนาดใหญ่ นั่งแก้ทีละ 3,000 คน ไม่ใช่เรื่องสนุกแน่ ๆ นะคะ

203
00:13:28.269 --> 00:13:32.269
แน่ ๆ นะคะ

204
00:13:32.270 --> 00:13:36.270
อันนี้ก็เป็นปัญหานะคะ

205
00:13:36.271 --> 00:13:40.271
เพราะฉะนั้นเราควรแยกตารางพนักงาน

206
00:13:40.272 --> 00:13:44.272
กับตารางสาขาออกจากกันนะคะ นี่คือเหตุผล

207
00:13:44.273 --> 00:13:48.273
ข้อมูลขนาดเล็กนะคะ เรายังเห็นปัญหาขนาดนี้ สมมติถ้า

208
00:13:48.274 --> 00:13:52.274
เป็นองค์กรขนาดใหญ่ เป็นบริษัท เป็นโรงงาน หรือ

209
00:13:52.274 --> 00:13:56.274
ระดับโรงเรียนมีนักเรียน 2-3 ร้อย หรือ 2-3 พันคน

210
00:13:56.275 --> 00:14:00.275
ก็ได้นะคะ มันก็จะมีปัญหาเยอะมาก ถ้าเกิดเราจัดตารางไม่ดี

211
00:14:00.276 --> 00:14:04.276
นะคะ

212
00:14:04.278 --> 00:14:08.278
จากปัญหาที่เกิดขึ้นเมื่อกี้อย่างที่บอกค่ะ

213
00:14:08.278 --> 00:14:12.278
เราจะแก้ปัญหาโดยการแยกหตารางเป็น 2 ตรชารางแบบนี้

214
00:14:12.279 --> 00:14:16.279
นะคะ

215
00:14:16.280 --> 00:14:20.280
การขึ้นต่อกัน เดี๋ยว

216
00:14:20.281 --> 00:14:24.281
จะเป็นเกี่ยวกับตารางหนึ่งมีผลกับอีกตารางหนึ่ง เราเรียกฟังก์ชันที่มี

217
00:14:24.282 --> 00:14:28.282
การขึ้นต่อกัน

218
00:14:28.283 --> 00:14:32.283
เดี๋ยวดูตัวอย่างเลยแล้วกันนะคะ อย่างเช่น ตารางนี้

219
00:14:32.284 --> 00:14:36.284
นะคะ ดูจากรหัสพนักงานนะคะ

220
00:14:36.285 --> 00:14:40.285
เราจะเห็นได้ว่ารหัสพนักงาน

221
00:14:40.286 --> 00:14:44.286
จะส่งผลกับชื่อตำแหน่ง

222
00:14:44.287 --> 00:14:48.287
สัญลักษณ์ของการขึ้นต่อกันนะคะ อันไหนเป็นตัวหลั

223
00:14:48.289 --> 00:14:52.289
จะชี้ไปที่ตัวรองตามหัวลูกศรเลย

224
00:14:52.290 --> 00:14:56.290
ดูทิศทางตามหัวลูกศรนะคะ อันไหน

225
00:14:56.292 --> 00:15:00.292
เป็นตัวหลักอันไหนเป็นตัวรองนะคะ

226
00:15:00.293 --> 00:15:04.293
อย่างเช่น ตัวนี้

227
00:15:04.294 --> 00:15:08.294
ถามว่าตำแหน่งมาชี้ที่รหัส

228
00:15:08.295 --> 00:15:12.295
พนักงานได้ไหมนะคะ ถามว่าไม่ได้

229
00:15:12.296 --> 00:15:16.296
นะคะ เพราะการขึ้นต่อกันจะต้องเป็นลักษณะ 1 ต่อ 1

230
00:15:16.297 --> 00:15:20.297
เท่านั้น นะคะ เป็น

231
00:15:20.299 --> 00:15:24.299
1 ต่อกลุ่ม ไม่ได้

232
00:15:24.300 --> 00:15:28.300

233
00:15:28.301 --> 00:15:32.301
ชนิดของการขึ้นต่อกัน

234
00:15:32.302 --> 00:15:36.302
นะคะ จะมีอยู่ 4 ชนิดนะคะ

235
00:15:36.302 --> 00:15:40.302
ชนิดแรกเป็นการขึ้นต่อกันโดยสมบูรณ์นะคะ

236
00:15:40.303 --> 00:15:44.303
ซึ่งอาจจะเป็นเกี่ยวกับ

237
00:15:44.304 --> 00:15:48.304
ตารางนะคะ จะมีคอลัมน์ 1 คอลัมน์

238
00:15:48.305 --> 00:15:52.305
หรือมากกว่า 1 คอมลัมน์มาประกอบกัน โดยใน 1 ค่านั้น ๆ จะ

239
00:15:52.306 --> 00:15:56.306
บรรจุค่าที่ระบุความพิเศษ

240
00:15:56.308 --> 00:16:00.308
ความพิเศษของแถวแถวหนึ่งได้อย่างชัดเจนนะคะ

241
00:16:00.309 --> 00:16:04.309
ก็คือ Attribute Attribute 1 นี่

242
00:16:04.310 --> 00:16:08.310
Record แถว ๆ นั้นนี่ จะมีลักษณะพิเศษอย่างไร

243
00:16:08.311 --> 00:16:12.311
นะคะ โดยในทุกความสัมพันธ์นี่จะต้อง

244
00:16:12.312 --> 00:16:16.312
ระบุค่าคีย์หลักไว้ด้วย ซึ่ง

245
00:16:16.313 --> 00:16:20.313
คียืหลักนี่คือเป็นค่าเอกลักษณ์ ไม่ซ้กกันอย

246
00:16:20.314 --> 00:16:24.314
นะคะ

247
00:16:24.315 --> 00:16:28.315
อย่างเช่นการขึ้นต่อกันโดยสมบูรณ์

248
00:16:28.315 --> 00:16:32.315
อันแรกนะคะ Attribute ที่...

249
00:16:32.316 --> 00:16:36.316
จำได้ใช่ไหมคะ คีย์หลักจ

250
00:16:36.317 --> 00:16:40.317
ที่มีขีดเส้นใต้นะคะ

251
00:16:40.318 --> 00:16:44.318
คอลัมน์ที่ไม่ใช่คีย์หลักจะขึ้นตรง

252
00:16:44.319 --> 00:16:48.319
ต่อคอลัมน์ที่เป็นคีย์หลักคอลัมน์เดียวเท่านั้น

253
00:16:48.321 --> 00:16:52.321
เช่น เลขบัตรประชาชนตัวนี้

254
00:16:52.322 --> 00:16:56.322
จะขึ้น จะเป็นเจ้าของชื่อนี้เท่านั้นนะคะ

255
00:16:56.329 --> 00:17:00.329
เพราะฉะนั้นการขึ้นต่อกันโดยสมบูรณ์ จะเป็น

256
00:17:00.331 --> 00:17:04.331
แบบ 1 ต่อ 1 นะคะ เลขบัตรประชาชน 1 เลข

257
00:17:04.332 --> 00:17:08.332
จะต้องเป็นของคน ๆ เดียวเท่านั้น

258
00:17:08.333 --> 00:17:12.333
ไม่ใช่ว่าเลขบัตรประชาชนนี้ใช้ 10 คน เป็นไปไม่ได้นะคะ

259
00:17:12.333 --> 00:17:16.333

260
00:17:16.335 --> 00:17:20.335
ตัวอย่าง

261
00:17:20.336 --> 00:17:24.336
นะคะ ตารางที่มีคอลัมน์

262
00:17:24.337 --> 00:17:28.337
หลายตัวนะคะ ขึ้นอยู่กับคีย์หลักตัวเดียว เช่น คน 1 คนนี่

263
00:17:28.339 --> 00:17:32.339
ข้อมูล ชื่อ นามสกุล วันเกิด ปีเกิด วันที่ทำบัตร ใช่ไหมคะ

264
00:17:32.342 --> 00:17:36.342
แต่ว่าเขาจะต้องขึ้นตรงกับเลขบัตรประชาชนเดียว

265
00:17:36.343 --> 00:17:40.343
เท่านั้น ถามว่า 3 คนนี้ อาจจะเกิดวันเดียวกันก็ได้ค่ะ

266
00:17:40.344 --> 00:17:44.344
ก็ได้ค่ะ แต่เลขบัตรประชาชนเขาไม่เหมือนกัน

267
00:17:44.345 --> 00:17:48.345
หรือเขาอาจจะมาทำบัตรวันเดียวกัน

268
00:17:48.346 --> 00:17:52.346
แต่เลขบัตรประชาชนเขาจะไม่ซ้ำกัน

269
00:17:52.348 --> 00:17:56.348
นะคะ คืออะไรซ้ำกันได้ทุกอย่างค่ะ ยกเว้นหมายเลข

270
00:17:56.352 --> 00:18:00.352
บัตรประชาชน

271
00:18:00.353 --> 00:18:04.353

272
00:18:04.354 --> 00:18:08.354
แต่

273
00:18:08.355 --> 00:18:12.355
บางตารางนะคะ ก็อาจจะเป็นการ

274
00:18:12.356 --> 00:18:16.356
รวมตัวกันของคีย์หลักมากกว่า 1 คีย์หลักนะคะ

275
00:18:16.357 --> 00:18:20.357
มารวมกันเช่น นักศึกษา

276
00:18:20.358 --> 00:18:24.358
คนนี้นะคะ รหัสนักศึกษานี้

277
00:18:24.358 --> 00:18:28.358
ลงทะเบียนวิชานี้นะคะ ได้เกรด

278
00:18:28.359 --> 00:18:32.359
อะไรนะคะ อันนี้ก็เป็นความสัมพันธ์ที่เกิดขึ้นได้เหมือนกัน ถามว่ารหัสนั

279
00:18:32.360 --> 00:18:36.360
ซ้ำกันได้ไหม ไม่ซ้ำนะคะ

280
00:18:36.361 --> 00:18:40.361
รหัสวิชาซ้ำกันได้ไหม ไม่ซ้ำนะคะ เหมือนชื่อ

281
00:18:40.364 --> 00:18:44.364
วิชาอาจารย์ก็รหัสหนึ่ง

282
00:18:44.365 --> 00:18:48.365
ชื่ออาจารย์คนอื่น ก็รหัสวิชาอีกอันหนึ่ง อันนี้ไม่ซ้ำกันอยู่แล้ว

283
00:18:48.366 --> 00:18:52.366
ต่อมา

284
00:18:52.369 --> 00:18:56.369
ขึ้นต่อกันบางส่วน มันก็จะเป็น

285
00:18:56.369 --> 00:19:00.369
อาศัยความสัมพันธ์ที่เกิดขึ้นจาก

286
00:19:00.370 --> 00:19:04.370
คีย์ผสมนะคะ อาจจะเป็นตารางอื่น

287
00:19:04.372 --> 00:19:08.372
อาจจะไม่ใช่คีย์หลักก็ได้แต่มันมี

288
00:19:08.373 --> 00:19:12.373
ความหมายกับอีกคอลัมน์หนึ่งนะคะ เดี๋ยวยกตัวอย่างเลยดีกว่า

289
00:19:12.375 --> 00:19:16.375
นะคะ

290
00:19:16.376 --> 00:19:20.376
อย่างเช่น เมื่อตารางที่อาจารย์ให้ดูเมื่อกี้นะคะ มีรหัสนักศึกษา

291
00:19:20.377 --> 00:19:24.377
วิชา มีเกรดแล้วก็มีการบอกด้วยว่า

292
00:19:24.378 --> 00:19:28.378
รหัววิชานี้เป็นชื่อวิชาอะไร

293
00:19:28.379 --> 00:19:32.379
นะคะ มันจะเป็น

294
00:19:32.380 --> 00:19:36.380
การเกิดขึ้น เมื่อคีย์หลักประกอบกันด้วยคอลัมน์หลาย Attribute รวมกัน

295
00:19:36.380 --> 00:19:40.380
โดยบางส่วนของคีย์หลัก

296
00:19:40.381 --> 00:19:44.381
สามารถไประบุค่า Attribute อื่น

297
00:19:44.382 --> 00:19:48.382
ที่ไม่ใช่คีย์หลักได้นะคะ อย่างเช่น

298
00:19:48.385 --> 00:19:52.385
ในความสัมพันธ์นี้ คีย์หลักจะมี 2 ตัว มีรหัสนักศึกษา

299
00:19:52.386 --> 00:19:56.386
กับรหัสวิชานะคะ

300
00:19:56.388 --> 00:20:00.388
ถามว่าถ้า

301
00:20:00.389 --> 00:20:04.389
มีแต่รหัสนักศึกษา เกรด

302
00:20:04.390 --> 00:20:08.390
นะคะ รหัสวิชา แล้วเราจะรู้ไหมว่าชื่อวิชาที่เรา

303
00:20:08.391 --> 00:20:12.391
เรียนไปนี่ ชื่อวิชาอะไร

304
00:20:12.392 --> 00:20:16.392
นะคะ เหมือนบางคน

305
00:20:16.393 --> 00:20:20.393
รู้รหัสวิชา แต่จำชื่อวิชาไม่ได้ก็มี

306
00:20:20.395 --> 00:20:24.395
เพราะฉะนั้น รหัสวิชานี่ ก็สามารถไปส่งผลกับชื่อวิชา

307
00:20:24.396 --> 00:20:28.396
เหมือนกันเพราะเป็นตัวระบุว่ารหัสวิชานี้ เป็น

308
00:20:28.403 --> 00:20:32.403
ชื่อวิชาอะไรนะคะ ก็คือคีย์หลักในตารางนี้

309
00:20:32.404 --> 00:20:36.404
มี 2 อัน แต่มีคีย์หลัก 1ตัวนี้ แต่

310
00:20:36.407 --> 00:20:40.407
ไปมีผลกับอีก Attribute หนึ่งได้นะคะ อันนี้คือการ

311
00:20:40.410 --> 00:20:44.410
ขึ้นต่อกันบางส่วน

312
00:20:44.411 --> 00:20:48.411
นะคะ อย่างเช่นตัวนี้

313
00:20:48.412 --> 00:20:52.412
ก็จะเป็นของจริง ถ้าสมมติว่าอาจาย์ตัดรห

314
00:20:52.413 --> 00:20:56.413
ออก มีแค่รหัสวิชา มีเกรด มีชื่อวิชาดารเขียนโปปรแกรม

315
00:20:56.414 --> 00:21:00.414
แล้วถาม รู้ไหมคะ ว่าเกรด A นี้ของใคร

316
00:21:00.415 --> 00:21:04.415
ไม่รู้นะคะ

317
00:21:04.416 --> 00:21:08.416
หรือว่า เดี๋ยวลบอันนี้ออกก่อนนะ

318
00:21:08.418 --> 00:21:12.418
หรือว่าอาจารย์ลบรหัส

319
00:21:12.418 --> 00:21:16.418
วิชาออก เหลือแต่นักศึกษา

320
00:21:16.419 --> 00:21:20.419
เหลือเกรด เหลือชื่อวิชา แล้วถามว่า

321
00:21:20.420 --> 00:21:24.420
แล้วรหัสวิชาอะไรล่ะ

322
00:21:24.421 --> 00:21:28.421
ที่เราได้เกรด A เราก็ไม่ทราบอีกเหมือนกันนะคะ อันนี้คือ

323
00:21:28.424 --> 00:21:32.424
การขึ้นต่อกันบางส่วนนะคะ

324
00:21:32.425 --> 00:21:36.425

325
00:21:36.426 --> 00:21:40.426
ตัวอย่างนะคะ

326
00:21:40.427 --> 00:21:44.427
ต่อมา เป็นการขึ้นต่อกันแบบส่งต่อนะคะ ก็จะเป็นความสัมพันธ์

327
00:21:44.428 --> 00:21:48.428
ที่เกิดขึ้นก็ต่อเมื่อ มี Attribute อื่น ๆ ที่

328
00:21:48.429 --> 00:21:52.429
ไม่ใช่คีย์หลัก แต่

329
00:21:52.430 --> 00:21:56.430
ไปสามารถขึ้น สามารถระบุค่า

330
00:21:56.431 --> 00:22:00.431
ของ Attribute ใน Record ได้นะคะ ซึ่งเป็นการออกแบบ

331
00:22:00.432 --> 00:22:04.432
ไม่เหมาะสม นะคะ

332
00:22:04.433 --> 00:22:08.433
เพราะส่วนใหญ่แล้วในตารางนี่ ถ้า

333
00:22:08.434 --> 00:22:12.434
จะระบุค่าอื่นให้คอลัมนือื่นได้ ก็

334
00:22:12.435 --> 00:22:16.435
ควรจะต้องเป็นคีย์หลักเท่านั้นนะคะ

335
00:22:16.436 --> 00:22:20.436
ดูตัวอย่างนะคะ

336
00:22:20.437 --> 00:22:24.437
เช่น ตารางนี้เขาบอกว่าสิ่งที่เกิดขึ้น คือ

337
00:22:24.439 --> 00:22:28.439
Attribute ก็คือคอลัมน์ที่ไม่ใช่คีย์หลัก หรือPrimary Key

338
00:22:28.440 --> 00:22:32.440
นะคะ ก็คือไม่คอลัมน์ที่มีเส้นขีดนี่ มันไประบุค่าในคอม

339
00:22:32.442 --> 00:22:36.442
ได้เช่น ตารางนี่คีย์หลักก็คือเลขที่ประจำตัว

340
00:22:36.443 --> 00:22:40.443
นะคะ โดยเลขประจำตัวนี้จะไป

341
00:22:40.444 --> 00:22:44.444
มีผลกับชื่อ นามสกุล ที่อยู่ ตำแหน่ง

342
00:22:44.445 --> 00:22:48.445
ใช่ไหมคะ แต่คราวนี้ รถประจำตำแหน่ง

343
00:22:48.445 --> 00:22:52.445
มันไม่ถูกระบุโดยเลขประจำตัว

344
00:22:52.446 --> 00:22:56.446
มันถูกระบุโดยรหัสตำแหน่ง

345
00:22:56.447 --> 00:23:00.447
เหมือนถ้าเป็นผู้จัดการนี่

346
00:23:00.450 --> 00:23:04.450
จะรู้เลยว่ารถประจำตำแหน่งคืออะไร แต่เขาไปเช็กเลข

347
00:23:04.451 --> 00:23:08.451
แทนที่จะเช็กกับเลขประจำตัว อันนี้

348
00:23:08.453 --> 00:23:12.453
คือการออกแบบที่ไม่ดี

349
00:23:12.456 --> 00:23:16.456
เพราะฉะนั้น ถ้าจะให้รถประจำตำแหน่ง

350
00:23:16.457 --> 00:23:20.457
วิธีการแก้ปัญหา ก็คือเราควรจะแยกตาราง

351
00:23:20.458 --> 00:23:24.458
นี้ ออก

352
00:23:24.459 --> 00:23:28.459
ไปสร้างตารางใหม่เลยค่ะ มันไม่ควรจะไปขึ้นกับตาราง

353
00:23:28.460 --> 00:23:32.460
ที่มีคีย์หลัก

354
00:23:32.461 --> 00:23:36.461
แต่ไม่สามารถระบุค่าข้อมูลตรงนี้ได้นี่

355
00:23:36.462 --> 00:23:40.462
นะคะ

356
00:23:40.463 --> 00:23:44.463
กับต่อมาเป็นการขึ้นต่อกันเชิงกลุ่ม

357
00:23:44.464 --> 00:23:48.464
นะคะ ก็จะเป็นความสัมพันธ์

358
00:23:48.465 --> 00:23:52.465
ระหว่างคอลัมน์ หรือ Attribute นี่ คือ ขึ้นต่อกันโดยสมบูรณ์นะคะ

359
00:23:52.468 --> 00:23:56.468
ก็ไปสามารถไประบุค่าอื่นได้

360
00:23:56.469 --> 00:24:00.469
โดยที่อย่างเช่นตัวอย่างนะคะ

361
00:24:00.470 --> 00:24:04.470
ในตารางนี้นะคะ จะมีรหัส

362
00:24:04.473 --> 00:24:08.473
หลักสูตร สามารถระบุรหัสวิชาได้หลายวิชา เช่น

363
00:24:08.474 --> 00:24:12.474
ในรหัสนักศึกษาจะได้เห็นได้ว่ามีเลข

364
00:24:12.474 --> 00:24:16.474
122

365
00:24:16.475 --> 00:24:20.475
เป็นรหัสนักศึกษา 122 คืออะไร

366
00:24:20.476 --> 00:24:24.476
ก็คือหลักสูตรที่เราเรียนอยู่นะคะ

367
00:24:24.477 --> 00:24:28.477
ซึ่งในหลักสูตรที่เราเรียนนี่ มันมี

368
00:24:28.478 --> 00:24:32.478
วิชามากกว่า 20 วิชา

369
00:24:32.479 --> 00:24:36.479
นะคะ นั่นก็คือในรหัสหลักสูตรนี่

370
00:24:36.480 --> 00:24:40.480
มันสามารถระบุหรัสวิชาได้หลากหลาย

371
00:24:40.483 --> 00:24:44.483
นะคะ อันนี้ก็คือ

372
00:24:44.484 --> 00:24:48.484
การขึ้นต่อกันแบบมีค่ามากกว่า 1

373
00:24:48.485 --> 00:24:52.485
นะคะ รหัสหลักสูตร สามารถระบุรหัสวิชาได้หลายค่า

374
00:24:52.486 --> 00:24:56.486
นั่นเองนะคะ แล้วรหัสหลักสูตร ก็สามารถระบุค่า

375
00:24:56.488 --> 00:25:00.488
รหัสนักศึกษษได้หลายคนเช่นเดียวกัน

376
00:25:00.489 --> 00:25:04.489
เหมือนตอนนี้หลักสูตรที่เราเรียนนี่มีนักศึกษามากกว่า 100 คน

377
00:25:04.490 --> 00:25:08.490
แต่รหัสหลักสูตรเดียวนะ

378
00:25:08.491 --> 00:25:12.491
นะคะ นี่คือความสัมพันธ์แบบระบุค่าได้มากกว่า 1 นั่นเอง

379
00:25:12.492 --> 00:25:16.492
แบบหลายค่านะคะ

380
00:25:16.493 --> 00:25:20.493
เพราะฉะนั้น

381
00:25:20.494 --> 00:25:24.494
วิธีการแก้ปัญหาของสิ่งที่เกิดขึ้นนะคะ

382
00:25:24.495 --> 00:25:28.495
เราเลยจะต้องมีการ กระบวนการปรับบรรทัดฐาน

383
00:25:28.496 --> 00:25:32.496
โครงสร้างของ ที่มีความซ้ำซ้อนกัน

384
00:25:32.497 --> 00:25:36.497
ให้อยู่ในรูปแบบที่เป็นบรรทัดฐาน เป็นรูปแบบ

385
00:25:36.499 --> 00:25:40.499
ที่พร้อมที่จะเอาไปพัฒนาเป็นฐานข้อมูลได้

386
00:25:40.501 --> 00:25:44.501
นะคะ โดยหลักการนะคะ อย่างที่บอก มี 5 ระดับ

387
00:25:44.502 --> 00:25:48.502
แต่ในระดับที่ 3 นี่ ก็เพียงพอสำหรับการออกแบบฐานข้อมูลในปัจจุบัน

388
00:25:48.503 --> 00:25:52.503
แล้วนะคะ โดย

389
00:25:52.507 --> 00:25:56.507
คีย์หลักของการทำงานนะคะ

390
00:25:56.507 --> 00:26:00.507
ขั้นที่ 1 นะคะ กำจัดกลุ่มของข้อมูลมีความซ้ำซ้อนกันออกไป

391
00:26:00.508 --> 00:26:04.508
ข้อแรกง่ายมาก ๆ

392
00:26:04.509 --> 00:26:08.509
ง่ายที่สุด ก็คือ 1NF นะคะ

393
00:26:08.510 --> 00:26:12.510
ต่้อมา ข้อที่ 2 หรือ 2 NF นะคะ

394
00:26:12.511 --> 00:26:16.511
จะกำจัดการขึ้นต่อกันบางส่วนออก

395
00:26:16.513 --> 00:26:20.513
นะคะ ขั้นสุดท้าย

396
00:26:20.514 --> 00:26:24.514
3NF นะคะ กำจัดการขึ้นต่อกันของ Attribute

397
00:26:24.515 --> 00:26:28.515
ที่ไม่ใช่คีย์หลักนะคะ เดี๋ยวจะมาดู

398
00:26:28.516 --> 00:26:32.516
ทีละขั้น ว่ามันจะต้องเป็นอย่างไรบ้างนะคะ

399
00:26:32.518 --> 00:26:36.518
ข้อแรกง่ายที่สุด ง่ายมาก ๆ นะคะ

400
00:26:36.519 --> 00:26:40.519
ให้นักศึกษาจำ

401
00:26:40.520 --> 00:26:44.520
กระบวนการหลัก ๆ ก็จะมี 3 ข้อนะคะ

402
00:26:44.521 --> 00:26:48.521
ดูก่อน ว่าข้อมูลมันซ้ำซ้อนกันไหม ขั้นที่ 2 ก็ดู

403
00:26:48.522 --> 00:26:52.522
มันขึ้นต่อกันแค่บางส่วนหรือเปล่านะคะ ขั้นที่ 3

404
00:26:52.526 --> 00:26:56.526
ค่าอันไหนไม่ใช่คีย์หลัก แต่มันไปส่งผลกระทบ

405
00:26:56.527 --> 00:27:00.527
กับข้อมูลอื่นได้หรือเปล่านะคะ

406
00:27:00.528 --> 00:27:04.528
ดูขั้นตอนที่ 1 ก่อนนะคะ ขั้นต้อนที่ 1 ง่ายมาก

407
00:27:04.529 --> 00:27:08.529
นะคะ ทุก ๆ คอลัมน์

408
00:27:08.533 --> 00:27:12.533
หรือ Attribute ในแต่ละ Record จะต้องเป็นค่า Single Value

409
00:27:12.534 --> 00:27:16.534
มีค่าเดียวเท่านั้นนะคะ จะใส่แบบนี้

410
00:27:16.535 --> 00:27:20.535
ไม่ได้ เพราะฉะนั้น ข้อมูลทุกแถวจะต้องมีค่าที่ไม่ซ้ำกัน

411
00:27:20.536 --> 00:27:24.536
อย่างตัวนี้ นักศึกษาคนที่ 1

412
00:27:24.538 --> 00:27:28.538
1 เทอมนี้คุณลงทะเบียนประมาณ 6-7 วิชา

413
00:27:28.540 --> 00:27:32.540
ใช่ไหมคะ ข้อมูลมันก็จะเป็นแบบนี้

414
00:27:32.543 --> 00:27:36.543
ถ้าเราไม่มีการทำ Normalization

415
00:27:36.545 --> 00:27:40.545
แต่คราวนี้ขั้นตอนที่ 1 เราจะ

416
00:27:40.546 --> 00:27:44.546
ตัดข้อมูลที่ซ้ำซ้อนกันออก วิธีการง่ายมากค่ะ

417
00:27:44.547 --> 00:27:48.547
คือแยกข้อมูลออกเป็นอย่างละแถวที่ไม่ซ้ำกัน

418
00:27:48.548 --> 00:27:52.548
ดูตัวอย่างนะคะ วิธี

419
00:27:52.549 --> 00:27:56.549
การทำ 1 NF ง่ายมากค่ะ ถ้า

420
00:27:56.550 --> 00:28:00.550
คนที่ 1 ลงวิชา... ลงทะเบียนเรียน 3 วิชาใช่ไหมคะ

421
00:28:00.551 --> 00:28:04.551
คนที่ 2 มี 2 วิชา สามารถทำ

422
00:28:04.551 --> 00:28:08.551
ในรูปแบบ 1NF ก็คือเอามากระจายออกมาค่ะ เอาข้อมูล

423
00:28:08.552 --> 00:28:12.552
พวกนี้ออกมา กระจายออกเห็นไหมคะ กระจายออก

424
00:28:12.553 --> 00:28:16.553
1NF ง่ายมากนะคะ

425
00:28:16.554 --> 00:28:20.554
ข้อมูลพวกนนี้ก็ทำซ้ำลงมา ทำซ้ำลงมา

426
00:28:20.555 --> 00:28:24.555
ทำซ้ำลงมานะคะ ทำซ้ำลงมา

427
00:28:24.556 --> 00:28:28.556
ถามว่า เอ้า อาจารย์คะ ทำไม

428
00:28:28.557 --> 00:28:32.557
มัน... แล้วทำไม 001 มันซ้ำกันได้ล่ะ นี่นั่นโน่น

429
00:28:32.558 --> 00:28:36.558
แตรหัสวิชาเขาไม่ซ้ำกัน

430
00:28:36.560 --> 00:28:40.560
เห็นไหมคะ 1 NF นี่ ง่ายมากค่ะ

431
00:28:40.561 --> 00:28:44.561
ข้อมูลถ้ามันเป็นก้อนอาจารย์นี้ เรากระจายมันออกเป็น

432
00:28:44.562 --> 00:28:48.562
บรรทัด ๆ เลย แค่นั้นเอง อย่าง

433
00:28:48.563 --> 00:28:52.563
น้อยในข้อสอบ ต้องทำ 1NF ให้ได้

434
00:28:52.564 --> 00:28:56.564
เพราะมันง่ายที่สุดแล้วนะคะ

435
00:28:56.566 --> 00:29:00.566
อย่างเช่นตัวนี้นะคะ ก็กระจายออกมา

436
00:29:00.567 --> 00:29:04.567

437
00:29:04.568 --> 00:29:08.568
แล้วคราวนี้ถ้าเรากระจายข้อมูล

438
00:29:08.569 --> 00:29:12.569
เรียบร้อยแล้วนะคะ ก็จะมาดูว่า อย่างในตารางนี้น่ะค่ะ เป็นตาราง

439
00:29:12.570 --> 00:29:16.570
เป็นของพนักงานใช่ไหมคะ

440
00:29:16.571 --> 00:29:20.571
เขาจะมีคีย์หลัก 1 ตัวแล้ว แต่ว่ามันยังมี

441
00:29:20.572 --> 00:29:24.572
ตัวนี้ค่ะ ตัวที่  1 ตัวที่ 2

442
00:29:24.573 --> 00:29:28.573
ที่มีคุณสมบัติเป็นคีย์หลักได้

443
00:29:28.574 --> 00:29:32.574
เราต้องแยกมันออก

444
00:29:32.575 --> 00:29:36.575
นะคะ กระบวนการ

445
00:29:36.577 --> 00:29:40.577
นะคะ ดูก่อนว่าตารางเมื่อกี้

446
00:29:40.578 --> 00:29:44.578
นะคะ สิ่งที่ขึ้นตรงกับคีย์หลักตัวนี้นะคะ จะเป็นตัวที่ 1 ตัวที่ 2

447
00:29:44.582 --> 00:29:48.582
ตัวที่ 3 สังเกตแล้วว่าคีย์หลัก

448
00:29:48.584 --> 00:29:52.584
มีตัวเดียว แต่ข้อมูลมีเยอะมากนะคะ เราแยกออกมาได้

449
00:29:52.584 --> 00:29:56.584
อันแรกเลย ก็จะมีรรหัส

450
00:29:56.585 --> 00:30:00.585
โพรเจกต์นะคะ ใครเป็นผู้จัดการ เงินเดือน

451
00:30:00.586 --> 00:30:04.586
เท่าไร ไม่ใช่สิ

452
00:30:04.587 --> 00:30:08.587
งบประมาณเท่าไรนะคะ อันนี้คือมันจะเชื่อมโยงกับข้อมูลที่เป็นคีย์หลัก

453
00:30:08.588 --> 00:30:12.588
ก้คือโพรเจกต์โค้ดตัวนี้นะคะ

454
00:30:12.589 --> 00:30:16.589
ส่วนตัวนี้ เป็น

455
00:30:16.591 --> 00:30:20.591
คีย์คู่แข่ง 2 ตัว

456
00:30:20.596 --> 00:30:24.596
นะคะ 2 ตัวนี่มันสามารถทำหน้าที่เป็นคีย์หลักให้

457
00:30:24.598 --> 00:30:28.598
กับอย่างตัวนี้นะคะ มันจะเป็นคีย์หลัก

458
00:30:28.599 --> 00:30:32.599
ให้กับชื่อของพนักงาน อย่างตัวนี้

459
00:30:32.600 --> 00:30:36.600
ก็จะเป็นคีย์หลักสำหรับชื่อแผนก

460
00:30:36.602 --> 00:30:40.602
นะคะ ถามว่ามันขึ้นตรงกับ Project Code ไหม

461
00:30:40.605 --> 00:30:44.605
ไม่นะคะ

462
00:30:44.606 --> 00:30:48.606
เพราะฉะนั้น การทำขั้นตอน

463
00:30:48.607 --> 00:30:52.607
ต่อมานะคะ 2 NF ขั้นตอนที่ 1

464
00:30:52.608 --> 00:30:56.608
เราจะต้องทำ 1NF มาเรียบร้อยแล้ว ง่ายมาก

465
00:30:56.609 --> 00:31:00.609
นะคะ แล้วก็ต้องมาตัดของการขึ้นบางส่วน

466
00:31:00.612 --> 00:31:04.612
ออกนะคะ ก็คือการกำจัด Attribute ที่

467
00:31:04.613 --> 00:31:08.613
ไม่ขึ้นกับคีย์หลักของตารางนั้น ๆ นั่งเอง

468
00:31:08.614 --> 00:31:12.614
กำจัดออกนะคะ

469
00:31:12.615 --> 00:31:16.615
อย่างเช่นตัวนี้นะคะ การขึ้นต่อกัน

470
00:31:16.616 --> 00:31:20.616
บางส่วน จะเห็นได้ว่ารหัสวิชากับชื่อวิชา

471
00:31:20.618 --> 00:31:24.618
มันไม่ขึ้นตรงกับรหัสนักศึกษาใช่ไหมคะ จำได้ไหมคะ

472
00:31:24.619 --> 00:31:28.619
รูปเดิมนะคะ รูปเดิม

473
00:31:28.620 --> 00:31:32.620
วิธีกำจัดปัญหา

474
00:31:32.621 --> 00:31:36.621
เราก็ดึงสิ่งที่มันเป็นปัญหาค่ะ สิ่งที่มันไม่ขึ้นตรงกับคีย์หลักนั้น

475
00:31:36.622 --> 00:31:40.622
ตารางใหม่ สร้างตารางเพิ่ม

476
00:31:40.623 --> 00:31:44.623
นะคะ เอาสิ่งที่เป็นปัญหาออกมาไปใส่ตารางใหม่

477
00:31:44.628 --> 00:31:48.628
กำหนดคีย์หลักใหม่นะคะ

478
00:31:48.629 --> 00:31:52.629
ในตารางเดิมนะคะ เราก็เอาคีย์หลักของตารางใหม่

479
00:31:52.630 --> 00:31:56.630
ไปใส่แค่นั้นเองนะคะ

480
00:31:56.631 --> 00:32:00.631
วิธีการ ก็คือเหมือนรูปนี้นะคะ

481
00:32:00.632 --> 00:32:04.632
สิ่งที่เป็นปัญหาที่อาจารย์ยกตัวอย่าง

482
00:32:04.633 --> 00:32:08.633
กับชื่อวิชานะคะ เพราะรหัสวิชามันไม่ได้

483
00:32:08.636 --> 00:32:12.636
ขึ้นตรงกับรหัสนักศึกษา

484
00:32:12.636 --> 00:32:16.636
นะคะ เพราะฉะนั้น ไอ้ 2 ตัวนี้คือสิ่ง

485
00:32:16.637 --> 00:32:20.637
ที่เป็นปัญหานะคะ วิธีแก้ปัญหาคือ

486
00:32:20.638 --> 00:32:24.638
เราสร้างตารางผลการเรียนใหม่ สร้างตารางวิชาใหม่

487
00:32:24.639 --> 00:32:28.639
เห็นไหมคะ ในตารางใหม่เราจะตัดชื่อวิชาออก

488
00:32:28.641 --> 00:32:32.641
แต่ต้องเหลือ

489
00:32:32.643 --> 00:32:36.643
รหัสวิชาไว้ เพื่อให้ไปเชื่อมโยงว่า

490
00:32:36.644 --> 00:32:40.644
รหัสวิชานี้ มันชื่อวิชาอะไร จากอีกตารางหนึ่ง

491
00:32:40.645 --> 00:32:44.645
แค่นั้นเองนะคะ

492
00:32:44.646 --> 00:32:48.646
โอเคค่ะ

493
00:32:48.647 --> 00:32:52.647
อันนี้เป็นตัวอย่างของ

494
00:32:52.648 --> 00:32:56.648
การปรับบรรทัดฐาน ในรูปแบบของ 2NF นะคะ แต่เดี๋ยว 2

495
00:32:56.649 --> 00:33:00.649
อันนี้จะ

496
00:33:00.654 --> 00:33:04.654
ให้ทำเป็นการบ้าน เดี๋ยวค่อยย้อนกลับมาแล้วกันนะคะ เดี๋ยวค่อยย้อนมาสั่ง

497
00:33:04.655 --> 00:33:08.655
อันนี้เป็น 1NF นะคะ

498
00:33:08.656 --> 00:33:12.656
อันนี้ก็แก้แล้ว ตารางเมื่อกี้นะคะ ต่อมา

499
00:33:12.657 --> 00:33:16.657
ขั้นตอนสุดท้ายนะคะ 3NF

500
00:33:16.658 --> 00:33:20.658
นะคะ โดยความสัมพันธ์

501
00:33:20.659 --> 00:33:24.659
นะคะ ก่อนที่จะเป็น 3NF ได้จะต้องเป็น 2NF

502
00:33:24.660 --> 00:33:28.660
หลักของการทำขั้นตอนที่ 3 คือ

503
00:33:28.663 --> 00:33:32.663
ต้องเอาความสัมพันธ์ที่ไม่ใช่คีย์หลักออก

504
00:33:32.664 --> 00:33:36.664
นะคะ เช่น ไม่ใช่คีย์หลักแต่ไปมี

505
00:33:36.666 --> 00:33:40.666
ผลกับคอลัมนือื่นไม่ได้นะคะ

506
00:33:40.667 --> 00:33:44.667
ไม่ได้ วิธีการแก้ปัญหา เช่นเดิมค่ะ

507
00:33:44.668 --> 00:33:48.668
สร้างตารางใหม่ขึ้นมาแก้ปัญหานั้น ๆ

508
00:33:48.670 --> 00:33:52.670
นะคะ อย่างเช่น

509
00:33:52.671 --> 00:33:56.671
ในตัวอย่างนะคะ หัสพนักงาน

510
00:33:56.672 --> 00:34:00.672
นะคะ ชื่อ สกุล รหัสแผนก เงินเดือน

511
00:34:00.673 --> 00:34:04.673
จะเห็นได้ว่าในตารางนี้ คีย์หลักก็คือรหัสพนักงาน

512
00:34:04.675 --> 00:34:08.675
นะคะ แต่มันมีรหัส

513
00:34:08.677 --> 00:34:12.677
แผนกกับชื่อแผนกติดมาด้วย ซึ่ง

514
00:34:12.678 --> 00:34:16.678
มันไม่ได้เกี่ยวกับรหัสพนักงานเลยนะคะ

515
00:34:16.679 --> 00:34:20.679
วิธีการแก้ปัญหาก็คือ เอารหัส

516
00:34:20.680 --> 00:34:24.680
แผนกกับชื่อแผนกไปสร้างตารางใหม่

517
00:34:24.682 --> 00:34:28.682

518
00:34:28.683 --> 00:34:32.683
แต่ต้องยังคงรหัสแผนกไว้ในตารางงานเดิมนะคะ

519
00:34:32.684 --> 00:34:36.684
เพื่อให้มันเชื่อมโยงได้ ไอ้แผนก

520
00:34:36.685 --> 00:34:40.685
A001 นี่คือแผนกอะไร

521
00:34:40.686 --> 00:34:44.686
นะคะ อันนี้คือการแก้ปัญหา ไม่ใช่คีย์หลัก

522
00:34:44.687 --> 00:34:48.687
แต่ไปส่งผลกับคอมลัมน์อื่นในตารางนะคะ

523
00:34:48.688 --> 00:34:52.688
อันนี้คือ 3 NF จริง ๆ แล้ว

524
00:34:52.689 --> 00:34:56.689
อยากให้ลองทำในห้องมากกว่า แต่ด้วยสัปดาห์นี้มันมีข้อกำจัดนะ ก็

525
00:34:56.690 --> 00:35:00.690
ไม่เป็นไรนะคะ

526
00:35:00.691 --> 00:35:04.691
อันนี้เป็นตัวอย่าง

527
00:35:04.692 --> 00:35:08.692
นะคะ สรุปนะคะ

528
00:35:08.693 --> 00:35:12.693
วิธีการทำ Normalization หรือการปรับบรรทัดฐานนะคะ

529
00:35:12.694 --> 00:35:16.694
ก็คือ ทุก ๆ  Attribute นะคะ ก็คือทุก ๆ คอลัมน์

530
00:35:16.695 --> 00:35:20.695
ในแต่ละแถวจะต้องมีค่าของข้อมูลเพียงค่าเดียวเท่านั้น

531
00:35:20.697 --> 00:35:24.697
นะคะ อย่างเช่นเหมือนเวลาเรากรอกเบอรโทรศัพท์

532
00:35:24.698 --> 00:35:28.698
เรามีโทรศัพท์ 3 เบอร์ก็จริง แต่เราจะกรอกได้เบอร์เดียว

533
00:35:28.699 --> 00:35:32.699
นะคะ ถ้าอยากใส่เบอร์ที่ 2 ที่ 3 ก็ต้อง

534
00:35:32.699 --> 00:35:36.699
เพิ่มข้อมูลแถวใหม่ขึ้นมานะคะ

535
00:35:36.701 --> 00:35:40.701
ต่อมา

536
00:35:40.702 --> 00:35:44.702
2NF นะคะ ก็ปัญหา ก็คือถ้า

537
00:35:44.703 --> 00:35:48.703
มีข้อมูลนะคะ ข้อมูลในทุกตัวในตารางนั้นจะต้องขึ้นก

538
00:35:48.704 --> 00:35:52.704
คีย์หลักของตารางตัวเดียวเท่านั้นนะคะ ข้อที่ 3 ถ้า

539
00:35:52.705 --> 00:35:56.705

540
00:35:56.706 --> 00:36:00.706
ข้อที่ 3 ถ้าคอลัมน์ไหนที่ไม่ใช่คีย์หลัก

541
00:36:00.707 --> 00:36:04.707
นะคะ จะมาส่งผลกับคอลัมนือื่นในตาราง

542
00:36:04.709 --> 00:36:08.709
ไม่ได้นะคะ เพราะฉะนั้น ไอ้ตาราง ข้อ 1 ก็คือ

543
00:36:08.711 --> 00:36:12.711
แค่กระจายตาราง อันที่ 2 อันที่ 3 ถ้ามีปัญญาปุ๊บ

544
00:36:12.712 --> 00:36:16.712
เราต้องสร้างตารางใหม่

545
00:36:16.713 --> 00:36:20.713
นะคะ

546
00:36:20.714 --> 00:36:24.714
การบ้าน เอาอย่างนี้ดีกว่านะคะ

547
00:36:24.715 --> 00:36:28.715
อาจารย์จะให้ทำน่าจะส่งวันนี้

548
00:36:28.716 --> 00:36:32.716
เอาแค่ข้อเดียว

549
00:36:32.717 --> 00:36:36.717
นะคะ ข้อเดียว เพราะว่าจริง ๆ

550
00:36:36.718 --> 00:36:40.718
อยากให้ทำในห้อง เดี๋ยวสัปดาห์หน้าให้ทำในห้อง

551
00:36:40.719 --> 00:36:44.719
ที่เรียนไปวันนี้เข้าใจไหมนะคะ ถ้าทำเสร็จแล้ว

552
00:36:44.720 --> 00:36:48.720
ก็ค่อยเอามาส่งที่ตู้ส่งงานอาจารย์ เอาเฉพาะข้อนี้นะ

553
00:36:48.721 --> 00:36:52.721
ข้อเดียว

554
00:36:52.722 --> 00:36:56.722
ข้อเดียวพอ วันนี้ข้อเดียวพอนะคะ ส่งในเวลานี่ล่ะ

555
00:36:56.723 --> 00:37:00.723
ให้ลองทำดูว่าเข้าใจไหม ข้อนี้ให้ทำ

556
00:37:00.724 --> 00:37:04.724
1NF ทำ 1NF ทำอย่างไร ง่ายมาก ๆ เลย

557
00:37:04.726 --> 00:37:08.726
นะคะ อาจารย์เว้นช่องว่างให้แล้ว

558
00:37:08.728 --> 00:37:12.728
เติมมานะคะ 2 NF คุณ

559
00:37:12.729 --> 00:37:16.729
เห็นไหมว่า นี่มันมีรหัสวิชานี่

560
00:37:16.730 --> 00:37:20.730
ชื่อวิชานี่ต้องทำอย่างไรกับมัน

561
00:37:20.731 --> 00:37:24.731
นะคะ แยกมันออกมาสิ

562
00:37:24.732 --> 00:37:28.732
แยกอย่างไรนะคะ เอาก้อนเดียวก่อน แล้วลองส่งมาให้อาจารย์ดู

563
00:37:28.733 --> 00:37:32.733
เข้าใจมากน้อยขนาดไหนนะคะ จริง ๆ

564
00:37:32.732 --> 00:37:36.732
อยากให้เรียนในห้องมากกว่า แต่วันนี้ก็เอาประมาณนี้

565
00:37:36.734 --> 00:37:40.734
ก่อนแล้วกันนะคะ ให้ทุกคนหายดี

566
00:37:40.736 --> 00:37:44.736
กลับมา อาทิตย์หน้าค่อยเดินดูในห้องดีกว่านะคะ

567
00:37:44.737 --> 00:37:48.737
วันนี้ก็จะประมาณนี้นะคะ

568
00:37:48.738 --> 00:37:52.738
เดี๋ยวเวลาที่เหลือให้ทำข้อนี้แล้วมาส่งวันนี้เลยยิ่งดี

569
00:37:52.738 --> 00:37:56.738
นะคะ เวลาที่เหลือทำใส่กระดาษมาส่งอาจารย์

570
00:37:56.739 --> 00:38:00.739
แล้วกันนะ ก็ประมาณนี้ค่ะ เวลาที่เหลือทำให้เสร็จภายในวันนี้

571
00:38:00.740 --> 00:38:04.740
นะคะ ข้อเดียวเองนะคะ ข้อเดียว

572
00:38:04.741 --> 00:38:08.741
มีใครสงสัยไหมคะ ปุ๋ยสงสัย

573
00:38:08.741 --> 00:38:12.741
ไหม ปุ๋ยเปิดไมค์ได้เหลือเปล่า

574
00:38:12.742 --> 00:38:16.742
// ไม่มีค่ะอาจารย์ เดี๋ยวถ้าอย่างไร เดี๋ยว

575
00:38:16.743 --> 00:38:20.743
ให้อุบลไปส่ง อุบล

576
00:38:20.744 --> 00:38:24.744
กลับหอแล้วน่ะค่ะ (อาจารย์เกวลี) อ๋อ ส่วนมากอยู่ไหนกัน

577
00:38:24.745 --> 00:38:28.745
อยู่หอหรืออยู่ DSS

578
00:38:28.748 --> 00:38:32.748
ตอนนี้เหลืออยู่ DSS ประมาณ 4 คนค่ะ (อาจารย์เกวลี)

579
00:38:32.749 --> 00:38:36.749
ก็รวม ๆ เท่าไรได้ก็เอามา (นักศึกษาหญิง) ค่ะ ๆ ๆ

580
00:38:36.750 --> 00:38:40.750
(อาจารย์เกวลี) ก็ให้เด็กทำนั่นแหละ

581
00:38:40.751 --> 00:38:44.751
โอเค Thk you

582
00:38:44.752 --> 00:38:48.752
(อาจารย์เกวลี) ค่ะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณทุกคนมากนะคะ ที่

583
00:38:48.753 --> 00:38:52.753
ตั้งใจเรียนกันอยู่ ถ้าใครทำเสร็จ

584
00:38:52.754 --> 00:38:56.754
ก็ทำให้เสร็จแล้วฝากเพื่อนมากส่ง รวมกันมาส่งก็ได้นะคะ

585
00:38:56.755 --> 00:39:00.755
ถ้าใครอยู่หอก็มาส่งที่  DSS ก็ได้

586
00:39:00.758 --> 00:39:04.758
มาส่งที่โต๊ะอาจารย์ก็ได้นะคะ

587
00:39:04.758 --> 00:39:08.758
โอเคค่ะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณล่ามได้นะคะ

588
00:39:08.759 --> 00:39:12.759
ค่ะ ขอบคุณค่ะ

589
00:39:12.760 --> 00:39:16.760

590
00:39:16.760 --> 00:39:20.760

591
00:39:20.762 --> 00:39:24.762

592
00:39:24.764 --> 00:39:28.764

593
00:39:28.768 --> 00:39:32.768
ปุ๋ย

594
00:39:32.770 --> 00:39:36.770
วันนี้ครบนะ

595
00:39:36.772 --> 00:39:40.772
โอเค

596
00:39:40.773 --> 00:39:44.773

597
00:39:44.774 --> 00:39:48.774

598
00:39:48.776 --> 00:39:52.776

599
00:39:52.779 --> 00:39:56.779

600
00:39:56.780 --> 00:40:00.780

601
00:40:00.784 --> 00:40:04.784

602
00:40:04.787 --> 00:40:08.787

603
00:40:08.788 --> 00:40:12.788

604
00:40:12.790 --> 00:40:16.790

605
00:40:16.791 --> 00:40:19.795

606
00:40:24.796 --> 00:40:23.795

607
00:40:28.798 --> 00:40:31.799

608
00:40:32.800 --> 00:40:35.801

609
00:40:36.802 --> 00:40:39.803

610
00:40:40.804 --> 00:40:43.807

611
00:40:44.805 --> 00:40:47.808

612
00:40:48.807 --> 00:40:51.811

613
00:40:52.808 --> 00:40:55.811

614
00:40:56.811 --> 00:40:59.815

615
00:41:00.813 --> 00:41:03.816

616
00:41:04.815 --> 00:41:07.817

617
00:41:08.817 --> 00:41:11.821

618
00:41:12.819 --> 00:41:15.822

619
00:41:16.821 --> 00:41:19.823

620
00:41:20.824 --> 00:41:23.828

621
00:41:24.826 --> 00:41:27.828

622
00:41:28.828 --> 00:41:31.829

623
00:41:32.830 --> 00:41:35.835

624
00:41:36.832 --> 00:41:39.833

625
00:41:40.834 --> 00:41:43.835

626
00:41:44.836 --> 00:41:47.839

627
00:41:48.838 --> 00:41:51.839

628
00:41:52.840 --> 00:41:55.843

629
00:41:56.843 --> 00:41:59.846

630
00:42:00.845 --> 00:42:03.846

631
00:42:04.847 --> 00:42:07.851

632
00:42:08.849 --> 00:42:11.852

633
00:42:12.851 --> 00:42:15.854

634
00:42:16.857 --> 00:42:19.858

635
00:42:20.859 --> 00:42:23.859

636
00:42:24.863 --> 00:42:24.864

637
00:42:28.865 --> 00:42:28.865

638
00:42:32.866 --> 00:42:32.870


