﻿1
464646:07:34,026 --> 464646:07:38,026
(อาจารย์เกวลี)

2
464646:07:42,026 --> 464646:07:41,258
จอไม่ขึ้น

3
464646:07:27,561 --> 464646:07:31,561
โอเคค่ะ

4
464646:08:19,298 --> 464646:08:16,035

5
464646:08:14,535 --> 464646:08:18,535
เดี๋ยวเริ่มเลยแล้วกันนะคะ บทนี้ จะเป็นบทที่ 7

6
464646:08:18,895 --> 464646:08:20,192

7
464646:08:20,192 --> 464646:08:21,780
ปีใหม่ อะไรจะไม่เยอะ

8
464646:08:21,780 --> 464646:08:23,515
นะคะนิดเดียว

9
464646:08:23,515 --> 464646:08:24,662
แล้วก็วันนี้

10
464646:08:24,662 --> 464646:08:27,107
ไม่มีการบ้าน

11
464646:08:27,107 --> 464646:08:31,107
มีการบ้าน

12
464646:08:32,130 --> 464646:08:36,130
เฉพาะอาทิตย์นี้เท่านั้นนะคะถึงให้ปีใหม่

13
464646:08:41,065 --> 464646:08:42,209
บทนี้นะคะจะเป็นเกี่ยวกับพีชคณิตเชิงสัมพันธ์ ก็จะเป็นกระบวนการ

14
464646:08:42,209 --> 464646:08:44,068
โดยใช้

15
464646:08:44,068 --> 464646:08:44,249
คณิตศาสตร์

16
464646:08:44,249 --> 464646:08:48,249
อย่างง่าย

17
464646:08:50,896 --> 464646:08:51,340
นะคะเที่ยวมาเป็นตัวกระทำในการจัดการฐานข้อมูลของเราด้วย

18
464646:08:51,340 --> 464646:08:55,340
โดยพีชคณิตเชิงสัมพันธ์

19
464646:08:57,988 --> 464646:08:59,977
หรือว่าเป็นเกี่ยวกับโครงสร้างในการ

20
464646:08:59,977 --> 464646:09:00,203
Query ข้อมูล ก็คือการ

21
464646:09:00,203 --> 464646:09:03,874
การข้อมูลของเรา

22
464646:09:03,874 --> 464646:09:07,874
นะคะ จะเป็นการกระทำที่เกิดขึ้นกับตาราง หรือความสัมพันธ์

23
464646:09:08,863 --> 464646:09:11,683
นะคะ ที่เราสร้างตารางใหม่

24
464646:09:11,683 --> 464646:09:15,683
ขึ้นมานะคะ มันจะเป็นแบบจำลองของการกระทำต่าง ๆ ที่อาจจะเกิดขึ้น

25
464646:09:18,672 --> 464646:09:19,760
ข้อมูลในฐานข้อมูลของเรา

26
464646:09:19,760 --> 464646:09:22,831
นะคะ ซึ่งส่วนมากจะเป็นการกระทำพื้นฐาน

27
464646:09:22,831 --> 464646:09:23,423
นะคะ

28
464646:09:23,423 --> 464646:09:27,423
โดยมันจะมีอยู่ 2 กลุ่ม คือ แบบดั้งเดิม

29
464646:09:27,970 --> 464646:09:30,142
กับแบบพิเศษ

30
464646:09:30,142 --> 464646:09:31,106
จะเป็นอย่างละ 4 ตัว นะคะ

31
464646:09:31,106 --> 464646:09:35,106
แบบดั้งเดิมก่อนนะคะ ภาษาอังกฤษ ก็คือ

32
464646:09:47,850 --> 464646:09:50,531
Traditional นะคะก็จะเป็นการกระทำที่เกิดขึ้นกับตารางหรือความสัมพันธ์โดยอาศัยทฤษฎีของเซต

33
464646:09:50,531 --> 464646:09:51,852
ซึ่งเราเคยเรียนเซตมาแล้วในวิชาคณิตศาสตร์

34
464646:09:51,852 --> 464646:09:55,852
โดยที่ตารางหรือความสัมพันธ์ที่เกิดขึ้นเนี่ย

35
464646:09:56,854 --> 464646:10:00,854
จะมีการกระทำ

36
464646:10:02,401 --> 464646:10:03,373
ต้องมีอาชีพเดียวคือในตารางจะต้องมีข้อมูลเกิดขึ้น

37
464646:10:03,373 --> 464646:10:07,373
ใช่ไหมคะ เช่นตารางนักศึกษาก็จะมีแอตทริบิวต์ หรือว่าข้อมูลที่เรามีก็คือ

38
464646:10:08,095 --> 464646:10:11,259
รหัสนักศึกษา ชื่อนามสกุลเป็นต้น

39
464646:10:11,259 --> 464646:10:15,259
การกระทำของกลุ่มที่เป็นแบบดั้งเดิม

40
464646:10:17,878 --> 464646:10:21,878
นะคะ จะมีอยู่ 4 อย่าง

41
464646:10:21,889 --> 464646:10:23,304
มี product มี Union Intersection Difference แล้วก็มีประเด็น

42
464646:10:23,304 --> 464646:10:24,585
วันนี้จะต้องเป็นภาษาอังกฤษ

43
464646:10:24,585 --> 464646:10:28,195
เพราะว่าคำสั่ง

44
464646:10:28,195 --> 464646:10:28,485
ในระบบจัดการฐานข้อมูล

45
464646:10:28,485 --> 464646:10:32,485
ก็จะเป็นภาษาอังกฤษ ประมาณนี้นะคะ

46
464646:10:32,536 --> 464646:10:36,536
อันแรก Product นะคะ

47
464646:10:41,434 --> 464646:10:45,434
เป็นการกระทำที่ให้มันแสดงข้อมูลทุกๆบรรทัด

48
464646:10:48,623 --> 464646:10:52,447
หรือทุกๆ Record ที่เรามี

49
464646:10:52,447 --> 464646:10:54,368
ที่สามารถเป็นไปได้โดยการจับคู่

50
464646:10:54,368 --> 464646:10:57,080
ผลคูณคาร์ทีเซียน

51
464646:10:57,080 --> 464646:11:01,080
นี่ก็เป็นคณิตศาสตร์อย่างง่าย

52
464646:11:01,965 --> 464646:11:04,122
นะคะ คำสั่งของภาษาที่ใช้ในการจัดการฐานข้อมูล จะใช้คำว่า Time

53
464646:11:04,122 --> 464646:11:04,493
นะคะ t-i-m-e-s

54
464646:11:04,493 --> 464646:11:08,493
รูปแบบของมันก็คือ

55
464646:11:12,719 --> 464646:11:14,127
ในกรอบสี่เหลี่ยมนะคะ ก็คือ A TIMES B

56
464646:11:14,127 --> 464646:11:16,739
เอาx กัน

57
464646:11:16,739 --> 464646:11:16,940
เดี๋ยวจะมีตัวอย่างให้ดู

58
464646:11:16,940 --> 464646:11:20,940
อย่างเช่นตัวอย่างนะคะ

59
464646:11:21,098 --> 464646:11:24,358
การเขียนให้ดูก่อน

60
464646:11:24,358 --> 464646:11:25,588
เมื่อกี้

61
464646:11:25,588 --> 464646:11:26,912
a กับ B

62
464646:11:26,912 --> 464646:11:30,912
นี่

63
464646:11:34,959 --> 464646:11:35,377
ถ้าคำสั่ง product หรือคำสั่งค่าในฐานข้อมูลในระบบจัดการฐานข้อมูล ใช้คำสั่ง Time

64
464646:11:35,377 --> 464646:11:37,696
s ก็คือเอาทุกตัว

65
464646:11:37,696 --> 464646:11:40,194
เป็นไปได้มาคูณกัน

66
464646:11:40,194 --> 464646:11:43,461
a x x a x y ใช่ไหมคะ

67
464646:11:43,461 --> 464646:11:47,461
b x xx y B x b y

68
464646:11:49,066 --> 464646:11:53,066
fzy

69
464646:11:53,439 --> 464646:11:55,772
คำสั่งนี้จริงๆ

70
464646:11:55,772 --> 464646:11:59,246
จับคู่ทุกตัวที่เป็นไปได้

71
464646:11:59,246 --> 464646:12:03,246
นะคะ

72
464646:12:03,455 --> 464646:12:06,177
ยังไงอยู่

73
464646:12:06,177 --> 464646:12:10,177
ยังอีก

74
464646:12:12,853 --> 464646:12:13,312
เหมือนในตัวอย่างค่ะมีตาราง A

75
464646:12:13,312 --> 464646:12:16,497
นะคะ มีตาราง D นะคะ

76
464646:12:16,497 --> 464646:12:20,497
ถ้าสั่งให้มัน

77
464646:12:21,559 --> 464646:12:22,266
คูณกัน ก็คือเป็น a time B

78
464646:12:22,266 --> 464646:12:26,266
ผลลัพธ์ที่ได้

79
464646:12:27,767 --> 464646:12:28,539
ก็จะเป็นทุกตัวที่ a กับ B มันสามารถจับคู่กันได้

80
464646:12:28,539 --> 464646:12:32,539
นะคะ คำสั่งนี้จะง่าย

81
464646:12:33,428 --> 464646:12:37,428
มันก็คือ 3 x 3 ได้ 9 ต้องได้ 9 Records 9 แถวนั้นเอง

82
464646:12:38,811 --> 464646:12:41,279
ถ้าจะเช็

83
464646:12:41,279 --> 464646:12:45,279
ก ในข้อสอบก็ไม่ออกนะนะคะ

84
464646:12:45,413 --> 464646:12:45,576
ยังๆอยู่

85
464646:12:45,576 --> 464646:12:49,576
การ Union อันนี้ก็เป็นทฤษฎีเซตเหมือนกัน

86
464646:12:55,998 --> 464646:12:56,479
นะคะ ก็จะเป็นการรวมกันของข้อมูล 2 ตารางหรือว่า 2 รีเลชัน

87
464646:12:56,479 --> 464646:13:00,479
เพื่อแสดงข้อมูลทุกๆ Record เรื่องคือทุกๆแถว

88
464646:13:02,729 --> 464646:13:03,024
ในรูปแบบของยูเนียนตามทฤษฎีของเซต

89
464646:13:03,024 --> 464646:13:06,408
คำสั่งก็คือ

90
464646:13:06,408 --> 464646:13:09,561
ยูเนี่ยนนะคะ

91
464646:13:09,561 --> 464646:13:09,915
a Union b คือเอา A กับ B มารวมกัน

92
464646:13:09,915 --> 464646:13:13,915
ตัวนี้

93
464646:13:15,640 --> 464646:13:16,731
มีตาราง a กับตาราง B

94
464646:13:16,731 --> 464646:13:20,731
ทฤษฎีเซตของยูเนียนนะคะ จะสังเกตได้ว่า ข้อมูลมันมีข้อมูลซ้ำกัน

95
464646:13:23,870 --> 464646:13:27,870
อย่างข้อมูล s1

96
464646:13:27,932 --> 464646:13:29,670
ตาราง A ก็มี

97
464646:13:29,670 --> 464646:13:30,935
ตดีก็มี

98
464646:13:30,935 --> 464646:13:34,935
ตามทฤษฎียูเนี่ยนนะคะ

99
464646:13:37,666 --> 464646:13:37,819
ถ้ามันซ้ำกันเราก็เอามาแค่ข้อมูลเดียว

100
464646:13:37,819 --> 464646:13:41,819
จะเห็นว่าจาก 4 Records ก็คือสีแถวข้อมูลนะคะ

101
464646:13:47,778 --> 464646:13:49,673
แต่ว่าอันนี่ ตาราง A ก็มี แก็มีมันซ้ำกัน

102
464646:13:49,673 --> 464646:13:50,734
เราจะนับเป็นแค่ 1 ข้อมูลเท่านั้น

103
464646:13:50,734 --> 464646:13:54,734
นะคะ

104
464646:13:55,249 --> 464646:13:55,381
พอมันเอามายูเนี่ยนกันข้อมูลจาก 4

105
464646:13:55,381 --> 464646:13:59,089
บรรทัด

106
464646:13:59,089 --> 464646:13:59,664
จะเหลือแค่ 3 บรรทัด เพราะว่า s1

107
464646:13:59,664 --> 464646:14:02,170
มันมีอยู่ทั้ง 2 ตาราง ก็คือ a b เลย

108
464646:14:02,170 --> 464646:14:04,314
ยูเนี่ยน

109
464646:14:04,314 --> 464646:14:04,620
นะคะ

110
464646:14:04,620 --> 464646:14:08,259
ส่วนที่ทับซ้อนกันก็เอาแค่ข้อมูลเดียว

111
464646:14:08,259 --> 464646:14:12,259
ต่อมา อินเตอร์เซกชัน

112
464646:14:13,859 --> 464646:14:17,859
ก็ตามทฤษฎีเซตเหมือนกันค่ะ

113
464646:14:18,419 --> 464646:14:18,592
มันจะเป็นการกระทำเพื่อแสดงข้อมูลของตาราง หรือเล็กคอร์ด

114
464646:14:18,592 --> 464646:14:22,592
นะคะ ที่ปรากฏอยู่ทั้ง 2 ตาราง

115
464646:14:24,322 --> 464646:14:24,724
ที่มันทับซ้อนกันนั่นแหละ

116
464646:14:24,724 --> 464646:14:28,724
นะคะ ในรูปแบบของ intersection ตามทฤษฎีของเซต

117
464646:14:30,011 --> 464646:14:30,918
คำสั่ง ก็คือ

118
464646:14:30,918 --> 464646:14:31,862

119
464646:14:31,862 --> 464646:14:35,862
INTERSECT ให้ a INTERSECT b

120
464646:14:35,892 --> 464646:14:39,892
นะคะ ตัวอย่าง

121
464646:14:43,172 --> 464646:14:43,349
ตารางเดิมเลยค่ะ A กับ B

122
464646:14:43,349 --> 464646:14:46,371
ข้อมูลไหนที่ทับซ้อนกัน

123
464646:14:46,371 --> 464646:14:49,024
คือ ข้อมูล s1

124
464646:14:49,024 --> 464646:14:53,024
มันมีทั้ง 2 ตาราง A กับ 9kกระบี่

125
464646:14:53,054 --> 464646:14:57,054
เราจะแสดงผลเฉพาะตารางที่มันทับซ้อนกันเท่านั้น

126
464646:14:58,074 --> 464646:15:02,074
เพราะฉะนั้นคำสั่ง a INTERSECT b จะมีผลลัพธ์แค่

127
464646:15:07,308 --> 464646:15:08,174
Accord เท่านั้น ก็คือ

128
464646:15:08,174 --> 464646:15:11,898
s1 ตามทฤษฎีของเซต

129
464646:15:11,898 --> 464646:15:12,185
นะคะ

130
464646:15:12,185 --> 464646:15:16,185
ต่อมา Difference

131
464646:15:17,792 --> 464646:15:21,792
ก็เป็นการกระทำเพื่อแสดงข้อมูลของแถวนั้นๆที่ปรากฏอยู่ในตาราง

132
464646:15:28,343 --> 464646:15:28,469
หนึ่ง แต่อีกตารางหนึ่ง ไม่มีนะคะ ก็คือ

133
464646:15:28,469 --> 464646:15:32,469
อะไรก็ตามที่อยู่ในตารางนั้น แต่ไม่อยู่กับกี่ตาราง 1 คำสั่งที่ใช้

134
464646:15:36,109 --> 464646:15:36,737
คือคำสั่ง

135
464646:15:36,737 --> 464646:15:39,884
MINUS แปลเป็นภาษาไทยคือเครื่องหมายลบ แล้วนี่ไม่เอา

136
464646:15:39,884 --> 464646:15:43,884
อย่างเช่น A MINUS B ที่อยู่ในเอ

137
464646:15:46,779 --> 464646:15:47,615
แต่ไม่อยู่ใน B

138
464646:15:47,615 --> 464646:15:51,615
เมื่อคืนเหมือนตัวที่ทำไฮไลท์สีเหลืองไว้

139
464646:15:52,448 --> 464646:15:56,448
ไป ตารางเดิมค่ะ

140
464646:15:56,555 --> 464646:15:59,660
ให้คำสั่ง A

141
464646:15:59,660 --> 464646:16:01,939
B

142
464646:16:01,939 --> 464646:16:05,939
อะไรที่อยู่ในเอเชียไม่อยู่ในบี

143
464646:16:06,021 --> 464646:16:10,021
อันนี้ไม่ใช่แน่นอนเพราะ s1 มีทั้ง a ทั้ง B เพราะฉะนั้น

144
464646:16:13,864 --> 464646:16:15,403
A MINUS B

145
464646:16:15,403 --> 464646:16:15,980
ก็จะเป็น S4

146
464646:16:15,980 --> 464646:16:19,980
ในทางกลับกันค่ะ B MINUS A Bก็คืออยู่ในบีแต่ไม่อยู่ใน A

147
464646:16:25,674 --> 464646:16:29,249
อยู่ดีๆ

148
464646:16:29,249 --> 464646:16:32,872
S2

149
464646:16:32,872 --> 464646:16:33,577
F1 ไม่ได้ s1 อยู่ในเองเหมือนกัน

150
464646:16:33,577 --> 464646:16:37,577
ในทางกลับกันจะเป็นแบบนี้

151
464646:16:42,031 --> 464646:16:46,031
นะคะ ขึ้นอยู่กับว่า เราจะเอาข้อมูลจากตารางไหน เราจะเอาข้อมูลนั้นไว้ข้างหน้า

152
464646:16:46,730 --> 464646:16:47,076
ถ้าอยู่ใน a ไม่อยู่ใน B จะเป็นแบบนี้จะเขียนแบบนี้นะคะ

153
464646:16:47,076 --> 464646:16:51,076
แต่ถ้าอยู่ในบี

154
464646:16:52,285 --> 464646:16:56,285
ไม่อยู่ใน a ก็จะเขียนขึ้นต้นด้วย B นำหน้า แบบนี้

155
464646:16:56,483 --> 464646:16:58,123
นะคะ ไม่ใช่ว่าทุกตารางจะชื่อ A กับ B นะคะ แล้วแต่ว่า

156
464646:16:58,123 --> 464646:16:59,148
ตารางที่นักศึกษา

157
464646:16:59,148 --> 464646:16:59,545
ได้ทำ

158
464646:16:59,545 --> 464646:17:03,545
ชื่อตารางอะไร อย่างเช่นตาราง  Student

159
464646:17:03,810 --> 464646:17:07,810

160
464646:17:10,925 --> 464646:17:11,186
student แล้วก็

161
464646:17:11,186 --> 464646:17:15,186
MINUS ADDRESS ก็ได้นะคะ

162
464646:17:15,701 --> 464646:17:19,701
อยู่ในตาราง student แต่ไม่อยู่ในร้าน Address

163
464646:17:20,726 --> 464646:17:21,016
ว่าไป

164
464646:17:21,016 --> 464646:17:22,309
นะคะ

165
464646:17:22,309 --> 464646:17:26,309
ต่อมา จะเป็น

166
464646:17:27,848 --> 464646:17:31,321
ตัวดำเนินการแบบ

167
464646:17:31,321 --> 464646:17:34,463
พิเศษนะคะ เป็น Special ซึ่งมันจะแตกต่างจาก

168
464646:17:34,463 --> 464646:17:35,079
รูปแบบการทำงานของเซตโดยทั่วไป

169
464646:17:35,079 --> 464646:17:39,079
นะคะ โดยการกระทำของกลุ่มที่จะเป็น Special หรือแบบพิเศษ

170
464646:17:42,924 --> 464646:17:45,235
นี่ ไม่จำเป็นจะต้องมีจำนวนแอตทริบิวต์เท่ากัน

171
464646:17:45,235 --> 464646:17:45,751
Attribute คืออะไรคือตัวนี้

172
464646:17:45,751 --> 464646:17:47,903
หมอลำ

173
464646:17:47,903 --> 464646:17:50,501
นะคะ

174
464646:17:50,501 --> 464646:17:54,313
ถ้าเป็นแบบ Credit analyst

175
464646:17:54,313 --> 464646:17:54,742
นี่ คอลัมน์ทั้ง 2 ตาราง 3 ตารางต้องเท่ากัน

176
464646:17:54,742 --> 464646:17:55,998
เท่านั้น

177
464646:17:55,998 --> 464646:17:59,998
นะคะ แต่ถ้าเป็น Special คือ

178
464646:18:01,221 --> 464646:18:03,399
คอลัมน์หรือ

179
464646:18:03,399 --> 464646:18:05,004
Attribute ไม่จำเป็นจะต้องมีจำนวนเท่ากัน

180
464646:18:05,004 --> 464646:18:06,029
ไม่จำเป็น

181
464646:18:06,029 --> 464646:18:10,029
ซึ่งคำสั่งพวกนี้

182
464646:18:11,028 --> 464646:18:14,359
นี่ จะถูกเรียกใช้บ่อย เพราะว่าฐานข้อมูล

183
464646:18:14,359 --> 464646:18:18,359
ข้อมูลอาจจะมีตารางที่บรรจุอยู่

184
464646:18:18,520 --> 464646:18:19,271
มีรูปแบบที่แตกต่างกันไปนะคะ

185
464646:18:19,271 --> 464646:18:23,271
โดย

186
464646:18:25,133 --> 464646:18:25,676
ถึงแม้มันจะไม่มี  Attribute ที่เท่ากันไม่เท่ากัน คอลัมน์นั่นแหละ

187
464646:18:25,676 --> 464646:18:29,676
แอตทริบิวต์ของทั้ง 2 ตาราง

188
464646:18:30,433 --> 464646:18:32,030
จะถูกนำมาใช้

189
464646:18:32,030 --> 464646:18:32,863
จะต้องมีเงื่อนไข

190
464646:18:32,863 --> 464646:18:36,863
ต้องมีชื่อโดเมนของข้อมูลชื่อเดียวกัน

191
464646:18:39,537 --> 464646:18:40,474
ก็คือชื่อคอลัมน์เดียวกัน

192
464646:18:40,474 --> 464646:18:43,632
อาจจะเป็น

193
464646:18:43,632 --> 464646:18:45,619
ชื่อตารางใดๆ

194
464646:18:45,619 --> 464646:18:48,312
ในตารางนั้นอาจจะมี

195
464646:18:48,312 --> 464646:18:49,197
อีกตารางหนึ่งมี 10 คอลัม ค่ำ

196
464646:18:49,197 --> 464646:18:49,451
แปล

197
464646:18:49,451 --> 464646:18:53,451
ต้องมีสิ่งที่เราจะเอามาดำเนินการเนี่ย

198
464646:18:54,275 --> 464646:18:55,165
ชื่อคอลัมน์จะต้องเหมือนกัน

199
464646:18:55,165 --> 464646:18:55,661
นะคะ

200
464646:18:55,661 --> 464646:18:58,660
คำสั่งจะมีอยู่ 4 คำสั่งด้วยกัน

201
464646:18:58,660 --> 464646:19:02,170
อันแรก

202
464646:19:02,170 --> 464646:19:02,382
คำสั่ง regedit

203
464646:19:02,382 --> 464646:19:04,310
หรือถ้าใน

204
464646:19:04,310 --> 464646:19:08,310
ระบบจัดการฐานข้อมูลภาษาที่ใช้ภาษา SQL

205
464646:19:10,029 --> 464646:19:10,325
เราจะใช้คำสั่งเรียกว่า Siri

206
464646:19:10,325 --> 464646:19:13,544
นะคะ

207
464646:19:13,544 --> 464646:19:14,171
เดี๋ยวประมาณอีก 2 สัปดาห์

208
464646:19:14,171 --> 464646:19:18,171
จะต้องได้พิมพ์

209
464646:19:20,489 --> 464646:19:24,489
ลองทำโค้ดภาษา SQL ดู

210
464646:19:26,184 --> 464646:19:23,242
นะคะ

211
464646:19:26,922 --> 464646:19:27,039
ซึ่งการกระทำเพื่อแสดงข้อมูลในเรคคอร์ดของตารางนั้นๆจะต้องตรงตามเงื่อนไขที่ระบุ

212
464646:19:27,039 --> 464646:19:31,039
เงื่อนไขที่ใช้จะใช้คำว่า where

213
464646:19:36,849 --> 464646:19:36,566
นะ

214
464646:19:32,230 --> 464646:19:36,230
คะ เช่น

215
464646:19:36,393 --> 464646:19:40,393
A WHERE X operator Y อันนี้เป็นต้นนะคะ

216
464646:19:42,574 --> 464646:19:42,810
เดี๋ยวตอนที่เราทำ

217
464646:19:42,810 --> 464646:19:46,810
ในโปรแกรมจริงๆนี่ นักศึกษาจะเห็นภาพได้เข้าใจมากกว่านี้

218
464646:19:48,190 --> 464646:19:51,801
อันนี้เป็นแค่การเกริ่นก่อนเฉยๆ

219
464646:19:51,801 --> 464646:19:55,713
นะคะ ว่า

220
464646:19:55,713 --> 464646:19:56,059
เราจะต้องเจอคำสั่งพิเศษอะไรบ้างในการจัดการฐานข้อมูล

221
464646:19:56,059 --> 464646:20:00,059
ตัวอย่างเดิมค่ะ ตาราง a กับ B นะคะ

222
464646:20:08,897 --> 464646:20:08,382
ใน

223
464646:20:01,401 --> 464646:20:05,401
ตัวอย่างอาจารย์อาจจะเห็นว่าเอ๊ะ Column มันก็ยังเท่ากันนี่ แต่ก็

224
464646:20:11,166 --> 464646:20:11,447
เพื่อให้เห็นภาพที่ชัดเจนนะคะ อาจารย์จะเลยจะยังยกตัวอย่างเป็นแบบนี้ก่อน

225
464646:20:11,447 --> 464646:20:15,447
พอให้คำสั่ง

226
464646:20:16,845 --> 464646:20:20,845
Select หรือ Restrict นะคะ จะต้องมาคู่กับคำว่าเสมอ

227
464646:20:23,623 --> 464646:20:24,430
อย่างเช่น

228
464646:20:24,430 --> 464646:20:28,299
ขึ้นต้นด้วยดีก็คือในตาราง

229
464646:20:28,299 --> 464646:20:32,299
D ให้ดูที่เงื่อนไข city city ตรงนี้แปลว่าชื่อเมืองนะคะ

230
464646:20:35,735 --> 464646:20:38,257
ในตาราง B

231
464646:20:38,257 --> 464646:20:40,094
ค่าของ Column City

232
464646:20:40,094 --> 464646:20:42,277
อันไหน

233
464646:20:42,277 --> 464646:20:43,641
ที่มีค่าเท่ากับชัยนาท

234
464646:20:43,641 --> 464646:20:47,641
เราก็ดูเลยค่ะ ตาราง ดี

235
464646:20:49,510 --> 464646:20:53,510
City

236
464646:20:55,163 --> 464646:20:56,937
ชัยนาทนะคะพอดีว่า City เท่ากับชัยนาท

237
464646:20:56,937 --> 464646:20:58,720
ผลลัพธ์ที่ได้จะต้อง

238
464646:20:58,720 --> 464646:21:01,117
แสดงผลลัพธ์ขอ

239
464646:21:01,117 --> 464646:21:01,999
งที่ s2

240
464646:21:01,999 --> 464646:21:02,279
ทั้งหมด

241
464646:21:02,279 --> 464646:21:06,279
นะคะ

242
464646:21:08,676 --> 464646:21:11,535
เพราะว่าเงื่อนไขในตาราง B จังหวัด

243
464646:21:11,535 --> 464646:21:11,718
ข้อมูลอะไรที่มีข้อมูลว่าชัยนาท

244
464646:21:11,718 --> 464646:21:15,718
เราต้องยกมาทั้งหมดมาแสดงผล

245
464646:21:15,734 --> 464646:21:19,734
เป็นโปรเจคต์นะคะ ก็จะเป็นการเลือกข้อมูลทุกๆ แถว โดยเลือกมาเพียงแค่บางคอลัมน์

246
464646:21:36,044 --> 464646:21:39,041
เห็นอาจารย์อยากดูแค่รหัสนักศึกษากับชื่อ

247
464646:21:39,041 --> 464646:21:43,041
ก็แสดงผลแค่ชื่อกับรหัสนักศึกษา

248
464646:21:43,759 --> 464646:21:44,791
โดยที่ในตารางข้อมูลศึกษาอาจจะมีคอลัมน์ประมาณ 20 คอลัมน์

249
464646:21:44,791 --> 464646:21:48,258
ก็ได้

250
464646:21:48,258 --> 464646:21:48,641
แต่อาจารย์อยากดูแค่ 2 คอลัมน์นี้เท่านั้น

251
464646:21:48,641 --> 464646:21:52,641
เราจะใช้คำสั่งที่เกี่ยวข้องกับ

252
464646:21:53,766 --> 464646:21:57,266
การเรียกดูข้อมูล

253
464646:21:57,266 --> 464646:21:57,345
คือมันจะเป็นคำสั่งเกี่ยวกับการทำโปรเจคต์นั่นเอง

254
464646:21:57,345 --> 464646:22:01,345
นะคะ รูปแบบคำสั่งก็จะขึ้นต้นด้วยชื่อตารางแล้วตามด้วยเงื่อนไข

255
464646:22:03,232 --> 464646:22:06,029
ตารางเดิมค่ะ ตารางเดิม

256
464646:22:06,029 --> 464646:22:10,029
คำสั่ง A ในวงเล็บ

257
464646:22:13,157 --> 464646:22:15,275
S name กับเอดส์

258
464646:22:15,275 --> 464646:22:16,773
นะคะก็คือ

259
464646:22:16,773 --> 464646:22:19,091
อธิบายคือ

260
464646:22:19,091 --> 464646:22:19,932
เอาข้อมูลในตาราง a เท่านั้น

261
464646:22:19,932 --> 464646:22:23,805
อยู่ใน Column s name

262
464646:22:23,805 --> 464646:22:27,133
และคอลัมน์

263
464646:22:27,133 --> 464646:22:31,133
age ผลลัพธ์ที่ได้

264
464646:22:31,941 --> 464646:22:32,197
แสดงผลแค่นี้

265
464646:22:32,197 --> 464646:22:36,197
จากตอนแรกมันมีแค่ 14 คอลัมน์ใช่ไหมคะ 1 2 3

266
464646:22:38,158 --> 464646:22:42,158
อาจารย์ให้แสดงผลแค่เฟซ name

267
464646:22:42,196 --> 464646:22:44,659
เท่านั้น

268
464646:22:44,659 --> 464646:22:47,092
นี่คือการทํางานของคําสั่ง project

269
464646:22:47,092 --> 464646:22:51,092
เผื่อจะมีเป็นร้อยคนละมาจากไหนจะเรียกดูแค่

270
464646:22:52,883 --> 464646:22:55,307
คอลัมน์ที่อาจารย์สนใจ

271
464646:22:55,307 --> 464646:22:57,514
เราจะใช้คำสั่ง project

272
464646:22:57,514 --> 464646:22:58,573
นะคะ

273
464646:22:58,573 --> 464646:23:02,573
เดี๋ยวภาษาโปรแกรมยังมีอีกเยอะค่ะ นี่แค่ตัวอย่างคร่าวๆ น่ะนะ

274
464646:23:05,108 --> 464646:23:08,387
อย่างเช่น

275
464646:23:08,387 --> 464646:23:11,243
ผลลัพธ์ทำไมมันโชว์แค่

276
464646:23:11,243 --> 464646:23:13,629
รหัส s1

277
464646:23:13,629 --> 464646:23:17,629
คำสั่งที่จะต้องใช้คืออะไร

278
464646:23:18,505 --> 464646:23:22,505
เงื่อนไขของคำสั่ง คือ ดูในตาราง B

279
464646:23:23,541 --> 464646:23:27,541
โดยค่าของคอลัมน์ City

280
464646:23:29,074 --> 464646:23:30,102
มีค่าเท่ากับ

281
464646:23:30,102 --> 464646:23:30,880

282
464646:23:30,880 --> 464646:23:34,796
bangkok แล้วให้แสดงผลเฉพาะ

283
464646:23:34,796 --> 464646:23:35,319
S#  เท่านั้น

284
464646:23:35,319 --> 464646:23:39,319
ครูอยากรู้แค่รหัส

285
464646:23:41,315 --> 464646:23:44,505
มีเมืองที่อยู่ในเมืองกรุงเทพฯ

286
464646:23:44,505 --> 464646:23:48,370
นะคะ

287
464646:23:48,370 --> 464646:23:52,370
ก็ส่งแค่ s1 เท่านั้น

288
464646:23:52,434 --> 464646:23:53,956
จากเมื่อก่อนนี้เรียกว่า Where City

289
464646:23:53,956 --> 464646:23:56,867
กลับ Bangkok

290
464646:23:56,867 --> 464646:24:00,867
ปกติแล้วมันแสดงข้อมูลทุกๆ คอลัมน์ใช่ไหมคะ

291
464646:24:01,803 --> 464646:24:02,845
แต่ถ้าตามกำหนดให้มาแสดงแค่คอลัมน์ใดคอลัมน์หนึ่งเท่านั้น

292
464646:24:02,845 --> 464646:24:03,375
ก็สามารถทำได้

293
464646:24:03,375 --> 464646:24:07,375
อันนี้คือความสามารถของคำสั่ง project

294
464646:24:09,027 --> 464646:24:13,027
ต่อมา คำสั่ง join ค่ะ จะเป็นการกระทำเพื่อแสดงข้อมูลที่เป็นไปได้ทั้งหมด

295
464646:24:20,096 --> 464646:24:24,073
ซึ่งเกิดจากการเชื่อมโยงข้อมูลของ 2 ตารางขึ้นไป

296
464646:24:24,073 --> 464646:24:24,277
โดยที่กำหนดค่าคอลัมน์หรือว่าอาทิตย์อยู่ที่เหมือนกัน

297
464646:24:24,277 --> 464646:24:28,277
อาจจะเป็นคอลัมเดียวหรือมากกว่าก็ได้

298
464646:24:28,337 --> 464646:24:32,337
นะคะ

299
464646:24:32,680 --> 464646:24:35,889
แต่ที่สำคัญคือคอลัมน์จะต้องชื่อเหมือนกันโดเมนของข้อมูลต้องเท่ากัน

300
464646:24:35,889 --> 464646:24:36,477
คำสั่งก็คือ A join B

301
464646:24:36,477 --> 464646:24:39,173
มาดูตัวอย่างกัน

302
464646:24:39,173 --> 464646:24:43,173
join นะคะ

303
464646:24:47,305 --> 464646:24:51,305
จะคล้ายๆกับ UNION

304
464646:24:52,301 --> 464646:24:56,301
นะคะ แต่เงินไขคือจะต้องมีโดเมนหรือว่า Column ที่เท่ากันถึงจะจอยได้

305
464646:24:59,529 --> 464646:25:01,823
นะคะ

306
464646:25:01,823 --> 464646:25:02,963
อย่างตัวนี้มี 2

307
464646:25:02,963 --> 464646:25:05,269
คอลัมน์ มี 2 คอลัมน์

308
464646:25:05,269 --> 464646:25:05,920
รายการข้อมูลที่ซับซ้อนกัน

309
464646:25:05,920 --> 464646:25:09,650
อยู่ในรูปแบบคล้ายๆกับคำสั่ง

310
464646:25:09,650 --> 464646:25:09,774
UNION นะคะ

311
464646:25:09,774 --> 464646:25:13,774
เช่น ตัวนี้คำสั่งจอย

312
464646:25:17,667 --> 464646:25:18,103
มีอะไรที่เหมือนกัน

313
464646:25:18,103 --> 464646:25:20,079
City

314
464646:25:20,079 --> 464646:25:23,769
ใ ช่ไหมคะ

315
464646:25:23,769 --> 464646:25:24,561

316
464646:25:24,561 --> 464646:25:28,561
A join B มี 6 คอลัมน์นะคะ

317
464646:25:28,873 --> 464646:25:32,873
City เหมือนกัน

318
464646:25:35,937 --> 464646:25:39,937
แต่เนื่องจาก

319
464646:25:40,053 --> 464646:25:40,226
พี่บิวที่มีคำว่า City เหมือนกัน

320
464646:25:40,226 --> 464646:25:44,226
นี่ มันจะต้องดูพิจารณาในเรคคอร์ดของ

321
464646:25:44,508 --> 464646:25:46,816
รหัสด้วยน

322
464646:25:46,816 --> 464646:25:48,089
ะคะ เพราะฉะนั้น ถ้า

323
464646:25:48,089 --> 464646:25:52,089
มันเกินมา

324
464646:25:54,293 --> 464646:25:51,484
นะคะ

325
464646:25:48,764 --> 464646:25:52,764
มันเกินแล้วต้องทำข้อมูลซ้ำ

326
464646:25:54,358 --> 464646:25:57,722
ให้เกิดขึ้น อันนี้ก็จะเป็นอีก

327
464646:25:57,722 --> 464646:25:59,111
รูปแบบหนึ่งของการทำงานคือเติมข้อมูลเข้าไป

328
464646:25:59,111 --> 464646:25:59,299
นะคะ

329
464646:25:59,299 --> 464646:26:03,299
เพื่อให้ผลลัพธ์ที่ได้นี่ ทุกๆ

330
464646:26:05,840 --> 464646:26:07,111
Records นะคะ มีค่า Attribute ก็คือที่เท่ากัน

331
464646:26:07,111 --> 464646:26:11,111
เดี๋ยวนี้เราจะไปดูอีกทีหนึ่งนะคะ

332
464646:26:12,640 --> 464646:26:14,162
ในตอนที่เราทำ

333
464646:26:14,162 --> 464646:26:16,091
โปรแกรมเลย

334
464646:26:16,091 --> 464646:26:18,802
ต่อมา

335
464646:26:18,802 --> 464646:26:19,486
จะเป็นการแสดงข้อมูลจาก 2

336
464646:26:19,486 --> 464646:26:21,140
Relation โดยที่

337
464646:26:21,140 --> 464646:26:25,140
Relation หรือว่าทั้งสองตารางเนี่ยมีแอตทริบิวต์หรือรอบมีคอลัมน์เนี่ยอย่างน้อย 1 คอลัมน์ที่เหมือนกัน

338
464646:26:28,232 --> 464646:26:32,232
กดรับจากคอลัมน์นะคะ

339
464646:26:35,359 --> 464646:26:35,537
จากตารางที่มีจำนวนมากกว่า

340
464646:26:35,537 --> 464646:26:38,057
นี่ จะถูกจับคู่

341
464646:26:38,057 --> 464646:26:42,057
คอลัมน์หนึ่งที่มีคอลัมน์ของตารางที่มีคอลัมน์น้อยกว่า

342
464646:26:45,170 --> 464646:26:49,170
คำสั่งรูปแบบก็คือ a b y by B

343
464646:26:51,197 --> 464646:26:51,490
มันจะเป็นคล้ายๆกับการหาร

344
464646:26:51,490 --> 464646:26:54,928
นะคะ

345
464646:26:54,928 --> 464646:26:58,928
การเป็นตัวหาร

346
464646:27:03,040 --> 464646:27:04,847
นะคะ

347
464646:27:04,847 --> 464646:27:06,316
ต้องเป็น

348
464646:27:06,316 --> 464646:27:08,234
sub set ของตัวตั้ง

349
464646:27:08,234 --> 464646:27:12,234
ก็คือในตัวตั้งมี a ไหม มี

350
464646:27:15,844 --> 464646:27:16,878
มี B ไหม มี มี C ไหม มี

351
464646:27:16,878 --> 464646:27:20,878
รับทุกตัวคือตัวที่แมตช์กับตัวหาร

352
464646:27:22,759 --> 464646:27:22,971
อะไรบ้างที่อยู่ใน A

353
464646:27:22,971 --> 464646:27:26,861
AV XYZ

354
464646:27:26,861 --> 464646:27:29,693
มีมีแค่ X C มีแค่ x

355
464646:27:29,693 --> 464646:27:31,674
เพราะฉะนั้น

356
464646:27:31,674 --> 464646:27:35,674
สิ่งที่

357
464646:27:36,368 --> 464646:27:36,884
เอา ABC หารได้ครบทุกตัว

358
464646:27:36,884 --> 464646:27:38,765
มีแค่ x ตัวเดียว

359
464646:27:38,765 --> 464646:27:42,765
ก็คือตรงตามเงื่อนไขทั้งหมด

360
464646:27:43,679 --> 464646:27:47,679
นะคะ เราอาจจะมีการตั้งเงื่อนไขมา

361
464646:27:52,131 --> 464646:27:56,131
แล้วมีแค่ X ตัวเดียวเท่านั้น ที่เข้าตรงทุกเงื่อนไข 3 เงื่อนไขที่เราต้องตั้งไว้

362
464646:28:00,184 --> 464646:28:03,701
หลั

363
464646:27:52,878 --> 464646:27:56,878
กการนี้จะใช้ตอนที่เราค้นหาข้อมูล Google อย่างเช่น ใน

364
464646:27:58,592 --> 464646:28:02,592
อาจารย์อยากได้กระเป๋า

365
464646:28:03,765 --> 464646:28:07,765
สีแดง มี 6 ล้อลาก

366
464646:28:07,937 --> 464646:28:10,184
เงื่อนไข

367
464646:28:10,184 --> 464646:28:11,714
กระเป๋าสีแดง

368
464646:28:11,714 --> 464646:28:12,587
6 ล้อ

369
464646:28:12,587 --> 464646:28:16,587
อาจจะมีผลลัพธ์ที่ตรงตามเงื่อนไขที่อาจารย์ต้องการแค่

370
464646:28:17,162 --> 464646:28:17,400
อย่างเดียวเท่านั้น

371
464646:28:17,400 --> 464646:28:20,565
เป็นต้น

372
464646:28:20,565 --> 464646:28:21,675
ราคาเป็นต้น

373
464646:28:21,675 --> 464646:28:25,369
ตัวอย่าง

374
464646:28:25,369 --> 464646:28:29,341
มีข้อมูล

375
464646:28:29,341 --> 464646:28:33,341
ในตาราง A มีข้อมูล

376
464646:28:35,240 --> 464646:28:38,464
ตามนี้

377
464646:28:38,464 --> 464646:28:39,299
ตาราง B มีคอลัมน์เดียวคือตัวนี้

378
464646:28:39,299 --> 464646:28:43,299
คือ P2

379
464646:28:43,309 --> 464646:28:45,761
ให้ a d y B B ก็คือ

380
464646:28:45,761 --> 464646:28:48,962
มีข้อมูล P2

381
464646:28:48,962 --> 464646:28:51,066
อยู่ในชุดข้อมูลอะไรบ้างของ

382
464646:28:51,066 --> 464646:28:51,351
A2

383
464646:28:51,351 --> 464646:28:55,351
อันนี้ P2

384
464646:28:55,902 --> 464646:28:59,902
เพราะฉะนั้น ผลลัพธ์ที่ได้จะมีแค่

385
464646:29:01,461 --> 464646:29:02,142
2 recoardคอร์ด

386
464646:29:02,142 --> 464646:29:02,602
เท่านั้น

387
464646:29:02,602 --> 464646:29:06,472
ที่มี P2 อยู่ด้วย

388
464646:29:06,472 --> 464646:29:10,472
อันนี้ก็จะยัง

389
464646:29:11,427 --> 464646:29:12,446
ตรงตามเงื่อนไข

390
464646:29:12,446 --> 464646:29:16,446
ถ้าเพิ่มอีก

391
464646:29:18,929 --> 464646:29:22,929

392
464646:29:25,207 --> 464646:29:28,074

393
464646:29:28,074 --> 464646:29:31,981
B p1 p2 p3 p6 S2 มีแค่นี้

394
464646:29:31,981 --> 464646:29:35,981
มีแค่นี้มีส่ง S4 มีแค่นี้ไม่ตรง

395
464646:29:41,473 --> 464646:29:42,958
มีที่ตรงแค่ s1 เท่านั้น ที่เอา B ทุกตัว

396
464646:29:42,958 --> 464646:29:43,575
หารไม่ลงตัว

397
464646:29:43,575 --> 464646:29:45,675
อันนี้คือหลักการ

398
464646:29:45,675 --> 464646:29:49,584
นะคะ

399
464646:29:49,584 --> 464646:29:50,313
ปัญหานั่นแหละ ต้องหาลงตัวนะคะ

400
464646:29:50,313 --> 464646:29:53,461
วันนี้จะประมาณนี้ เพราะว่าเดี๋ยว

401
464646:29:53,461 --> 464646:29:57,461
อาจจะให้เช็กโปรแกรมค่ะ

402
464646:29:59,349 --> 464646:30:01,730
เนื้อหาจะมีแค่นี้ เดี๋ยวจะเช็กในห้องแลบว่า

403
464646:30:01,730 --> 464646:30:02,444
โปรแกรมที่จะใช้สมบูรณ์หรือเปล่า

404
464646:30:02,444 --> 464646:30:06,444
ก็วันนี้ก็น่าจะ

405
464646:30:07,964 --> 464646:30:09,082
เนื้อหาจะประมาณนี้ค่ะ เพราะเดี๋ยวจะให้เช็ค

406
464646:30:09,082 --> 464646:30:09,899
โปรแกรมในห้องเรียน

407
464646:30:09,899 --> 464646:30:10,266
นะคะ

408
464646:30:10,266 --> 464646:30:14,266

409
464646:30:15,542 --> 464646:30:15,993
เลยสั้นนิดหนึ่ง เพราะว่าหลังปีใหม่ขอเช็กโปรแกรมก่อน

410
464646:30:15,993 --> 464646:30:19,993
สัปดาห์หน้าอาจจะเริ่มใช้โปรแกรม อาทิตย์นี้ก็เลยเดี๋ยว

411
464646:30:21,585 --> 464646:30:24,167
... เท่านี้

412
464646:30:24,167 --> 464646:30:25,566
เดี๋ยวเรามาเช็คดูว่าห้องเรียนเรา

413
464646:30:25,566 --> 464646:30:25,833
ใช้โปรแกรมได้หรือเปล่า

414
464646:30:25,833 --> 464646:30:27,328
นะคะ

415
464646:30:27,328 --> 464646:30:31,328
วันนี้ก็ขอบคุณล่ามกับขอบคุณถอดความด้วยนะคะ ประมาณนี้ค่ะ เพราะว่าเดี๋ยวเช็กห้องแลปก่อน

416
464646:30:34,099 --> 464646:30:38,099
ขอบคุณมากค่ะ

417
464646:30:55,164 --> 464646:30:59,164

418
464646:30:55,926 --> 464646:30:59,926
[lb

419
464646:31:11,494 --> 464646:31:22,133
[สิ้นสุดการถอดความ]

420
464646:30:35,790 --> 464646:30:39,790


