﻿1
00:00:18,198 --> 00:00:18,199

2
00:00:18,199 --> 00:00:22,199

3
00:00:26,492 --> 00:00:30,479
(อาจารย์เกวลี) โอเค สวัสดีค่ะ โอเคค่ะ วันนี้

4
00:00:30,479 --> 00:00:32,304
จะเป็นบทที่ 4 นะคะ

5
00:00:32,304 --> 00:00:36,304
จะเป็นเกี่ยวกับ

6
00:00:39,408 --> 00:00:40,297
แบบจำลองข้อมูล

7
00:00:40,297 --> 00:00:44,297
หรือเวลาเราเรียกสั้น ๆ

8
00:00:46,696 --> 00:00:50,696
ก็คือการวาดรูป ER นะคะ ตัว E แล้วก็ตัว R

9
00:00:56,260 --> 00:00:57,298
ภาษาอังกฤษ โดยแผนภาพนะคะ ER

10
00:00:57,298 --> 00:01:01,298
นะคะ หรือว่า ER Model นี่ มันจะเป็น

11
00:01:02,776 --> 00:01:06,772
ล่ามเขาได้ยินเราไหมพลอย

12
00:01:06,772 --> 00:01:10,535
ทำไมล่ามดูนิ่ง ๆ

13
00:01:10,535 --> 00:01:13,265

14
00:01:13,265 --> 00:01:17,265
ล่ามได้ยินไหมคะ

15
00:01:18,608 --> 00:01:20,125

16
00:01:20,125 --> 00:01:23,655

17
00:01:23,655 --> 00:01:27,655

18
00:01:28,448 --> 00:01:32,448

19
00:01:32,519 --> 00:01:36,519
ล่ามได้ยินไหมคะ ถ้าได้ยิน

20
00:01:43,761 --> 00:01:43,960
โอเคด้วยค่ะ โอเค โอเค

21
00:01:43,960 --> 00:01:47,960
ก็การวาด ER นะคะ หรือเป็นแบบจำลองข้อมูล

22
00:01:49,366 --> 00:01:49,944
นะคะ มันจะเป็นแบบที่ใช้อธิบาย

23
00:01:49,944 --> 00:01:53,944
โครงสร้างของฐานข้อมูล โดยที่เราจะแสดงออกมาเป็นรูปภาพ

24
00:01:58,478 --> 00:02:02,168
นะคะ โดยที่โครงสร้างสำคัญที่

25
00:02:02,168 --> 00:02:03,449
จะต้องใช้ในการวาดรูปของเรานะคะ ก็คือ Entity

26
00:02:03,449 --> 00:02:07,449
หรือว่าตารางกับความสัมพันธ์ แต่ละ

27
00:02:07,934 --> 00:02:11,934
เส้นที่เชื่อมโยงในแต่ละตาราง เราจะต้องโยง

28
00:02:12,398 --> 00:02:16,398
กันให้ถูกนะคะ อย่างเช่น ตารางของอาจารย์กับนักศึกษา

29
00:02:22,543 --> 00:02:26,543
เราต้องมีความสัมพันธ์กันในฐานะการเรียนการสอนแบบนี้นะคะ การวาดรูปจะเป็นเหมือนรูปที่อาจารย์ยกตัวอย่างให้ดู

30
00:02:29,592 --> 00:02:32,430
ดูบนจอนะคะ การ

31
00:02:32,430 --> 00:02:36,430
ที่เราจะวาดรูปได้เราต้องรู้ด้วยว่าสัญลักษณ์แต่ละอันเป็น

32
00:02:37,781 --> 00:02:41,781
อย่างไร ทำไมเราต้องใช้วงรี ทำไมเราต้องใช้สี่เหลี่ยม

33
00:02:46,145 --> 00:02:50,145
ผืนผ้า ทำไมเราต้องลากเส้นตรงนะคะ แต่ละอันมีความหมายหมดเลย แล้ววันนี้ก็จะ

34
00:02:51,536 --> 00:02:52,109
พอบรรยายเสร็จจะให้วาดเองด้วยนะคะ

35
00:02:52,109 --> 00:02:55,798

36
00:02:55,798 --> 00:02:59,798
จุดเด่นของแผนภาพ ER นะคะ

37
00:03:05,670 --> 00:03:07,547
มันจะทำให้เราออกแบบฐานข้อมูลได้เร็วขึ้น มัน

38
00:03:07,547 --> 00:03:11,547
เหมือนการจัดระเบียบความคิดของผู้ที่ออกแบบ

39
00:03:12,528 --> 00:03:16,528
คล้าย ๆ กับเราสมัยมัธยมน่าจะเคยวาด Mind Map

40
00:03:18,940 --> 00:03:22,117
นะคะ การวาด ER ก็เหมือนกันนะคะ

41
00:03:22,117 --> 00:03:26,117
มันจะได้รู้ว่าเราต้องการจะออกแบบอะไร อะไรควรมีความสัมพันธ์กัน หรืออะไรที่ขาดหายไปนะคะ

42
00:03:29,096 --> 00:03:32,462
เราจะได้เห็น รวมถึงลดความ

43
00:03:32,462 --> 00:03:36,462
ซ้ำซ้อนของข้อมูลออกไปด้วย เช่น ในตารางนี้

44
00:03:38,556 --> 00:03:40,812
มีข้อมูลนี้อยู่แล้ว ก็ไม่จำเป็นต้องใส่เพิ่มในตารางอื่นก็ได้

45
00:03:40,812 --> 00:03:44,812
นะคะ หรือว่าพอเราวาดเสร็จออกมาทำไมมี

46
00:03:46,472 --> 00:03:47,630
ตารางที่คล้าย ๆ กัน 2 อัน มันลบออกได้ไหม

47
00:03:47,630 --> 00:03:51,630
นะคะ การวาดรูปจะทำให้เราเห็นภาพได้ง่ายขึ้น

48
00:03:55,384 --> 00:03:59,384
โดยคุณลักษณะของการวาดแผนภาพ ER

49
00:04:02,255 --> 00:04:03,858
นะคะ ก็คือแน่นอนมันแสดงผลออกมาเป็น

50
00:04:03,858 --> 00:04:07,858
ภาพนะคะ model ข้อมูล หรือรูปแบบข้อมูล

51
00:04:12,390 --> 00:04:12,684
แบบไหนก็ตามนี่ มันจะมีภาษาหรือรูปภาพที่เป็นกราฟิก

52
00:04:12,684 --> 00:04:15,200
โดยเฉพาะนะคะ อาจจะมีทั้งภาพขนาด

53
00:04:15,200 --> 00:04:18,278
ใหญ่ ภาพขนาดย่อย มันจะทำให้เรา

54
00:04:18,278 --> 00:04:22,278
อ่านข้อมูล หรืออ่านบานข้อมูลนั้นได้ง่าย เพราะ

55
00:04:28,294 --> 00:04:31,517
เราใช้สี่เหลี่ยม เราใช้วงรีนะคะ เราใช้วงกลม เราใช้

56
00:04:31,517 --> 00:04:32,278
เส้นโค้ง เส้นประ ทุกอย่างมีความหมาย

57
00:04:32,278 --> 00:04:36,278
หมดนะคะ มันก็แสดงให้เห็นถึงความชัดเจนของ

58
00:04:36,755 --> 00:04:40,755
ข้อมูลด้วย โดยที่เราอาจจะใช้สัญลักษณ์ที่

59
00:04:44,589 --> 00:04:47,102
ต่างกันเล็กน้อยนะคะ ซึ่งตัวรูปแบบของการวาดนี่ มันก็จะมีหลาย หลายรูปแบบ หนังสือ

60
00:04:47,102 --> 00:04:50,207
บางเล่มก็ไม่เหมือนกัน บางคนใช้รูปแบบของคนนี้

61
00:04:50,207 --> 00:04:54,207
หรือหนังสืออีกเล่มหนึ่งอาจจะใช้รูปแบบที่ต่างออไป

62
00:05:02,117 --> 00:05:06,117
นะคะ ในการวาดรูป แต่เดี๋ยวตอนถึงเวลาวาดรูปเราต้องตกลงกันก่อนว่า เราจะเลือกรูปแบบไหนนะคะ ข้อสำคัญคือแผนภาพที่ได้มานี่ มันควร

63
00:05:09,606 --> 00:05:13,606
ที่จะอ่านง่าย ๆ ไม่ซับซ้อน เส้น

64
00:05:16,341 --> 00:05:17,181
ไม่ลากตัดกันไปกันมา ฉันเพิ่งคิดได้ ฉันเลยอยากวาดไว้ตรงนี้

65
00:05:17,181 --> 00:05:21,181
ไม่ได้นะคะ เราต้องคิดก่อนว่า เราจะวาดเส้นตรง

66
00:05:21,881 --> 00:05:25,881
จากกระดาษฝั่งหนึ่งไปอีกฝั่งหนึ่งนี่

67
00:05:27,994 --> 00:05:31,994
เราต้องมาจัดระเบียบความคิดตัวเองด้วยว่า ในตารางนี่

68
00:05:34,067 --> 00:05:35,976
มันมีตารางอะไรบ้าง แล้วแต่ละตารางนี่มันควรจะเชื่อมกันอย่างไรนะคะ

69
00:05:35,976 --> 00:05:39,976
โดยในแผนภาพ

70
00:05:45,978 --> 00:05:47,564
ที่เราวาดนะคะ รายละเอียดต้องอยู่ในระดับที่เหมาะสม

71
00:05:47,564 --> 00:05:51,564
อาจจะไม่ได้ละเอียดยิบขนาดนั้น ไม่ต้องละเอียด

72
00:05:55,178 --> 00:05:59,178
เป๊ะ ๆ ๆ ๆ ขนาดนั้น แต่ว่าเราต้องมองภาพให้ออกหรืออาจจะมีการเปลี่ยนแปลงแก้ไข มันจะต้องยืดหยุ่น

73
00:06:03,580 --> 00:06:05,412
รวมถึงรายละเอียดต้องเพียงพอ ไม่ใช่น้อยไป บางอันก็

74
00:06:05,412 --> 00:06:08,310
เยอะไปนะคะ เอาที่พอดี โดย

75
00:06:08,310 --> 00:06:12,310
แต่ละอันนี่อย่างที่บอกเราจะต้องมีการเชื่อมโยงความสัมพันธ์ของ

76
00:06:14,975 --> 00:06:15,442
แต่ละตารางด้วยนะคะ แล้วก็

77
00:06:15,442 --> 00:06:19,442
การวาดรูปของเรา เราจะไม่ตายตัวเลยว่า

78
00:06:21,132 --> 00:06:22,536
เราวาดเพื่อไปใช้กับโปรแกรมอะไรนะคะ

79
00:06:22,536 --> 00:06:26,536
รูปที่เราวาดจะต้องเอาไปใช้ได้กับทุกโปรแกรม หรือทุก

80
00:06:31,551 --> 00:06:32,241
รูปแบบของการเขียนข้อมูลนะคะ แล้วก็เวลาใคร

81
00:06:32,241 --> 00:06:35,899
มาอ่านจะต้องเข้าใจง่าย ถึงแม้ว่าเขาจะ

82
00:06:35,899 --> 00:06:39,899
ไม่ได้เรียนทางด้านคอมพิวเตอร์มาก่อน แต่พอ

83
00:06:42,497 --> 00:06:46,497
เขาดูรูปภาพ อย่างน้อยเขาก็จะเข้าใจว่าเราจะสื่ออะไร

84
00:06:48,108 --> 00:06:52,108
ในฐานข้อมูลเรามีอะไรบ้างนะคะ เขาอาจะไม่รู้หรอกว่า

85
00:06:52,500 --> 00:06:55,596
วงรีมันหมายความว่าอะไร หรือสี่เหลี่ยมหมายความว่าอะไร

86
00:06:55,596 --> 00:06:59,596
เป็นเส้นประ ทำไมต้องมีเส้นโค้งด้วย เขาไม่ต้องเข้าใจตรงนั้น

87
00:07:01,273 --> 00:07:03,799
แต่เขาดูแล้วเขาก็พอเข้าใจว่าเราต้องการจะเสนออะ สื่อ

88
00:07:03,799 --> 00:07:07,799
อะไร ในฐานข้

89
00:07:10,180 --> 00:07:13,744
อมูลอันนี้ ก็คือไม่ว่าจะเป็นใครต้องอ่านรูปที่เราวาดเข้าใจระดับหนึ่งก็ยังดีนะคะ

90
00:07:13,744 --> 00:07:17,744
ขั้นตอนในการออกแบบแผนภาพ ER นะคะ

91
00:07:21,816 --> 00:07:25,816
มันก็จะมีอยู่หลายขั้นตอน แต่เราก็จะแบ่งได้เป็น 5 ขั้นตอน

92
00:07:26,044 --> 00:07:30,044
ในการออกแบบ หรือการวาดด้วยนะคะ โดยพอเราได้ภาพคร่าว ๆ มาแล้วนี่ เรา

93
00:07:34,846 --> 00:07:38,846
ค่อยไปใส่รายละเอียดทีหลังก็ได้ ว่าผู้ใช้งานเขา

94
00:07:41,857 --> 00:07:45,095
ควรจะดูข้อมูลได้ในระดับไหน ผู้ใช้งานแต่ละคน การเข้าถึงข้อมูลแต่ละขั้นนี่

95
00:07:45,095 --> 00:07:47,803
แต่ละขั้นแต่ละชั้นนี่ ใครเข้าได้บ้าง

96
00:07:47,803 --> 00:07:51,803
หรือว่าผู้ใช้งานดูได้อย่างเดียวไหม หรืออะไร

97
00:07:56,530 --> 00:07:58,380
หลังจากที่เราวาดรูปเสร็จแล้ว แล้วค่อยมาใส่รายละเอียดทีหลังก็ได้

98
00:07:58,380 --> 00:08:02,380
นะคะ โดยขั้นตอนแรก

99
00:08:03,200 --> 00:08:07,200
เราจะกำหนด Entity หลัก หรือตารางหลัก

100
00:08:11,072 --> 00:08:15,072
นะคะ โดยในการออกแบบฐานข้อมูลนี่ เราจะต้องเอา...

101
00:08:15,598 --> 00:08:17,073
รวบรวมความต้องการของผู้ใช้งาน

102
00:08:17,073 --> 00:08:21,073
ก็คือ requirement นี่ล่ะนะคะ มากำหนดว่า

103
00:08:22,525 --> 00:08:26,525
ในฐานข้อมูลเราจะมี Entity มีตารางอะไรบ้าง

104
00:08:30,661 --> 00:08:34,661
ซึ่งขั้นตอนนี้เป็นขั้นตอนที่ค่อนข้างยากนะคะ ต้องเข้าใจในสิ่งที่เรากำลังจะสร้าง ทั้งผู้ใช้งานและ

105
00:08:37,070 --> 00:08:40,744
ผู้ออกแบบต้องเข้าใจตรงกัน เพราะ

106
00:08:40,744 --> 00:08:43,477
ถ้าเรากำหนดตารางไปแล้ว แล้วอยู่ดี ๆ มาเพิ่ม

107
00:08:43,477 --> 00:08:47,477
มันอาจจะต้องเชื่อมต่อความสัมพันธ์ใหม่

108
00:08:47,484 --> 00:08:51,484
นะคะ โดยวิธีการ ก็คือถ้าอยากทำให้มัน

109
00:08:52,111 --> 00:08:56,111
ครอบคลุมมากที่สุด ก็คือเอาข้อมูลทั้งหมดที่มี

110
00:09:00,592 --> 00:09:04,592
มาวาง แล้วจัดกลุ่มของข้อมูลนะคะ โดยรู้ว่าข้อมูลมีค่าอะไรบ้าง มีความหมายอะไร

111
00:09:05,399 --> 00:09:06,644
แต่อะไร แต่ละอย่างนี่เชื่อมโยงกันอย่างไร

112
00:09:06,644 --> 00:09:10,644
นะคะ ถ้าข้อมูลเป็นข้อมูลชนิดเดียวกัน ให้

113
00:09:16,695 --> 00:09:17,428
รวมไว้ในตารางเดียวกัน แล้วกำหนดชื่อ เช่น นักศึกษา

114
00:09:17,428 --> 00:09:18,607
นะคะ อาจจะมีหลายคณะ

115
00:09:18,607 --> 00:09:22,607
ก็จริง แต่ก็คือนักศึกษา เรารวมเป็นตารางเดียวได้ไหม ได้

116
00:09:27,688 --> 00:09:31,688
แล้วค่อยมากำหนดลักษณะพิเศษของแต่ละคนว่า

117
00:09:33,816 --> 00:09:37,816
ในนักศึกษาหลาย ๆ พันคนนี่เขามีความแตกต่างอะไรบ้าง แต่เราก็เก็บข้อมูลไว้ในตารางเดียวก็พอ โดยทุกอย่าางจะต้อง

118
00:09:41,976 --> 00:09:45,976
บันทึกไว้ในบันทึกพจนานุกรม

119
00:09:46,506 --> 00:09:48,735
ด้วย แล้วก็เขียนลงไปในแผนภาพที่เราจะวาดด้วย ว่า

120
00:09:48,735 --> 00:09:52,735
กำลังจะวาดด้วยว่าในตารางนี้มีข้อมูลอะไรบ้าง ที่เราต้องใช้นะคะ ขั้นตอนที่ 2 ก็จะต้องมากำหนด

121
00:09:56,169 --> 00:10:00,169
ความสัมพันธ์ Entity

122
00:10:04,451 --> 00:10:08,451
ระหว่างตารางนั่นเอง การกำหนดชื่อ กำหนดความหมาย ความสัมพันธ์ ทิศทางการเชื่อมโยงของข้อมูล อัตราการเกิดความสัมพันธ์

123
00:10:11,761 --> 00:10:15,761
นะคะ เช่น นักศึกษา 1 คน สามารถลงทะเบียนเรียนได้หลายวิชานะคะ

124
00:10:17,254 --> 00:10:21,254
แต่ในหลาย ๆ ในแต่ละวิชา จะต้องมีผู้สอนได้เพียง

125
00:10:22,835 --> 00:10:25,568
คนเดียว อันนี้คือความสัมพันธ์ที่เกิดขึ้น

126
00:10:25,568 --> 00:10:29,568
แต่อาจารย์ 1 คน ก็สามารถสอนได้หลายคน

127
00:10:34,250 --> 00:10:34,731
เหมือนกัน ได้หลายวิชาด้วยนะคะ ซึ่งอาจจะเป็นยกตัวอย่างการ

128
00:10:34,731 --> 00:10:38,731
กำหนดอัตราส่วนอีกอย่างหนึ่ง ก็คือเหมือนที่อาจารย์ยกตัวอย่าง

129
00:10:45,641 --> 00:10:49,641
บ่อย ๆ รหัสบัตรประชาชน ไม่ควร มันไม่เกิน 13 หลักอยู่แล้ว เราก็ต้องกำหนด

130
00:10:53,767 --> 00:10:54,670
ชื่อคน กำหนดไว้เลยก็ได้ ไม่ควรเกิน 20 ตัวอักษร คงไม่มีใคร

131
00:10:54,670 --> 00:10:57,931
ตั้งชื่อตามหลักโหราศาสตร์

132
00:10:57,931 --> 00:11:01,931
ยาวเกิน 20 ตัวหรอก นะคะ แล้วก็เราก็สามารถ

133
00:11:05,479 --> 00:11:06,932
แบ่งกลุ่มได้แล้วว่าข้อมูลแต่ละอันมันจะต้องเชื่อมโยง

134
00:11:06,932 --> 00:11:10,932
กันอย่างไร หลังจากนั้นก็มาดูว่าความสัมพันธ์เป็นอย่างไร

135
00:11:17,897 --> 00:11:21,897
1 ต่อ 1 หรือ 1 ต่อมากกว่า 1 อะไรพวกนี้นะคะ ภาษาอังกฤษ

136
00:11:25,078 --> 00:11:29,078
ก็คือ One-to-One One-to-Many อะไรพวกนี้

137
00:11:29,628 --> 00:11:30,297
ซึ่งก็จะต้องวิเคราะห์ดี ๆ นะคะ ซึ่งจะต้อง

138
00:11:30,297 --> 00:11:34,297
สามารถอ่านไปข้างหน้าแล้วก็อ่านย้อนกลับมา โดยที่ความหมายไม่เปลี่ยน ในแผนภาพของเราด้วยนะคะ

139
00:11:38,687 --> 00:11:42,687
ขั้นตอนที่ 3 กำหนดคีย์หลัก กำหนดคีย์รอง

140
00:11:46,777 --> 00:11:50,777
ก็คือ Primary Key กับ Second

141
00:11:54,728 --> 00:11:58,728
ary Key หลังจากที่เราได้ตารางต่าง ๆ แล้ว ขั้นตอนต่อไป

142
00:11:58,728 --> 00:11:58,821
ในตารางเราจะต้องเก็บข้อมูลหรือ Attribute

143
00:11:58,821 --> 00:12:02,821
อะไรบ้าง เช่น ตารางนักศึกษา ต้องเก็บข้อมูลอะไรบ้าง เกี่ยวกับนักศึกษา

144
00:12:06,876 --> 00:12:10,876
ถ้าพอจำได้ ก็คือตอนเราเข้ามาเรียน เรากรอกข้อมูล

145
00:12:13,629 --> 00:12:14,798
เยอะมาก ตั้งแต่ใบสมัครเลยนะคะ อันนั้นคือ Attribute

146
00:12:14,798 --> 00:12:18,128
ที่มหาวิทยาลัยต้องการ ชื่ออะไร

147
00:12:18,128 --> 00:12:22,128
นามสกุลอะไร บัตรประชาชขนเลขอะไร เกิดวันที่เท่าไร

148
00:12:28,117 --> 00:12:30,856
บ้านอยู่ไหน พ่อแม่ชื่ออะไร จบจากโรงเรียนอะไร เกรดเฉลี่ยเท่าไร

149
00:12:30,856 --> 00:12:31,423
ปัจจุบันที่ไหน ใครเป็นคนส่งเรียน

150
00:12:31,423 --> 00:12:34,329
ได้เงินเดือนเดือนละเท่าไรนะคะ

151
00:12:34,329 --> 00:12:38,329
ใครเป็นผู้ปกครอง เบอร์ผู้ปกครองเบอร์อะไร

152
00:12:45,198 --> 00:12:46,584
บางคนผู้ปกครองไม่ใช่พ่อหรือแม่ อาจจะเป็นคุณตาคุณยายนะคะ ที่อยู่ปัจจุบัน

153
00:12:46,584 --> 00:12:50,584
อยู่ไหน แล้วมาเรียนราชภัฏพักที่ไหน

154
00:12:50,821 --> 00:12:54,821
กรอกให้หมด เกรดเฉลี่ยตั้งแต่ ม.4 ม.5 ม.6 เป็นอย่างไร

155
00:13:02,755 --> 00:13:03,382
อันนี้คือสิ่งที่มหาวิทยาลัยต้องการรู้เกี่ยวกับพวกคุณ

156
00:13:03,382 --> 00:13:07,382
ซึ่งก็คือ Attribute นั่นเองนะคะ โดยหัวของแต่ละคอลัมน์หรือ Attribute

157
00:13:09,574 --> 00:13:13,574
นี่ ควรกำหนดเป็นคำสั้น ๆ ง่าย ๆ อาจจะเป็นตัวย่อก็ได้

158
00:13:18,765 --> 00:13:22,119
แต่ต้องสื่อความหมายนะคะ แล้วก็หลีกเลี่ยงการตั้งชื่อเหมือนกันนะคะ

159
00:13:22,119 --> 00:13:26,119
อาจจะเป็นชื่อ ชื่อนี่

160
00:13:29,252 --> 00:13:33,252
บางคนไม่เข้าใจ สรุปใส่ชื่อเล่นหรือชื่อจริง เพราะฉะนั้น

161
00:13:34,767 --> 00:13:38,767
ต้องกำหนดไปเลยว่าคุณต้องการอะไร ชื่อจริงก็ชื่อจ

162
00:13:42,764 --> 00:13:44,159
ริง ชื่อเล่นก็ใส่ชื่อเล่น ไม่ใช่คำว่า "ชื่อ"

163
00:13:44,159 --> 00:13:48,159
เฉย ๆ แล้วเขาจะรู้ไหมว่าต้องใส่อะไร เขาอาจจะ

164
00:13:49,981 --> 00:13:53,981
ใส่ชื่อเล่นก็ได้นะคะ กำหนดคีย์ภายนอก หรือว่า Foreign Key

165
00:13:58,503 --> 00:14:02,503
เป็นคีย์ที่เอาไว้เชื่อมโยงแต่ละตารางเข้าไว้ด้วยกันนะคะ อย่างเช่น นักศึกษากับอาจารย์นี่

166
00:14:02,722 --> 00:14:04,309
จะเชื่อมโยงกันได้อย่างไร เชื่อมโยงโดยรหัสวิชา

167
00:14:04,309 --> 00:14:07,799
เช่น รหัสวิชานี้ใครเรียนบ้าง ใคร

168
00:14:07,799 --> 00:14:11,799
สอนบ้าง แค่กรอกรหัสเข้าไปก็รู้ได้เลย

169
00:14:11,994 --> 00:14:15,994
อันนี้คือการเชื่อมโยงกันของอาจารย์กับนักศึกษาในวิ

170
00:14:22,775 --> 00:14:24,030
ชานั้น ๆ นะคะ โดยที่คีย์นอกหรือ Foreign Key นี่ มันอาจจะ

171
00:14:24,030 --> 00:14:25,537
เป็นคีย์หลักของตารางอื่นก็ได้นะคะ

172
00:14:25,537 --> 00:14:29,537
เดี๋ยวพอวาดรูปก็จะเข้าใจมากขึ้น อันนี้ตอนพูดอาจจะ

173
00:14:36,948 --> 00:14:38,816
ไม่ค่อยเข้าใจเท่าไร ว่า เอ๊ะ ทำไมมันถึงเชื่อมโยงกันได้นะคะ

174
00:14:38,816 --> 00:14:42,816
ขั้นที่ 5 พิจารณาขอบเขตค่าแต่ละค่า

175
00:14:42,921 --> 00:14:46,921
ที่อยู่ในแต่ละข้อมูลที่เราต้องการ

176
00:14:53,204 --> 00:14:53,572
นะคะ ก็คือขอบเขตของข้อมูลนั่นแหละ

177
00:14:53,572 --> 00:14:55,952
เช่น ชนิดของข้อมูล เราจะกำหนดเป็นอะไร

178
00:14:55,952 --> 00:14:58,365
วันเกิด ควรกำหนดเป็นอะไร

179
00:14:58,365 --> 00:15:02,365
เงินเดือน มันควรเป็นจำนวนเต็มไหม คุณอยากได้ทศนิย

180
00:15:10,790 --> 00:15:14,790
หรือเปล่านะคะ อย่างชื่อก็ควรกำหนดเป็นรับข้อมูลเฉพาะตัวอักษรเท่านั้น กรอกเป็นตัวเลขไม่ได้

181
00:15:17,971 --> 00:15:21,971
อันนี้คือสิ่งที่เราต้องกำหนดตั้งแต่ตอนที่ออกแบบฐานข้อมูลเลย ความยาว

182
00:15:22,002 --> 00:15:22,492
เลขบัตรประชาชนก็ 13 หลัก

183
00:15:22,492 --> 00:15:26,492
นะคะ เบอร์โทรศัพท์ก็ 10 หลัก

184
00:15:27,304 --> 00:15:31,304
อะไรแบบนี้ นามสกุลไม่ควรเกิน 35 ตัว

185
00:15:35,439 --> 00:15:35,537
อักษร เงินเดือน ก็

186
00:15:35,537 --> 00:15:37,766
เอาสักไม่เกิน 7 หลัก ประมาณนี้นะคะ

187
00:15:37,766 --> 00:15:41,766
รูปแบบข้อมูล บางประเทศมันไม่เหมือนประเทศเรา

188
00:15:44,754 --> 00:15:48,754
เขาจะเอาเดือนขึ้นก่อน ตามด้วย

189
00:15:50,887 --> 00:15:54,887
วัน ตามด้วยปี คุณก็สามารถก็ได้เหมือนกัน

190
00:15:58,187 --> 00:15:58,809
แบบของเราเพื่อดูง่าย ๆ ก็เป็น วัน เดือน ปี ตามกันอย่างนี้ก็ได้นะคะ กับค่าที่อนุญาต

191
00:15:58,809 --> 00:16:02,809
โดยเฉพาะเช่น ทุกวันที่ 1

192
00:16:02,993 --> 00:16:06,993
กับ 16 ของเดือนเป็นวันหยุด

193
00:16:09,624 --> 00:16:10,695
คุณก็สามารถตั้งได้ ว่าในฐานข้อมูล คือ

194
00:16:10,695 --> 00:16:14,695
ถ้าสมมติลูกค้าต้องการจะจองคิวทำอะไรก็ตาม

195
00:16:15,903 --> 00:16:19,903
ถ้าเป็นวันที่ 1 กับวันที่ 16 จะไม่อนุญาตให้จอง

196
00:16:22,478 --> 00:16:26,478
แบบนี้ก็ได้นะคะ อันนี้ก็ต้องตั้งแต่เราออกแบบเลย ว่าข้อตกลงของเรา

197
00:16:27,304 --> 00:16:28,241
ควรจะเป็นอย่างไรนะคะ

198
00:16:28,241 --> 00:16:32,241

199
00:16:34,092 --> 00:16:38,092
อันนี้ก็อธิบายไปแล้วนะ กับอีกอันหนึ่ง สำคัญ

200
00:16:45,472 --> 00:16:49,472
ความเป็นหนึ่งเดียว ก็คือ อย่างเช่น รหัสนักศึกษา ต้องกำหนดเลยว่าต้องเป็น

201
00:16:50,610 --> 00:16:50,676
ค่าที่ซ้ำ ซ้ำกันไม่ได้

202
00:16:50,676 --> 00:16:54,676
เราอาจจะกรอกเลขผิดไปตัวหนึ่ง ระบบอาจจะ

203
00:17:02,306 --> 00:17:05,511
ต้องแจ้งเตือนว่าคุณเลขนี้ใช้ไม่ได้มันซ้ำไปแล้ว กับ การเป็นค่า Null ค่า Null ในที่นี้ คือ

204
00:17:05,511 --> 00:17:09,364
คุณไม่กรอกข้อมูลได้ไหม

205
00:17:09,364 --> 00:17:13,364
บางระบบจะบอกว่าไม่ได้ ถ้าใครเคยกรอก

206
00:17:17,186 --> 00:17:18,570
จะเห็นว่าบางช่องของการกรอกข้อมูล เขาจะมีดอกจันสีแดงกำหนดไว้อยู่

207
00:17:18,570 --> 00:17:21,723
เป็นข้อมูลที่เขาต้องการ คุณจะเว้นว่างไม่ได้

208
00:17:21,723 --> 00:17:25,723
นะคะ หรือถ้าต้องการจะเว้นว่าง

209
00:17:33,577 --> 00:17:36,972
หรือไม่ตอบ เขาจะเรียกอีกอันหนึ่งว่า "ค่า Default"

210
00:17:36,972 --> 00:17:40,972
ปริยาย ถ้าไม่ตอบว่าเงินเดือนเป็นเท่าไร

211
00:17:41,960 --> 00:17:45,960
ค่าเริ่มต้นคือ 0 แต่เป็นค่าว่างไม่ได้ ไม่ตอบไม่ได้ เพราะฉะนั้น เราใส่ไปเลย 0 บาท

212
00:17:47,785 --> 00:17:48,855
แบบนี้ก็ได้ แต่ส่วนมากทุกคนก็ต้องกรอกอยู่แล้วนะคะ

213
00:17:48,855 --> 00:17:50,714
ขั้นตอนสุดท้าย

214
00:17:50,714 --> 00:17:54,580
ก็มาวิเคราะห์ดูว่าแผนภาพที่เราออกแบบนี่

215
00:17:54,580 --> 00:17:58,580
มันสามารถปรับปรุง แก้ไข หรือว่าขยาย

216
00:18:01,432 --> 00:18:05,432
ตัวในอนาคตได้หรือเปล่า เพราะว่าการออกแบบที่ดีนี่

217
00:18:06,760 --> 00:18:07,136
ต้องคำนึงถึงการเปลี่ยนแปลงด้วย

218
00:18:07,136 --> 00:18:11,136
ไม่ใช่ว่าตายตัวไปตลอด เกิดสมมติว่าวันนี้คุณอาจ

219
00:18:15,394 --> 00:18:19,394
เปิดร้าน ลูกค้าอาจจะไม่ถึง 100 คน แต่ใครจะ

220
00:18:22,850 --> 00:18:26,850
ไปรู้ อนาคตคุณอาจจะเป็นธุรกิจที่มันเติบโตมีสาขาไปอีกเป็นร้อยสาขา มีลูกค้าอีกเป็น 10,000 คน

221
00:18:30,386 --> 00:18:32,350
แต่ฐานข้อมูลคุณ fix ไว้ว่ารหัส

222
00:18:32,350 --> 00:18:35,552
ลูกค้าแค่ 1-100 มันเป็นไปไม่ได้ค่ะ

223
00:18:35,552 --> 00:18:39,552
นะคะ ต้องวิเคราะห์ด้วยว่ารหัสลูกค้านี่ มันจะต้องเป็นการเพิ่มขึ้น

224
00:18:39,736 --> 00:18:43,314
อย่างอัตโนมัติไปได้เรื่อย ๆ หรือเปล่า

225
00:18:43,314 --> 00:18:47,314
หรือคุณจะเป็นคนกรอกเองนะคะ

226
00:18:49,262 --> 00:18:52,896
อันนี้ก็ต้องคิดด้วย ไม่ใช่ว่าระบบฉันใช้แค่

227
00:18:52,896 --> 00:18:56,896
10 คนนี่ล่ะ บางทีอนาคตอย่างจะไม่ใช่อย่างนั้นนะคะ

228
00:18:59,778 --> 00:19:02,490
โดยการสร้างแบบจำลองข้อมูล หรือการวาดแผนภาพ

229
00:19:02,490 --> 00:19:06,490
นี่ มันจะต้องวิเคราะห์ถึงข้อมู

230
00:19:10,862 --> 00:19:13,680
ลที่จะต้องเก็บในระบบนะคะ อาจจะเกี่ยวกับข้อมูลที่เราจำเป็นต้องเรียกใช้ โครงสร้างที่

231
00:19:13,680 --> 00:19:16,045
มีการเพิ่มลบแก้ไขข้อมูล

232
00:19:16,045 --> 00:19:20,045
จะต้องทำที่ตารางไหน ถ้าสมมติว่า

233
00:19:23,472 --> 00:19:25,791
ข้อมูลในตารางนั้นถูกลบไป มันจะไปกระทบกับข้อมูลในตาราง

234
00:19:25,791 --> 00:19:27,513
อื่นหรือเปล่านะคะ เช่น วันดี

235
00:19:27,513 --> 00:19:31,513
คืนดีอาจารย์ลบชื่อสาขาที่คุณเรียนออก

236
00:19:34,996 --> 00:19:38,996
มันจะกระทบกับพวกคุณไหม เป็นนักศึกษา

237
00:19:40,439 --> 00:19:44,439
ไม่มีสังกัด ทำได้ไหม ไม่ได้นะคะ ก็ต้องดูด้วย เขาเรียกว่า "กฎ

238
00:19:45,769 --> 00:19:47,774
การคงสภาพของข้อมูล" อยู่ดี ๆ อยากลบ

239
00:19:47,774 --> 00:19:51,774
ไม่ได้ เหมือนอยากเปลี่ยนเลขบัตรประชาชน

240
00:19:58,404 --> 00:20:02,404
ให้เดชมงคลได้ไหม ไม่ได้ เลขมันไม่สวย เลข 9 ลงท้าย มันไม่ได้

241
00:20:05,961 --> 00:20:08,509
แต่ชื่อเปลี่ยนได้ไหม เปลี่ยนได้ แต่

242
00:20:08,509 --> 00:20:10,760
บางอย่างมันเปลี่ยนได้นะคะ เช่น

243
00:20:10,760 --> 00:20:14,760
เลขบัตรประชาชนอย่างนี้ เราต้องวิเคราะห์ด้วย ไม่ใช่ว่า

244
00:20:15,246 --> 00:20:18,811
ออกแบบไปแล้วใครอยากเปลี่ยนเลขบัตรประชาชนตอนไหนก็ได้

245
00:20:18,811 --> 00:20:19,216
แบบนี้เป็นต้น

246
00:20:19,216 --> 00:20:23,216
โดยการเขียนแผนภาพ ER นี่ มันก็จะอธิบาย

247
00:20:27,872 --> 00:20:30,338
ภาพรวมทั้งหมดนะคะ อย่างที่บอกตอนต้น ก็คือมันต้องเข้าใจง่ายนะคะ อาจจะไม่ต้องรู้

248
00:20:30,338 --> 00:20:34,338
ว่าข้อมูลที่เรากำลังจะเก็บนี่ เก็บที่ไหน เก็บอย่างไร

249
00:20:39,487 --> 00:20:43,487
ไม่จำเป็น แค่วาดออกมาให้ดูก่อนว่า ในฐานข้อมูลเราต้องม

250
00:20:46,889 --> 00:20:47,514
ีอะไรบ้างนะคะ ในแต่ละตารางมีความสัมพันธ์กันอย่างไร ข้อมูลมันจะซ้ำซ้อนกันไหมนะคะ

251
00:20:47,514 --> 00:20:51,514
แล้วก็เขียนออก

252
00:20:53,346 --> 00:20:57,346
มาให้ออกมาดูง่ายที่สุด อย่างที่อาจารย์บอกตคอนแรก แผนภาพ

253
00:21:01,751 --> 00:21:05,751
การวาดรูปนี่มันมีหลาย... เขาเรียกว่าอะไรล่ะ หลายมาตรฐานก็แล้วกัน

254
00:21:06,882 --> 00:21:07,815
หนังสือแต่ละเล่มก็เลือกมาใช้ไม่เหมือนกัน

255
00:21:07,815 --> 00:21:11,815
นะคะ มีทั้งแบบเชน

256
00:21:18,895 --> 00:21:20,710
โมเดล แบบ Craw foot

257
00:21:20,710 --> 00:21:24,710
จะคล้าย ๆ กับรอยเท้าของนก รอยเท้าอีกา เขาก็เรียกเป็นรูปแบบ

258
00:21:24,841 --> 00:21:28,841
รูปแบบหนึ่งนะคะ แต่ที่เราจะใช้กันบ่อย ๆ

259
00:21:33,495 --> 00:21:34,862
นะคะ จะเป็นแบบของเชนโมเดล

260
00:21:34,862 --> 00:21:37,925
เราจะเลือกตัวใช้แบบนี้ เพราะว่ามันเขียนง่าย

261
00:21:37,925 --> 00:21:41,925
อ่านง่ายที่สุดนะคะ แต่ถ้าคุณไปเจอหนังสือเล่มอื่น คุณ

262
00:21:50,905 --> 00:21:54,905
ใช้เล่มอื่น อยู่ที่เขาจะเลือกใช้แบบไหนแค่นั้นเองนะคะ สัญลักษณ์

263
00:21:57,495 --> 00:22:01,495
ที่ต้องใช้ในการวาดรูปนะคะ สัญลักษณ์

264
00:22:05,285 --> 00:22:09,265
สี่เหลี่ยมผืนผ้ามันจะหมายถึงชื่อตารางนะคะ แบบสี่เหลี่ยมข้าวหลามตัด

265
00:22:09,265 --> 00:22:13,265
มันจะบอกถึงความสัมพันธ์ของตาราง

266
00:22:16,051 --> 00:22:16,803
แต่ละตารางนะคะ แล้วคอลัมน์ใน

267
00:22:16,803 --> 00:22:20,803
แต่ละตารางล่ะ นะคะ เราก็จะใส่เป็นรูปวงรี

268
00:22:20,961 --> 00:22:22,585
ถ้า

269
00:22:22,585 --> 00:22:26,585
คอลัมน์นั้น ๆ เป็นคีย์หลักที่ห้ามซ้ำ

270
00:22:27,593 --> 00:22:31,593
กัน ในรูปวงรีจะต้องขีดเส้นใต้ด้วย

271
00:22:36,476 --> 00:22:40,476
ส่วนด้านข้าง อันนี้จะไม่ค่อยพบเห็นบ่อย แต่จะเจอในข้อสอบ

272
00:22:43,179 --> 00:22:47,179
แน่ ๆ นะคะ อันแรกเป็นสี่เหลี่ยมผืนผ้าซ้อนกัน 2 อัน มันหมายถึงตารางนั้นน่ะ

273
00:22:50,740 --> 00:22:54,740
เป็นตารางอ่อนแอ หรือ Weak Entity จะต้องพึ่งค่าตารางอื่น

274
00:22:58,882 --> 00:22:59,278
เพื่อให้ตารางของมันมีความหมายนะคะ กับ

275
00:22:59,278 --> 00:23:03,278
ต่อมา สี่เหลี่ยมข้าวหลามตัดซ้อนกัน 2 อัน ก็เช่นกันค่ะ

276
00:23:10,931 --> 00:23:14,931
เขาจะเรียกว่า "ความสัมพันธ์แบบอ่อนแอ" มันจะต้องไปดึงค่าหรือความสัมพันธ์อื่น ๆ มาทำให้ตัวมันมีความหมาย

277
00:23:15,587 --> 00:23:19,587
ขึ้นมานะคะ วงรีซ้อนกัน 2 วง ก็คือในตารางนี้น่ะ

278
00:23:23,483 --> 00:23:25,576
ไอ้ในคอลัมน์นี้ หรือในข้อมูลนั้น ๆ นี่ มันอาจจะ

279
00:23:25,576 --> 00:23:29,576
มีข้อมูลได้มากกว่า 1 ข้อมูล เช่น คุณอาจจะมีเบอร์โทรศัพท์

280
00:23:31,129 --> 00:23:35,129
3 เบอร์ หรือว่ามีชื่อเล่น

281
00:23:38,276 --> 00:23:39,899
พ่อเรียกชื่อหนึ่ง แม่เรียกชื่อหนึ่ง ก็บอกได้

282
00:23:39,899 --> 00:23:43,899
มีสัตว์เลี้ยงมากกว่า 2 ตัว แต่ละตัวชื่อว่าอะไร

283
00:23:47,420 --> 00:23:50,004
บ้าง อย่างนี้ก็ได้นะคะ กับ

284
00:23:50,004 --> 00:23:54,004
วงรีที่เป็นเส้นประ มันหมายถึงว่า ค่าข้อมูล

285
00:23:58,946 --> 00:23:59,314
ในนี้นี่ จะได้มาจากการคำนวณของข้อมูลอื่น ๆ ที่พบบ่อยที่สุด ก็คือ

286
00:23:59,314 --> 00:24:01,242
อายุ

287
00:24:01,242 --> 00:24:05,242
อายุจะได้มาจากการคำนวณวันเกิด

288
00:24:13,813 --> 00:24:17,813
ใช่ไหมคะ เพราะฉะนั้น ไอ้เส้นวงรีประ ๆ พวกนี้ อายุของเราได้มาจากการกรอกวัน เดือน ปีเกิด นั่นเอง

289
00:24:20,612 --> 00:24:22,698
นะคะ ให้มันคำนวณให้

290
00:24:22,698 --> 00:24:26,698
อัติโนมัติ ผู้ใช้งานไม่ต้องบอกเองว่าอายุเท่าไร

291
00:24:30,960 --> 00:24:34,960
ให้ระบบคำนวณได้เลย อายุ 18 ปี 11 เดือน 10 วันอะไรก็ว่าไปนะคะ อันนี้คือสัญลักษณ์ที่เราใช้บ่อยรูปเดียวกันกับรูปเมื่อกี้

292
00:24:42,416 --> 00:24:45,706
นะคะ อันนี้จะอธิบายโดยละเอียด Entity หรือว่าชื่อของตาราง

293
00:24:45,706 --> 00:24:49,617
นะคะ ก็จะเป็นส่วนในการเก็บข้อมูล รายการ

294
00:24:49,617 --> 00:24:51,869
แต่ละรายการที่ระบบจัดการฐานข้อมูล หรือเรากำลัง

295
00:24:51,869 --> 00:24:55,869
จะสร้างระบบขึ้นมานะคะ เช่น

296
00:24:57,340 --> 00:25:01,340
สัญลักษณ์ Entity จะเป็นสี่เหลี่ยมผืนผ้า มี

297
00:25:02,890 --> 00:25:06,890
ชื่อตารางหรือชื่อ Entity อยู่ข้างในนะคะ เรา

298
00:25:08,365 --> 00:25:12,365
จะต้องวาดแบบนี้ทุกครั้งนะคะ โดยตัวอย่าง

299
00:25:14,721 --> 00:25:16,369
เช่น ตารางบุคคล บุคคลคืออะไรบ้าง เป็น

300
00:25:16,369 --> 00:25:20,369
ตารางพนักงาน ตารางผู้ป่วย ตาราง

301
00:25:24,667 --> 00:25:26,620
บุคลากร ตารางนักศึกษา ตารางลูกค้า อาจจะเป็นข้อมูลเกี่ยวกับ

302
00:25:26,620 --> 00:25:30,620
สถานที่ ก็จะเป็นตารางเก็บจังหวัด เก็บข้อมูลอำเภอ

303
00:25:34,979 --> 00:25:38,979
นะคะ ตารางที่เกี่ยวกับวัตถุ อาจจะเป็นรถยนต์ อาคาร เครื่องจักร สินค้าก็ได้

304
00:25:39,267 --> 00:25:43,267
หรืออาจจะเป็นเหตุการณ์ต่าง ๆ ที่เกิดขึ้น การซื้อ การขาย

305
00:25:44,933 --> 00:25:48,933
การรักษาโรค การซื้อการขาย

306
00:25:50,106 --> 00:25:51,723
สัญลักษณ์ อย่างที่บอกเป็นสี่เหลี่ยมผืนผ้า มีชื่อตารางหรือ Entity หรือตาราง

307
00:25:51,723 --> 00:25:55,723
อยู่ข้างในนะคะ ประเภทของ Entity ก็มีอยู่ 2 ประเภท

308
00:25:57,066 --> 00:26:01,066
นะคะ แต่ส่วนใหญ่ที่เราใช้กันนี่ จะเป็น Entity ทั่วไ

309
00:26:06,987 --> 00:26:09,468
ปนะคะ เป็น Regula เป็นตารางที่ข้อมูลในนั้น สามารถแยกข้อมูลแต่ละแถว

310
00:26:09,468 --> 00:26:12,131
ออกได้นะคะ กับอีกอันหนึ่ง คือ Entity

311
00:26:12,131 --> 00:26:16,131
อ่อนแอ มันจำเป็นจะต้องใช้ข้อมูลอื่น

312
00:26:19,065 --> 00:26:20,203
มาช่วยทำให้ข้อมูลในแถวนั้น ๆ มีคุณค่า หรือมีความหมายขึ้นมา

313
00:26:20,203 --> 00:26:21,934
นะคะ อันนี้เป็นตัวอย่าง

314
00:26:21,934 --> 00:26:25,934
Entity ทั่วไป หรือตาราง

315
00:26:29,182 --> 00:26:33,182
ทั่วไปนะคะ จะสังเกตได้ว่า

316
00:26:36,242 --> 00:26:39,075
อย่างข้างบนนี่ อาจารย์เขียนไว้ว่า Entity Student

317
00:26:39,075 --> 00:26:40,394
ก็คือตาราง

318
00:26:40,394 --> 00:26:44,394
ตารางหนึ่งที่มีข้อมูลเกี่ยวกับนักเรียนอยู่

319
00:26:49,109 --> 00:26:53,109
แต่สิ่งที่เราจะเอามาวาดแผนภาพ มันไม่ใช่กรอบสี่เหลี่ยมนี้นะคะ

320
00:26:54,179 --> 00:26:58,179
เราจะเอามาแต่ชื่อ เช่น ตาราง student ก็คือ entity student

321
00:27:00,378 --> 00:27:02,071
เก็บข้อมูลอะไรบ้าง ก็คือตัวนี้ แต่ที่เรามาวาด

322
00:27:02,071 --> 00:27:06,071
รูป เอาแค่นี้ค่ะ เอาสี่เหลี่ยมข้างล่างมาวาด แล้วก็บอกด้วยว่า

323
00:27:10,488 --> 00:27:14,488
ชื่อตารางอะไรนะคะ อันนี้เป็นตัวอย่างของตารางอ่อนแอ หรือ Entity

324
00:27:17,035 --> 00:27:21,035
อ่อนแอนะคะ อันนี้ก็คือเป็นข้อมูลเกี่ยกับ

325
00:27:25,501 --> 00:27:29,501
การลงเวลาทำงาน เวลาออกจากงาน เหมือนเวลาใครไปทำงานก็จะมีใครมาทำงานกี่โมง กลับบ้านกี่โมง

326
00:27:32,262 --> 00:27:36,262
ตารางนี้นะคะ Time stamp ก็คือลง

327
00:27:38,146 --> 00:27:39,849
เวลา ตรางนี้จะไม่มีความหมายเลย ถ้าขาด

328
00:27:39,849 --> 00:27:43,849
ข้อมูลที่เข้าทำงาน แล้วก็เวลากลับบ้าน เพราะฉะนั้น 2 ตัวนี้จะต้องเชื่อมโยงกันอยู่แล้ว

329
00:27:47,861 --> 00:27:48,326
ถ้าขาดอันใดอันหนึ่งไป

330
00:27:48,326 --> 00:27:51,055
ตารางนี้จะไม่มีความหมายเลย

331
00:27:51,055 --> 00:27:55,055
ก็คือมีแต่เวลามาทำงาน แล้วกลับบ้านตอนไหน ไม่รู้

332
00:27:57,719 --> 00:28:01,719
อย่างนี้ไม่ได้นะคะ ก็คือมาทำงาน ก็ต้องมีเวลากลับบ้าน

333
00:28:03,581 --> 00:28:07,581
หรือมีแต่เวลากลับบ้าน ไม่มีเวลาทำงาน มันก็ไม่ได้

334
00:28:12,217 --> 00:28:15,509
อย่างนั้นจะรู้ได้อย่างไรว่าคุณมาทำงานกี่โมงนะคะ อันนี้เป็นตัวอย่าง

335
00:28:15,509 --> 00:28:19,509
ของตารางที่ถ้าขาดข้อมูลใดข้อมูลหนึ่งไป จะทำให้ข้อมูลในตารางนั้น ๆ

336
00:28:20,649 --> 00:28:24,649
นี่ ไม่สมบูรณ์ มีปัญหานั่นเองนะคะ

337
00:28:26,784 --> 00:28:29,652
อย่างเช่น อันนี้เป็นตัวอย่าง

338
00:28:29,652 --> 00:28:33,652
ถ้าเป็นตารางทั่วไป

339
00:28:36,731 --> 00:28:40,731
ตารางนักเรียน กับตารางรายวิชานะคะ

340
00:28:42,112 --> 00:28:44,668
มีนักศึกษา 2 คน มี 2 วิชา อันนี้เป็นตาราง

341
00:28:44,668 --> 00:28:48,196
ทั่วไป แต่ตารางการลงทะเบียน

342
00:28:48,196 --> 00:28:52,196
สมมติว่ามีแต่รหัส

343
00:28:54,145 --> 00:28:58,087
นักศึกษา มีปีการศึกษา แต่ไม่รู้เลย

344
00:28:58,087 --> 00:28:59,420
ว่าเขาลงทะเบียนวิชาอะไร ได้ไหม ไม่ได้

345
00:28:59,420 --> 00:29:03,420
ไม่อย่างนั้นจะรู้ได้อย่างไรว่าเทอมนี้

346
00:29:08,181 --> 00:29:12,181
เรียนวิชาอะไรบ้างนะคะ หรือนะคะ รู้รายวิชา รู้ปีการศึกษา

347
00:29:16,472 --> 00:29:19,476
แต่ไม่รู้เลยว่าใครลงทะเบียนเรียน ได้ไหม ก็ไม่ได้อีกนะคะ เพราะฉะนั้น ในตารางการลงทะเบียน

348
00:29:19,476 --> 00:29:23,476
ถ้าขาดข้อมูลใดข้อมูลหนึ่งไป ตารางนั้น

349
00:29:26,622 --> 00:29:30,622
จะเป็นตารางที่ไม่สมบูรณ์ โดยข้อมูลในแต่ละตารางนี่

350
00:29:33,752 --> 00:29:33,804
ก็ไปดึงข้อมูลมาจากคนอื่นทั้งนั้น อันนี้คือตารางอ่อนแอ

351
00:29:33,804 --> 00:29:37,804
นะคะ ก็คือไม่มีความหมายในตัวเอง ต้อง

352
00:29:37,884 --> 00:29:40,573
มีข้อมูลจากตารางอื่นมาช่วยนั่นเอง

353
00:29:40,573 --> 00:29:44,573
นะคะ ต่อมา Attribute

354
00:29:47,803 --> 00:29:49,573
ก็คือพูดง่าย ๆ ก็คือคอลัมน์ในแต่ละตารางนั่นล่ะค่ะ ว่า

355
00:29:49,573 --> 00:29:53,573
ในตารางนั้นมีคอลัมน์อะไรบ้าง ก็คือหัว

356
00:29:53,749 --> 00:29:53,805
ของคอลัมน์นะคะ

357
00:29:53,805 --> 00:29:57,805
นี่ แบบนี้ เพราะฉะนั้น

358
00:30:01,505 --> 00:30:05,505
Attribute นะคะ สัญลักษณ์ของ Attribu เป้นง

359
00:30:11,075 --> 00:30:15,075
นะคะ อย่างข้อมูลพนักงานต้องมีอะไรบ้าง ก็ต้องมีฐานข้อมูล

360
00:30:15,365 --> 00:30:19,365
พนักงาน ชื่อ นามสกุล มีเพศ มีเงินเดือน

361
00:30:21,175 --> 00:30:23,342
นะคะ สัญลักษณ์จะเป็นแบบนี้นะคะ ข้อมูลพนักงานอันนี้ก็คือ

362
00:30:23,342 --> 00:30:27,342
Entity ใช่ไหมคะ หัวตาราง

363
00:30:28,909 --> 00:30:31,750
อันนี้ก็จะเป็นคอลัมน์ คอลัมน์

364
00:30:31,750 --> 00:30:35,750
ซึ่งใน Attribute นี่ก็แบ่ง

365
00:30:38,084 --> 00:30:42,084
ไปอีกเป็น 6 ประเภทเหมือนกันนะคะ ก็ใช้เป็นวงรี

366
00:30:42,381 --> 00:30:46,381
นี่ล่ะ แต่อาจจะมีสิ่งที่เปลี่ยนไปนิดหนึ่ง

367
00:30:47,020 --> 00:30:51,020
นะคะ โดย Atribute นี่ ประเภทที่ 1 คือ

368
00:30:53,671 --> 00:30:57,671
Attribute ที่ไม่สามารถแบ่งย่อยได้อีกแล้ว

369
00:30:58,422 --> 00:31:02,422
เช่น เพศ คุณก็ตอบได้แค่เพศเดียว คุณเป็นเพศอะไรคุณก็ตอบเพศนั้น

370
00:31:02,846 --> 00:31:06,303
ตอบได้ค่าเดียว เงินเดือนตอบได้ค่าเดียว คุณไม่จำเป็นต้องบอกว่า

371
00:31:06,303 --> 00:31:10,303
เงินเดือนเดือนที่ 1 เงินเดือนเดือนที่ 2 เงินเดือนเดือนที่ 3 ไม่ใช่

372
00:31:13,056 --> 00:31:17,056
เงินเดือนปัจจุบันเราเท่าไรนะคะ บัตรประชาชนตอบได้ค่าเดียว รหัสนักศึกษา

373
00:31:18,937 --> 00:31:22,937
ตอบได้ค่าเดียว อันนี้คือเป็น Attribute

374
00:31:26,658 --> 00:31:30,636
โดยทั่วไปนะคะ ต่างจาก Attribute ประเภทที่ 2 คือ Attribute ที่สามารถแบ่งย่อยได้

375
00:31:30,636 --> 00:31:34,636
เช่น ชื่อ นามสกุล เราแยกกันกรอกได้ไหม

376
00:31:35,123 --> 00:31:39,123
ได้ แบ่งเป็นชื่อ คอลัมน์ 1 นามสกุลคอลัมน์ 1 ก็ได้

377
00:31:41,991 --> 00:31:44,252
นะคะ ต่อมาเป็น Key Attribute นะคะ ก็เป็นค่าเอกลักษณ์

378
00:31:44,252 --> 00:31:48,252
จะต้องไม่ซ้ำกัน ในตารางนั้น ๆ ก็ต้องค่า

379
00:31:55,104 --> 00:31:58,062
นี้เราต้องไม่ซ้ำกัน โดยลักษณะเฉพาะของ

380
00:31:58,062 --> 00:31:59,020
คีย์นะคะ มันจะมีการขีดเส้นใต้ เพื่อแสดงว่ามันเป็น

381
00:31:59,020 --> 00:32:03,020
ค่าที่ซ้ำกันไม่ได้

382
00:32:09,123 --> 00:32:13,123
เหมือนเวลาเราเรียนวิชาใด ๆ ก็ตาม ถ้าอันไหนมีการ

383
00:32:13,166 --> 00:32:14,150
ขีดเส้นใต้ มันเป็นการเน้นใช่ไหมคะ ในวิชาอื่น ๆ ใน

384
00:32:14,150 --> 00:32:18,150
การวาดรูปก็เหมือนกัน วาดรูปในฐานข้อมูลก็เหมือนกัน แสดงว่า

385
00:32:21,109 --> 00:32:23,555
ค่านั้นน่ะ เป็นจุดเน้นที่เราจะต้องให้ความสำคัญ

386
00:32:23,555 --> 00:32:23,923
กับมันนะคะ กับ

387
00:32:23,923 --> 00:32:26,278
ข้อมูลนะคะ

388
00:32:26,278 --> 00:32:30,278
ที่มีเพียงค่าเดียวเท่านั้น เช่น คุณจะระบุว่า

389
00:32:39,037 --> 00:32:43,037
คุณจะเป็นเพศไหน คุณระบุมา อาจจะไม่มีแค่ชขายหรือหญิง ตอนนี้คุณเป็นเพศอะไร

390
00:32:44,765 --> 00:32:47,461
ก็ระบุมานะคะ หรือค่าที่มีได้หลายค่า อย่างเช่น เบอร์บ้าน ถ้า

391
00:32:47,461 --> 00:32:51,461
แต่ละที่ก็จะมีรหัสพื้นที่ไม่เหมือนกัน

392
00:32:54,877 --> 00:32:58,877
กรุงเทพก็เป็น 02 สกลนครก็เป็น 04

393
00:33:03,118 --> 00:33:03,325
ขอนแก่นก็ 043 อุบลฯ ก็ 042 ใช่ไหมคะ มันก็ต้องระบุด้วย

394
00:33:03,325 --> 00:33:07,325
อย่างนี้นะคะ ถ้าค่าไหนมีได้หลายค่า

395
00:33:07,345 --> 00:33:11,345
อย่าลืมเป็นวงรี 2 เส้น กับค่า

396
00:33:15,252 --> 00:33:17,207
ของข้อมูลที่ได้จากการคำนวณ เราจะใช้วงรีที่เป็นเส้นประ

397
00:33:17,207 --> 00:33:19,111
เช่น อายุที่ได้มาจากวันเกิด

398
00:33:19,111 --> 00:33:23,111
นะคะ หรือว่าวันเข้าทำงาน

399
00:33:26,267 --> 00:33:30,267
จนถึงปัจจุบัน คุณทำงานมาแล้วกี่ปี

400
00:33:31,932 --> 00:33:33,448
อย่างนี้ก็ได้นะคะ ค่าที่ได้มาจากการคำนวณนั่นแหละ

401
00:33:33,448 --> 00:33:35,126
อันนี้เป็นตัวอย่าง

402
00:33:35,126 --> 00:33:39,126
Simple Attribute แยกให้ออกนะคะ

403
00:33:45,658 --> 00:33:49,658
อันไหนเป็น Attribute At

404
00:33:51,129 --> 00:33:55,129
tribute คือ วงรี ตัวนี้ ตัวนี้ ตัวนี้ แล้วในสี่เหลี่ยมคืออะไร สี่เหลี่ยมคือ Entity

405
00:33:55,209 --> 00:33:59,209
นะคะ ตัวอย่างของ Attribute

406
00:34:03,135 --> 00:34:03,404
ที่แยกย่อยไปได้ เช่น ชื่อ นามสกุล

407
00:34:03,404 --> 00:34:07,404
อาจารย์ก็แยกออกมาเป็น FirstName LastName ก็ได้

408
00:34:08,915 --> 00:34:11,643
ที่อยู่ บางคนอาจจะกรอกบรรทัดเดียวเลยก็ได้ หรือคุณอาจจะ

409
00:34:11,643 --> 00:34:15,643
ออกแบบให้มัน บ้านเลขที่บรรทัดหนึ่ง ถนนบรรทัดหนึ่ง

410
00:34:21,924 --> 00:34:22,672
ตำบลบรรทัดหนึ่ง อำเภอ จังหวัด แยกออกเลย ก็ได้

411
00:34:22,672 --> 00:34:26,672
ถามว่าใช้สัญลักษณะแตกต่างกันไหม ไม่นะคะ

412
00:34:29,327 --> 00:34:33,327
ไม่ เหมือนกัน แต่ถามว่า

413
00:34:33,356 --> 00:34:37,356
เราลบอันนี้ออกได้ไหม ก็ได้นะคะ มันจะได้

414
00:34:37,373 --> 00:34:41,373
ไม่เปลืองเนื้อที่อย่างนี้ก็ได้ แล้วคุณก็กรอกไปเลย ชื่ออันหนึ่ง นามสกุลอันหนึ่ง

415
00:34:41,804 --> 00:34:45,263
อย่างนี้ก็ได้นะคะ คีย์ Attribute

416
00:34:45,263 --> 00:34:49,263
ค่าที่ห้ามซ้ำกัน

417
00:34:50,213 --> 00:34:53,933
ก็คือตารางนักเรียน อะไรที่ห้ามซ้ำกัน ก็คือ

418
00:34:53,933 --> 00:34:55,929
รหัสนักเรียน อันนี้มันย่อมาจาก student id นะคะ student

419
00:34:55,929 --> 00:34:59,929
id

420
00:35:06,058 --> 00:35:10,058
ทำไมถึงรู้ว่าเป็น Student ID

421
00:35:10,508 --> 00:35:14,508
เพราะคำย่อแบบนี้ หรือชื่อทุกอย่างนี้ จะต้องจดไว้ในพจนานุกรมข้อมูลด้วย

422
00:35:14,711 --> 00:35:15,212
ถามว่าอันนี้มันง่าย มันเข้าใจง่าย

423
00:35:15,212 --> 00:35:19,212
มาจากอะไร แต่ถ้าเป็นคนที่ไม่มีความรู้พื้นฐานเลย เขาจะรู้ไหม คือ

424
00:35:27,160 --> 00:35:28,183
อันนี้เดี๋ยวอีกเรื่องหนึ่ง เป็นอีกเรื่องหนึ่ง ถ้าเอาทุกอย่างมารวมกัน

425
00:35:28,183 --> 00:35:32,183
ใน 1 ตาราง สามารถมี Attribute

426
00:35:36,815 --> 00:35:39,692
หรือมีรูปแบบข้อมูลได้ทุกรูปแบบก็ได้

427
00:35:39,692 --> 00:35:41,472
นะคะ มีทั้งคีย์หลัก มีทั้ง

428
00:35:41,472 --> 00:35:45,472
Attribute ที่สามารถแบ่งย่อยได้ มีทั้ง Attribute ที่

429
00:35:48,680 --> 00:35:50,370
ได้มาจากการคำนวณ คือ อายุ จะได้ค่ามาจาก

430
00:35:50,370 --> 00:35:54,370
วัน เดือน ปีเกิด เบอร์โทรศัพท์

431
00:35:58,878 --> 00:35:59,440
เป็น Multi Value มีได้หลายค่า ก็ใส่วงรีซ้อนกัน อันนี้คือตัวอย่างนะคะ ตัวอย่างของ

432
00:35:59,440 --> 00:36:03,440
Attribute แต่เดี๋ยวเราอาจจะยังไม่เข้าใจ

433
00:36:10,297 --> 00:36:11,176
แต่วาดรูปก็น่าจะเข้าใจได้มากขึ้น ต่อมา ความสัมพันธ์นะคะ

434
00:36:11,176 --> 00:36:15,176
มันเป็นความสัมพันธ์ของตารางตั้งแต่ 2 ตารางขึ้นไปนะคะ

435
00:36:19,858 --> 00:36:20,253
โดยความสัมพันธ์นี่ อาจจะมีข้อมูล

436
00:36:20,253 --> 00:36:24,253
ที่ใช้ร่วมกัน สัญลักษณ์คือ สี่เ

437
00:36:31,173 --> 00:36:31,449
หลี่ยมข้าวหลามตัดนะคะ เช่น ตารางพนักงาน อันนี้พนักงานนะคะ

438
00:36:31,449 --> 00:36:35,449
พนักงาน Work in แปลว่า

439
00:36:37,246 --> 00:36:41,246
ทำงานอยู่ในแผนกอะไร ก็คือ Dipartmaent

440
00:36:46,789 --> 00:36:50,789
โดยความสัมพันธ์ตัวนี้นี่ จะต้องสามารถอ่านไปข้างหน้า อ่านย้อนหลังก็ได้

441
00:36:52,594 --> 00:36:56,594
อย่างเช่น ตัวอย่างก็คือพนักงานทำงานอยู่ในแผนกอะไร หรือในแผนกนั้น ๆ มี

442
00:36:59,580 --> 00:37:01,579
ใครทำงานอยู่บ้าง มันจะต้องเข้าใจได้แบบนี้นะคะ

443
00:37:01,579 --> 00:37:01,776
หรือการสั่งสินค้า

444
00:37:01,776 --> 00:37:05,776
อยู่ในใบสั่งสินค้าตัวไหน

445
00:37:08,862 --> 00:37:12,862
นะคะ สินค้าชนิด นั้น ๆ อยู่ใ

446
00:37:18,668 --> 00:37:22,668
นใบสั่งซื้ออะไร ก็ต้องดูได้ สินค้า อย่างเช่น power bank อาจจะอยู่ได้ภายในหลายใบสั่งซื้อ

447
00:37:25,995 --> 00:37:29,995
ก็ได้เพราะสินค้าเรามีหลายตัวนะคะ ไม่ใช่ว่าขายให้แค่คนเดียว ขายในได้หลายคนนะคะ

448
00:37:33,383 --> 00:37:36,370
ความสัมพันธ์แบบ 1 ต่อ 1 จะต้องเป็นความสัมพันธ์

449
00:37:36,370 --> 00:37:40,370
ที่มีสมาชิกคนเดียว มีความสัมพันธ์ไปอีก

450
00:37:40,886 --> 00:37:44,886
สมาชิกหนึ่งของอีกตารางหนึ่งเท่านั้นนะคะ

451
00:37:49,141 --> 00:37:52,209
เช่น เจ้าของรถ เป็นเจ้าของรถยนต์ได้ 1 คันนะคะ อันนี้สมมติ ๆ นะคะ

452
00:37:52,209 --> 00:37:56,209
คน 1 คน เป็นเจ้าของรถยนต์ได้

453
00:37:58,465 --> 00:38:02,465
1 คัน ใช่ไหม ใครเคยเห็นในทะเบียนรถยนต์ ใบทะเบียนรถยนต์

454
00:38:11,173 --> 00:38:15,173
นะ ตัวอย่าง แต่ถ้าเปลี่ยนเป็นความสัมพันธ์แบบ 1 และมากกว่า 1 ล่ะ

455
00:38:17,209 --> 00:38:18,731
นะคะ เช่น คน 1 คน มีรถยนต์

456
00:38:18,731 --> 00:38:22,731
ได้หลายคัน ใช่ไหม อยู่บ้าน

457
00:38:24,879 --> 00:38:26,666
บางคนอาจจะมีรถยนต์มากกว่า 1 คน อาจจะมีรถ

458
00:38:26,666 --> 00:38:28,470
เก๋ง มีรถกระบะ มีรถ 6 ล้อ

459
00:38:28,470 --> 00:38:32,470
พ่อเป็นเจ้าของรถหมดเลย ก็ได้

460
00:38:35,725 --> 00:38:39,725
แต่ในบรรดารถทุกคนจะต้องมีเจ้าของคนเดียว

461
00:38:40,106 --> 00:38:43,470
อันนี้คือสิ่งที่เราต้องคิดด้วย

462
00:38:43,470 --> 00:38:47,470
นะคะ คน ๆ หนึ่ง มีรถได้หลายคนก็จริง แต่รถคนนั้น

463
00:38:54,565 --> 00:38:54,860
มีเจ้าของได้คนเดียว กับความสัมพันธ์ที่

464
00:38:54,860 --> 00:38:58,736
มากกว่า 1

465
00:38:58,736 --> 00:39:02,736
เช่น ลูกค้าหลายคน

466
00:39:03,058 --> 00:39:07,058
ลูกค้า 1 คน สมมติเราไปซื้อของ

467
00:39:10,308 --> 00:39:11,868
เราจะต้องซื้อกับแคชเชียร์คนนี้ใช่ไหม เวลาจ่ายเงิน

468
00:39:11,868 --> 00:39:15,868
แต่แคชเชียร์คนนี้ก็สามารถ

469
00:39:17,898 --> 00:39:21,898
รับเงินจากลูกค้าได้หลายคนเหมือนกัน ลูกค้าคนนี้ไปจ่ายกับแคชเชีย

470
00:39:27,236 --> 00:39:28,499
นะคะ ไม่จำเป็นต้องจ่ายเฉพาะคนนี้เท่านั้น เหมือนเวลาเราไปเดินห้างซื้อะคะ ไม่จำเป็นต้องจ่ายเฉพาะคนนี้เท่านั้น เหมือนเวลาเราไปเดินห้างซื้อ

471
00:39:28,499 --> 00:39:32,499
ของใน Super วันวันหนึ่งเขามีลูกค้า

472
00:39:33,845 --> 00:39:37,845
หลายคนไหม มีหลายคน คนคิดเงินก็มีหลายคนไหม

473
00:39:42,755 --> 00:39:44,045
เหมือนกัน เพราะฉะนั้น วันนี้เราอาจจะเจอพนักงานคนหนึ่ง พรุ่งนี้

474
00:39:44,045 --> 00:39:48,045
อาจจะเจอคนใหม่ก็ได้ เขาก็ไม่ได้เจอเราคนเดียว เขาอาจจะเจอคนใหม่ก็ได้

475
00:39:50,871 --> 00:39:53,268
อันนี้เป็นความสัมพันธ์ที่มากกว่า 1

476
00:39:53,268 --> 00:39:57,268
ภาษาอังกฤษเรียกว่า Many-to-Many นะคะ

477
00:39:58,963 --> 00:40:02,963
อันนี้เป็นตัวอย่างความสัมพันธ์แบบ 1 ต่อ 1 จะเห็นได้ว่า เส้น

478
00:40:05,716 --> 00:40:07,982
ที่เชื่อมความสัมพันธ์จะเป็นเส้นตรง มีตัวเลข

479
00:40:07,982 --> 00:40:11,683
กำกับเห็นไหมคะ จะมีตัวเลขกำกับด้วย

480
00:40:11,683 --> 00:40:13,756
เพราะฉะนั้น เวลาเราลากเส้นเชื่อมความสัมพันธ์ใด ๆ ก็ตาม

481
00:40:13,756 --> 00:40:17,756
จะต้องมีตัวเลข หรือตัวอักษรกำกับทุกครั้ง

482
00:40:18,428 --> 00:40:21,206

483
00:40:21,206 --> 00:40:25,206
นะคะ อันนี้เป็นความสำคัญแบบ 1 ต่อ 1 ตัวแทน

484
00:40:30,294 --> 00:40:34,294
ขายสินค้า ดูแลลูกค้าได้ 1 คน จริงไหม อาจจะไม่จริงเสมอไป ตัวแทน 1 คนอาจจะดูแลลูกค้าได้หลายคนก็ได้

485
00:40:37,892 --> 00:40:41,892
ถ้าเป้นลูกค้าหลายคน เราจะแทนด้วยตัว M

486
00:40:47,262 --> 00:40:51,262
ก็ได้นะคะ M หรือ N ก็ได้ แต่ต้องใส่ ถามว่าถูกต้องหรือยัง ตัวแทน 1 คน ดูแลลูกค้าได้

487
00:40:51,627 --> 00:40:55,627
หลายคน ถูก ลูกค้าหลาย ๆ คน ก็ได้รับการดูแลจาก

488
00:41:02,972 --> 00:41:06,972
หลาย ๆ คนก็ได้รับการดูแลจากตัวแทน 1 คน ก็ถูกนะคะ แบบนี้เป็นต้นมีการใส่คีย์หลัก มีการ

489
00:41:09,388 --> 00:41:13,388
ขีดเส้น อันนี้เป็นความสำคัญ ก็คือเขาดุแลกัน

490
00:41:18,324 --> 00:41:22,324
ต้องใส่ ต้องระบุนะคะ แต่ถ้าเป็นความสัมพันธ์ที่มากกว่า 1 ทั้ง 2 ด้าน

491
00:41:23,253 --> 00:41:27,136
เราจะต้องใส่เป็น M กับ N เท่านั้น

492
00:41:27,136 --> 00:41:31,136
เราจะใส่เป็น M M อย่างนี้ ไม่ได้นะคะ

493
00:41:31,683 --> 00:41:33,051
ไม่ได้ เป็น N กับ N แบบนี้ได้ไหม

494
00:41:33,051 --> 00:41:35,531
ก็ไม่ได้ ต้องเป็น M กับ N

495
00:41:35,531 --> 00:41:39,531
เพื่อให้สื่อความหมายได้ถูกว่ามันเป็นความสัมพันธ์

496
00:41:46,604 --> 00:41:49,300
ที่เชื่อมกันระหว่างเส้น 2 เส้นนี้นะคะ อันนี้เป็นตัวอย่าง

497
00:41:49,300 --> 00:41:51,308
เดี๋ยวพอวาดง่าย ๆ ก่อน น่าจะเข้าใจง่ายขึ้น กับ

498
00:41:51,308 --> 00:41:54,824
อันนี้ออกสอบง่ายมาก อาจารย์

499
00:41:54,824 --> 00:41:58,824
อาจจะมีรูปภาพให้ แล้ว

500
00:42:04,972 --> 00:42:07,148
ให้พวกคุณเปลี่ยนเป็นตาราง ง่ายมากเลยนะคะ ก็คือข้อมูลที่อยู่ในกรอบ

501
00:42:07,148 --> 00:42:11,148
สี่เหลี่ยม มันคือชื่อตารางใช่ไหมคะ คุณก็เอา

502
00:42:14,780 --> 00:42:18,780
กรอบสี่เหลี่ยมออก แล้วก็เขียนชื่อตาราง

503
00:42:21,701 --> 00:42:25,701
อยู่ในวงรี คือ Attribute ก็เป็นคอลัมน์ของตาราง เสร็จแล้ว หรือถ้าอาจารย์ให้วาดรูป

504
00:42:29,710 --> 00:42:33,710
ทำอย่างไร จากตารางข้างล่าง ชื่อตรางใช่ไหมคะ

505
00:42:37,165 --> 00:42:37,887
ชื่อตารางก็เอามาใส่กรอบสี่เหลี่ยม คอลัมน์

506
00:42:37,887 --> 00:42:41,887
แต่ละคอลัมน์ก็เอามาใส่ในวงรี โยงเส้น

507
00:42:46,710 --> 00:42:50,710
เสร็จ แค่นั้นเอง อันนี้ออกสอบด้วยนะ

508
00:42:50,732 --> 00:42:51,143
นะคะ อาจจะไม่ง่าย

509
00:42:51,143 --> 00:42:55,143
อย่างนี้ แต่หลักการมีประมาณนี่ล่ะนะคะ

510
00:42:55,405 --> 00:42:59,405

511
00:42:59,781 --> 00:43:03,781
กับถ้าสมมติว่า มันมีข้อมูลที่

512
00:43:06,160 --> 00:43:10,160
มันสามารถแบ่งแยกออกได้นะคะ จะเห็นได้ว่า

513
00:43:11,256 --> 00:43:15,256
ตอนก่อนหน้านี้ ที่อาจารย์ตัดตรงนี้ออก

514
00:43:15,318 --> 00:43:16,758
ใช่ไหม เวลาเราเอามาเขียนในรูปแบบ

515
00:43:16,758 --> 00:43:20,758
ของตาราง อันนี้เราจะไม่ใส่ เราจะดูเฉพาะ

516
00:43:24,859 --> 00:43:28,859
Attribute ที่อยู่ขอบนอกสุดเท่านั้นนะคะ เราจะเอาเฉพาะข้างนอกสุดมาเขียน

517
00:43:31,006 --> 00:43:35,006
ลงเป็นตาราง อันนี้เป็น ดูดี ๆ นะ ข้อกำหนดแต่ละอัน

518
00:43:42,947 --> 00:43:46,947
นะคะ กับถ้าตารางไหนมีข้อมูลที่สามารถมีได้หลายค่า เห็นไหม วงรี

519
00:43:51,842 --> 00:43:55,073
ซ้อนกัน 2 วง เราจะเอาข้อมูลนั้น

520
00:43:55,073 --> 00:43:59,073
แยกมาเป็นอีก 1 ตาราง แต่คีย์หลักจะเอามาจากตารางเดิม

521
00:44:00,157 --> 00:44:04,157
นะคะ

522
00:44:04,812 --> 00:44:08,812
เพื่อให้ 2 ตารางนี้ มัน

523
00:44:15,059 --> 00:44:17,791
เชื่อมกัน โดยค่าคีย์หลัก อันนี้เป็นข้อสังเกตก่อนนะ อันนี้ยังเป็นกฎที่ต้องใช้อยู่

524
00:44:17,791 --> 00:44:18,874
นะคะ

525
00:44:18,874 --> 00:44:22,874
กับอันไหนที่เป็นค่า ที่เป็น Weak Entity

526
00:44:30,853 --> 00:44:34,853
หรือความสัมพันธ์แบบอ่อนแอ ตารางแบบอ่อนแอ

527
00:44:34,934 --> 00:44:35,527
เราต้องดูด้วยว่ามันมีความสัมพันธ์กับตารางไหน

528
00:44:35,527 --> 00:44:38,827
นะคะ เราจะเอาคีย์หลัก

529
00:44:38,827 --> 00:44:42,827
ของตารางที่มนมีความสำคัญด้วย มาใส่ด้วย

530
00:44:46,482 --> 00:44:48,735
อย่างเช่น เดี๋ยวลบอันนี้ออกก่อน ทำไมถึงบอกว่าตารางด้านขวามือเป็นตารางอ่อนแอ

531
00:44:48,735 --> 00:44:52,735

532
00:44:53,561 --> 00:44:57,561
เพราะในตารางนี้

533
00:44:57,953 --> 00:44:58,791
มีเวลาทำงาน มีเวลากลับบ้าน มี

534
00:44:58,791 --> 00:45:01,742
วันที่ แต่ถามว่าเป็นของใคร

535
00:45:01,742 --> 00:45:05,742
ใครน่ะมาทำงาน 7 โมง กลับ 4 โมงเย็น

536
00:45:12,477 --> 00:45:16,477
ใครมาทำงาน 8 โมง กลับ 2 ทุ่ม

537
00:45:19,342 --> 00:45:22,070
ไม่รู้ เพราะฉะนั้น ต้องไปดูด้วยว่า

538
00:45:22,070 --> 00:45:26,070
พนักงานรหัสคนไหนที่เขามา

539
00:45:26,672 --> 00:45:30,672
แสกนนิ้วทำงาน หรือตอกบัตรทำงาน

540
00:45:32,752 --> 00:45:32,760
แต่ถามว่าในตารางนี้ทำไมเราไม่ให้กรอก

541
00:45:32,760 --> 00:45:36,760
รหัสพนักงานด้วยเลยล่ะ มันก็เป็นการซ้ำซ้อนกัน

542
00:45:39,936 --> 00:45:43,936
ไงคะ ในเมื่อเรามีรหัสพนักงานอยู่แล้ว เราก็เรียกใช้ได้เลย

543
00:45:44,725 --> 00:45:48,725
เราไม่จำเป็นต้องมาเพิ่มตรงนี้ก็ได้ อันนี้เป็นการออกแบบที่ดี

544
00:45:50,132 --> 00:45:52,503
ถ้าอันไหนซ้ำซ้อนกันเราจะไม่ใช้ เราจะดึงข้อมูลมันมาใช้เลย

545
00:45:52,503 --> 00:45:53,830
อันนี้คือข้อดีของการออกแบบฐานข้อมูล

546
00:45:53,830 --> 00:45:57,830
นะคะ อันนี้คือตัวอย่างอย่างหนึ่ง

547
00:45:58,730 --> 00:46:02,730
กับการเปลี่ยนให้เป็นตาราง

548
00:46:05,609 --> 00:46:07,226
ถ้าเมื่อกี้นี้ ในรูปนี้อาจารย์ไม่ได้ใส่ความสัมพันธ์ใช่ไหมคะ

549
00:46:07,226 --> 00:46:10,144
ยังไม่มีเส้นเชื่อมโยงไปตารางอื่นใช่ไหม

550
00:46:10,144 --> 00:46:14,144
แต่ถ้ามันมีเส้นเชื่อมโยงไปตารางอื่นล่ะ

551
00:46:20,377 --> 00:46:22,550
นะคะ อันนี้เป็นความสัมพันธ์แบบ 1 ต่อ 1 เราจะต้องเอา

552
00:46:22,550 --> 00:46:26,550
คีย์หลัก ไอ้ที่ขีดเส้นใต้นี่

553
00:46:28,029 --> 00:46:32,029
ของตารางด้านข้าง ที่เรามีความสัมพันธ์ด้วย มาใส่

554
00:46:38,681 --> 00:46:41,321
ในตารางเรา แต่ความสัมพันธ์แบบ 1 ต่อ 1 จะมีข้อ

555
00:46:41,321 --> 00:46:45,321
ได้เปรียบอย่างหนึ่ง คือ ในตารางแรก อาจจะเอารหัสลูกค้ามาเป็นคีย์เพื่อเชื่อมต่อกัน

556
00:46:46,020 --> 00:46:50,020
ก็ได้ หรืออาจจะเอารหัสตัวแทน

557
00:46:54,826 --> 00:46:58,826
นะคะ มาเป็นตัวเชื่อมต่อกันก็ได้ อันนี้เป็นความพิเศษเฉพาะ ตารางแบบ 1 ต่อ 1

558
00:47:01,031 --> 00:47:05,031
แต่จะต้องเอาคีย์หลักที่เรามีความสัมพันธ์

559
00:47:05,532 --> 00:47:08,753
ด้วย อาจจะเป็น เลือกมาตารางไหนก็ได้ แต่ต้องมี

560
00:47:08,753 --> 00:47:12,753
นะคะ ต้องมี มันสามารถยืดหยุ่นได้นั่นเอง เฉพาะความสัมพันธ์แบบ 1 ต่อ 1 นะคะ

561
00:47:14,023 --> 00:47:18,023
แต่ถ้าเป็น

562
00:47:18,772 --> 00:47:22,772
ความสัมพันธ์แบบ 1 ต่อ กลุ่ม

563
00:47:24,224 --> 00:47:27,898
จะต้องเอาคีย์หลักของฝั่งที่มีความสัมพันธ์เป็น 1

564
00:47:27,898 --> 00:47:30,376
มาใส่ในตารางที่มีความสัมพันธ์แบบกลุ่ม

565
00:47:30,376 --> 00:47:31,591
เท่านั้น

566
00:47:31,591 --> 00:47:35,591
อันนี้เป็นลักษณะเฉพาะ

567
00:47:41,657 --> 00:47:45,657
นะคะ ลักษณะเฉพาะของความสัมพันธ์แบบ 1 ต่อกลุ่ม แต่ถ้าเป็นความสัมพันธ์แบบกลุ่มต่อกลุ่มล่ะ

568
00:47:51,834 --> 00:47:52,442
เห็นไหมคะ เป็น M กับ N

569
00:47:52,442 --> 00:47:56,442
เราจะไม่เอาตาราง... เอ้ย ไม่เอาค่าคีย์หลักมาใส่ในตาราง

570
00:47:58,130 --> 00:47:58,224
แต่เราจะสร้างตารางใหม่ขึ้นมา

571
00:47:58,224 --> 00:48:02,224
โดยใช้คีย์หลักของทั้ง 2 ตาราง

572
00:48:05,281 --> 00:48:09,281
ที่มีควาสัมพันธ์กัน มาสร้างเป็นตารางใหม่เลย

573
00:48:15,403 --> 00:48:19,403
จำลักษณะ 3 อย่างนี้ให้ดีนะคะ 1 ต่อ 1 1 ต่อ กลุ่ม กลุ่ม ต่อ กลุ่ม

574
00:48:23,289 --> 00:48:27,081
การเอามาสร้างเป็นตาราง

575
00:48:27,081 --> 00:48:31,081
ลักษณะเฉพาะมมี 3 แบบ แบบแรก คือ เอาลักษณ

576
00:48:31,409 --> 00:48:35,409
ะฝั่งไหนก็ได้ แบบที่ 2 ก็คือเอาเฉพาะคีย์หลักของความสัมพันธ์ที่เป็น 1 เท่านั้น

577
00:48:35,823 --> 00:48:38,375
เอาคีย์หลักของทั้ง 2 ความสัมพันธ์มาสร้าง

578
00:48:38,375 --> 00:48:42,263
ตารางใหม่เลยนะคะ อันนี้คือ

579
00:48:42,263 --> 00:48:44,625
ลักษณะเฉพาะของการเปลี่ยนรูปภาพให้เป็นตาราง

580
00:48:44,625 --> 00:48:47,479
นะคะ เดี๋ยวจะมีให้ทำด้วย บางคน

581
00:48:47,479 --> 00:48:50,748
จะจำไม่ได้

582
00:48:50,748 --> 00:48:54,748
การออกแบบนะคะ ก็อันนี้พูดไปแล้ว

583
00:48:57,014 --> 00:48:58,419
เราจะมาลองวาดรูปกัน

584
00:48:58,419 --> 00:49:02,419
ให้ น่าจะเคยไปร้านหนังสือกัน

585
00:49:04,487 --> 00:49:08,487
หรืออาจจะเคยเห็นหนังสืออยู่แล้วนะ

586
00:49:09,162 --> 00:49:11,974
นะคะ ในหนังสือ 1 เล่ม

587
00:49:11,974 --> 00:49:15,713
จะมีอะไรบ้าง แน่นอน ข้อมูล

588
00:49:15,713 --> 00:49:17,712
หนังสือแต่ละเล่มก็จะมี

589
00:49:17,712 --> 00:49:21,522
รหัสหนังสือนะ

590
00:49:21,522 --> 00:49:25,522
มีชื่อหนังสือ มีรหัสผู้แต่ง

591
00:49:31,729 --> 00:49:34,800
รหัสสำนักพิมพ์ อันนี้คือข้อมูลที่อาจารย์ให้ก่อนนะ เดี๋ยวเรามาวาด

592
00:49:34,800 --> 00:49:38,800
รูปกัน ในข้อมูลในผู้แต่ง

593
00:49:40,920 --> 00:49:43,418
หนังสือมีอะไรบ้าง ก็จะมีรหัสของผู้แต่งคนนั้น

594
00:49:43,418 --> 00:49:45,829
นะคะ มีชื่อผู้แต่งหนังสือ

595
00:49:45,829 --> 00:49:47,954
ในข้อมูลสำนักพิมพ์ ก็จะมีรหัสสำนักพิมพ์

596
00:49:47,954 --> 00:49:51,954
มีชื่อสำนักพิมพ์ มีที่อยู่ มีเบอร์โทรศัพท์

597
00:49:53,578 --> 00:49:55,561
นะคะ

598
00:49:55,561 --> 00:49:59,561
ขั้นตอนแรก ศึกษาก่อน

599
00:50:00,783 --> 00:50:02,641
ในระบบร้านหนังสือ ก็คือ

600
00:50:02,641 --> 00:50:06,641
ข้อมูลที่อาจารย์ให้เมื่อกี้ มันจะมีข้อมูลหนังสือ

601
00:50:11,019 --> 00:50:11,755
นะคะ มีข้อมูลคนแต่ง มีข้อมูล

602
00:50:11,755 --> 00:50:15,755
สำนักพิมพ์ มีกระดาษใช่ไหม

603
00:50:18,423 --> 00:50:19,833
พลอย โอเค ขั้นตอน

604
00:50:19,833 --> 00:50:23,119
ต่อมา กำหนด

605
00:50:23,119 --> 00:50:27,119
Entity เดี๋ยวจะให้ทำเอง ก็คือ

606
00:50:28,077 --> 00:50:32,077
ในข้อมูลที่อาจารย์ให้อันนี้ มันจะต้อง

607
00:50:38,575 --> 00:50:41,058
มีกี่ Entity หรือกี่ตาราง ทำสิ ใช้สัญลักษณ์ให้ถูกด้วยนะคะ เดี๋ยวอาจารย์จะเดินดู ทำเลย

608
00:50:41,058 --> 00:50:45,058

609
00:50:51,452 --> 00:50:52,345

610
00:50:52,345 --> 00:50:56,345
นี่ จากข้อมูลนี้

611
00:50:56,472 --> 00:51:00,472
ข้อมูลตัวหนังสือสีดำ ๆ นี่ ดำ ๆ เข้ม ๆ

612
00:51:02,388 --> 00:51:03,301
นี่ เราควรมีกี่ตาราง

613
00:51:03,301 --> 00:51:06,538
วาดรูป นี่ วาดรูป

614
00:51:06,538 --> 00:51:10,538
แบบนี้ จะให้วาดแบบนี้ ง่าย ๆ

615
00:51:12,050 --> 00:51:16,050
วาดแบบนี้ ให้วาดรูป ให้เอาข้อมูลน่ะ มาวาด

616
00:51:18,214 --> 00:51:22,214
แบบนี้ แต่อย่างแรกเลย ดูก่อนว่า

617
00:51:22,263 --> 00:51:24,324
ข้อมูลที่อาจารย์ให้นี่ มันควร

618
00:51:24,324 --> 00:51:28,324
จะมีกี่ตาราง ดูสิว่ามันต้องมีกี่ตาราง

619
00:51:29,841 --> 00:51:33,773
สัญลักษณ์ของตาราง หรือ Entity

620
00:51:33,773 --> 00:51:37,773
ก็คือสี่เหลี่ยมผืนผ้า ลองวาดสิ มันควรจะมีสี่เหลี่ยม

621
00:51:43,469 --> 00:51:43,825
ผืนผ้ากี่อัน แล้วในสี่เหลี่ยมผืนผ้า จะต้องเขียนว่าอะไร ลอง

622
00:51:43,825 --> 00:51:44,688
ทำดู

623
00:51:44,688 --> 00:51:48,688

624
00:51:50,645 --> 00:51:54,645

625
00:51:56,642 --> 00:52:00,642

626
00:52:07,476 --> 00:52:11,476

627
00:52:11,477 --> 00:52:15,477

628
00:52:15,478 --> 00:52:19,478

629
00:52:19,480 --> 00:52:23,480

630
00:52:23,482 --> 00:52:27,482

631
00:52:27,484 --> 00:52:31,484

632
00:52:31,486 --> 00:52:35,486

633
00:52:35,488 --> 00:52:39,488

634
00:52:39,491 --> 00:52:43,491

635
00:52:43,492 --> 00:52:47,492

636
00:52:47,495 --> 00:52:51,495

637
00:52:51,496 --> 00:52:55,496

638
00:52:55,497 --> 00:52:59,497

639
00:52:59,499 --> 00:53:03,499

640
00:53:03,502 --> 00:53:07,502

641
00:53:07,503 --> 00:53:11,503

642
00:53:11,509 --> 00:53:15,508

643
00:53:15,508 --> 00:53:19,508

644
00:53:19,508 --> 00:53:23,508

645
00:53:27,514 --> 00:53:31,514

646
00:53:31,516 --> 00:53:35,516

647
00:53:35,517 --> 00:53:39,517

648
00:53:39,519 --> 00:53:43,519

649
00:53:43,524 --> 00:53:47,522

650
00:53:47,522 --> 00:53:51,522

651
00:53:51,528 --> 00:53:55,528

652
00:53:59,529 --> 00:54:03,529

653
00:54:03,541 --> 00:54:07,536

654
00:54:07,536 --> 00:54:11,535

655
00:54:11,535 --> 00:54:15,535

656
00:54:15,537 --> 00:54:19,537

657
00:54:19,537 --> 00:54:23,537

658
00:54:23,538 --> 00:54:24,042

659
00:54:24,042 --> 00:54:26,300
อันนี้ยังไม่ยาก

660
00:54:26,300 --> 00:54:28,823

661
00:54:28,823 --> 00:54:32,823
สรุปแล้วมีกี่ตาราง

662
00:54:34,660 --> 00:54:38,660
อันนี้ง่ายมาก ดูจากที่อาจารย์เน้น ตัวหนังสือสีดำ

663
00:54:46,229 --> 00:54:48,514
เข้มไว้ เราจะได้ 3 ตาราง ในกรอบสี่เหลี่ยม

664
00:54:48,514 --> 00:54:52,514
มีตารางผู้แต่ง มีตารางหนังสือ มี

665
00:54:52,671 --> 00:54:56,671
ตารางสำนักพิมพ์ ก็คือ 3 Entity นั่นเอง

666
00:54:59,987 --> 00:55:03,987
นะคะ จากโจทย์ที่อาจารย์กำหนดให้นะ ที่อาจารย์เน้นให้ อันนี้

667
00:55:07,036 --> 00:55:11,036
จะให้ทำเอง หลังจากเราได้ตารางหรือ Entity แล้วนะคะ

668
00:55:12,604 --> 00:55:14,596
มันจะต้องกำหนดความสัมพันธ์

669
00:55:14,596 --> 00:55:18,596
นี่ ๆ ความสัมพันธ์ ก็คือเส้นที่โยง 3 อันนี้

670
00:55:25,012 --> 00:55:29,012
เราจะโยงเส้นมันอย่างไร โดยความสัมพันธ์ของแต่ละอัน มันควรจะเป็น

671
00:55:34,749 --> 00:55:38,749
อย่างไร สิ่งที่มันควรจะเป็น ก็คือหนังสือแต่ละเล่ม จะถูกพิมพ์จากสำนักพิมพ์

672
00:55:42,582 --> 00:55:46,582
ใดสำนักพิมพ์หนึ่งเท่านั้นใช่ไหม แต่ว่าใน 1 สำนัก

673
00:55:49,778 --> 00:55:53,778
พิมพ์ เขาก้สามารถพิมพืหนังสือได้หลายเล่มนะ

674
00:55:58,213 --> 00:55:59,858
อันนี้คือเงื่อนไข เงื่อนไข หนังสือแต่ละเล่ม

675
00:55:59,858 --> 00:56:03,858
แต่ละเล่มกำหนดว่าจะต้องมีคนแต่ง

676
00:56:05,023 --> 00:56:05,491
คนเดียวเท่านั้น

677
00:56:05,491 --> 00:56:09,491
แต่ในโลกของความเป็นจริงนี่ หนังสือนี่มันอาจจะมี

678
00:56:14,943 --> 00:56:18,261
คนแต่งช่วยกันก็ได้นะ แต่ว่าในโจทย์ของที่

679
00:56:18,261 --> 00:56:22,261
อาจารย์ให้ หนังสือ 1 เล่ม มีคนแต่งแค่คนเดียวเท่านั้น

680
00:56:26,218 --> 00:56:30,147
อันนี้คือโจทย์ที่อาจารย์กำหนดนะคะ แต่ว่า

681
00:56:30,147 --> 00:56:32,637
ผู้แต่งหนังสือแต่ละคน เขาก็สามารถแต่งหนังสือได้หลายเล่มเหมือนกัน

682
00:56:32,637 --> 00:56:35,887

683
00:56:35,887 --> 00:56:39,887
อันนี้คือข้อกำหนดที่อาจารยื์กำหนดให้นะคะ

684
00:56:46,132 --> 00:56:49,469
แล้วเราจะให้ความสัมพันธ์แต่ละอันอย่างไร

685
00:56:49,469 --> 00:56:52,444
ก็คือการวาด นี่ ๆ วาดแบบนี้

686
00:56:52,444 --> 00:56:56,444
นี่ มันจะเป็นการวาดแบบนี้นะคะ

687
00:56:59,881 --> 00:57:01,882
ความสัมพันธ์จะเป็นแบบนี้

688
00:57:01,882 --> 00:57:05,882
อันนี้คือความสัมพันธ์ที่นักศึกษาต้องวาด

689
00:57:11,253 --> 00:57:15,253
จากโจทย์ตัวนี้นะคะ จากโจทย์ตัวนี้

690
00:57:17,055 --> 00:57:21,055
ไอ้ 3 อันนี้มันจะต้องสัมพันธ์กันอย่างไร

691
00:57:23,749 --> 00:57:27,465
ลองวาดดูสิ

692
00:57:27,465 --> 00:57:31,465
ลองวาดดู  รูปมัน

693
00:57:31,957 --> 00:57:35,957
จะต้องออกมาเป็นอย่างนี้นะคะ แต่ข้อมูลข้างใน

694
00:57:42,685 --> 00:57:46,685
เราจะใส่ว่าอย่างไร ลองใส่ดู เดี๋ยวให้เวลา 5 นาที

695
00:57:48,297 --> 00:57:52,297
ลองดูสิว่า จะเข้าใจโจทย์อาจารย์ไหม

696
00:57:55,230 --> 00:57:59,230
จะวาดได้หรือเปล่า 5 นาทีเดี๋ยวดูกัน

697
00:58:11,868 --> 00:58:10,003

698
00:57:56,790 --> 00:57:57,465

699
00:57:57,465 --> 00:58:01,465

700
00:58:01,957 --> 00:58:05,957

701
00:58:15,623 --> 00:58:19,623

702
00:58:19,625 --> 00:58:23,625

703
00:58:23,630 --> 00:58:27,630

704
00:58:31,633 --> 00:58:35,633

705
00:58:35,635 --> 00:58:39,635

706
00:58:39,636 --> 00:58:43,006

707
00:58:43,006 --> 00:58:47,006

708
00:58:47,643 --> 00:58:51,643

709
00:58:51,644 --> 00:58:55,644

710
00:58:55,644 --> 00:58:59,644

711
00:58:59,646 --> 00:59:03,646

712
00:59:07,651 --> 00:59:11,651

713
00:59:11,653 --> 00:59:15,653

714
00:59:15,655 --> 00:59:19,655

715
00:59:19,655 --> 00:59:23,655

716
00:59:23,656 --> 00:59:27,656

717
00:59:27,661 --> 00:59:31,661

718
00:59:35,664 --> 00:59:39,662

719
00:59:39,662 --> 00:59:43,662

720
00:59:43,665 --> 00:59:47,665

721
00:59:51,674 --> 00:59:55,674

722
00:59:55,675 --> 00:59:59,675

723
00:59:59,675 --> 01:00:03,675

724
01:00:03,680 --> 01:00:07,680

725
01:00:07,680 --> 01:00:11,680

726
01:00:11,683 --> 01:00:15,683

727
01:00:15,684 --> 01:00:19,684

728
01:00:19,685 --> 01:00:23,685

729
01:00:23,690 --> 01:00:27,690

730
01:00:27,692 --> 01:00:31,692

731
01:00:31,694 --> 01:00:35,693

732
01:00:35,693 --> 01:00:39,693

733
01:00:39,697 --> 01:00:43,697

734
01:00:43,700 --> 01:00:47,699

735
01:00:47,699 --> 01:00:48,404

736
01:00:48,404 --> 01:00:52,404
เดี๋ยวเอาตัวอย่างให้อันหนึ่ง แล้วที่เหลือจะได้ลองทำดู

737
01:00:57,415 --> 01:00:58,963
นะคะ เดี๋ยวลบอันนี้ก่อน

738
01:00:58,963 --> 01:01:02,963
ให้ตัวอย่าง 1

739
01:01:04,758 --> 01:01:07,635
อันก่อน ให้วาดแบบนี้ค่ะ เช่น

740
01:01:07,635 --> 01:01:11,635
ผู้แต่ง 1 คน ในโจทย์ที่อาจารย์บอก

741
01:01:16,959 --> 01:01:18,713
แต่งหนังสือ 1 เล่มใช่ไหมคะ แต่หนังสือ...

742
01:01:18,713 --> 01:01:22,713
ก็มีผู้แต่งได้แค่คนเดียว แต่เขาแต่งได้หลายเล่มใช่ไหม เพราะฉะนั้น

743
01:01:26,840 --> 01:01:30,840
ความสัมพันธ์ ก็คือผู้แต่ง 1 คน สามารถแต่งหนังสือได้หลายเล่ม แตถ้าเราอ่านย้อนกล

744
01:01:34,931 --> 01:01:36,373
ับ หนังสือหลาย ๆ เล่มนี่มีผู้แต่งได้แค่ 1 คน

745
01:01:36,373 --> 01:01:40,373
อันนี้ยกตัวอย่างให้ 1 อันแล้ว

746
01:01:42,720 --> 01:01:46,720
ที่เหลือลองวาดดูสิ

747
01:01:46,783 --> 01:01:50,045
ให้มันได้เหมือนของอาจารย์นี่ ที่เหลือมันควรจะเป็นอย่างไร

748
01:01:50,045 --> 01:01:53,589
ลองดูสิ เริ่มให้แล้ว 1 อัน

749
01:01:53,589 --> 01:01:57,589
ที่เหลือลองทำดูก่อน

750
01:02:07,737 --> 01:02:11,737

751
01:02:19,742 --> 01:02:23,742

752
01:02:31,750 --> 01:02:35,750

753
01:02:35,752 --> 01:02:39,752

754
01:02:39,752 --> 01:02:43,752

755
01:02:43,756 --> 01:02:47,756

756
01:02:47,759 --> 01:02:51,759

757
01:02:51,761 --> 01:02:55,761

758
01:02:55,762 --> 01:02:59,762

759
01:03:03,765 --> 01:03:07,765

760
01:03:07,766 --> 01:03:11,766

761
01:03:11,767 --> 01:03:15,767

762
01:03:19,772 --> 01:03:23,397

763
01:03:23,397 --> 01:03:27,397

764
01:03:27,775 --> 01:03:31,775

765
01:03:31,779 --> 01:03:35,779

766
01:03:35,782 --> 01:03:39,782

767
01:03:39,782 --> 01:03:43,782

768
01:03:43,785 --> 01:03:47,785

769
01:03:47,787 --> 01:03:51,787

770
01:03:51,789 --> 01:03:55,789

771
01:03:55,792 --> 01:03:59,792

772
01:03:59,792 --> 01:04:03,792

773
01:04:07,795 --> 01:04:10,848

774
01:04:10,848 --> 01:04:11,766

775
01:04:11,766 --> 01:04:13,750
ที่เหลือ

776
01:04:13,750 --> 01:04:17,750
หนังสือหลาย ๆ เล่ม

777
01:04:22,789 --> 01:04:26,789
จะต้องถูกพิมพ์จาก 1 สำนักพิมพ์เท่านั้น

778
01:04:29,549 --> 01:04:32,182
ใช่ไหม อันนี้ตามโจทย์ที่อาจารย์กำหนดนะคะ ถ้าเราเอา

779
01:04:32,182 --> 01:04:35,576
มารวมกันในความสัมพันธ์นะคะ

780
01:04:35,576 --> 01:04:39,576
มันอาจจะเขียยนได้เป็นแบบนี้นะคะ

781
01:04:41,269 --> 01:04:45,205
ผู้แต่ง 1 คน แต่งหนังสือได้หลายเล่ม

782
01:04:45,205 --> 01:04:48,232
และหนังสือหลาย ๆ เล่ม จะต้อง

783
01:04:48,232 --> 01:04:52,232
ถูกจัดพิมพ์จาก 1 สำนักพิมพ์เท่านั้น

784
01:04:53,711 --> 01:04:57,711
อันนี้คือรูปความสัมพันธ์ที่เกิดขึ้น

785
01:05:03,438 --> 01:05:07,438
นะคะ อันนี้ยังง่ายอยู่ พอเห็นภาพขึ้นบ้างไหมนะคะ อันนี้ยังง่าย อันนี้พอเราอ่าน

786
01:05:12,644 --> 01:05:16,644
ถ้าเป้นคนที่ไม่มีความรู้ด้านคอมพิวเตอร์มาอ่าน เขาก็ยัง

787
01:05:19,823 --> 01:05:23,823
จะเข้าใจนะคะ อันนี้คือการวาดรูป มันเลยจะทำให้เราเข้าใจมากขึ้น แล้วก็จะระเบียบ

788
01:05:26,385 --> 01:05:30,385
ความคิดของเราได้ว่าสิ่งที่มันควรจะเป็นในฐานข้อมูลมันควรจะเป็นอย่างไรนะคะ ต่อมา ง่ายแล้ว

789
01:05:31,675 --> 01:05:35,675
อันนี้ยิ่งง่าย พอเราได้ความสัมพันธ์ เราได้ Entity แล้ว

790
01:05:42,105 --> 01:05:46,105
เราต้องมาเขียนว่าในแต่ละตาราง มันควรจะมีข้อมูลอะไร แล้วอะไรจะเป็นคีย์หลัก ก็คือ

791
01:05:51,832 --> 01:05:55,832
ค่าที่ห้ามซ้ำกัน ที่เราขีดเส้นน่ะค่ะ เอามา

792
01:05:59,416 --> 01:06:03,416
จากตรงไหน มาจากตรงนี้ เรารู้แล่วว่าอันไหนคือชื่อตาร

793
01:06:07,835 --> 01:06:11,835
าง ก็คือชื่อ Entity แล้วข้อมูลมีอะไรบ้าง มันก็แค่ เอาข้อมูลที่อาจารย์กำหนดให้นี่ค่ะ

794
01:06:15,170 --> 01:06:19,170
ไปใส่ในรูปวงรี ใช่ไหม คือ Attribute แต่มันจะยาก ก็คือ

795
01:06:23,108 --> 01:06:27,049
ในแต่ละข้อมูล อะไรจะเป็นคีย์หลัก ก็คือค่าที่ห้ามซ้ำกัน ลองวาดดู อาจารย์เอาให้หมดแล้ว

796
01:06:27,049 --> 01:06:31,049
3 อันนี้ จะต้องมีข้อมูลอะไรบ้าง กำหนดอยู่

797
01:06:38,653 --> 01:06:42,653
อันยากก็คือเราจะขีดข้อมูลเส้นใต้ตัวไหน อันนี้ บอกไปแล้ว ทำเอง

798
01:06:43,577 --> 01:06:45,639
ลองดูสิ ลองดูสิ มันจะได้รูปเหมือน

799
01:06:45,639 --> 01:06:49,478
กับของอาจารย์ไหม ลองทำดู

800
01:06:49,478 --> 01:06:53,478
แค่เอาข้อมูลที่อาจารย์กำหนดให้ในสไลด์ก่อนหน้านี้ค่ะ

801
01:06:55,431 --> 01:06:59,377
มาใส่ แค่นั้นเอง เดี๋ยวให้ลองทำเองดูว่า

802
01:06:59,377 --> 01:07:01,052
เหมือนกันไหม

803
01:07:01,052 --> 01:07:05,052
5 นาที เหมือนเดิม

804
01:07:06,580 --> 01:07:09,121

805
01:07:09,121 --> 01:07:13,121

806
01:07:23,865 --> 01:07:27,865

807
01:07:30,165 --> 01:07:30,474

808
01:07:30,474 --> 01:07:34,474

809
01:07:35,060 --> 01:07:39,060
เดี่ยววันนี้ไม่เสร็จ ให้ 1 ตัวอย่างก่อน

810
01:07:41,576 --> 01:07:41,834
มันต้องแบบนี้ อีก 2 อันที่เหลือทำเอง เอาตัวอย่างให้ดูก่อน

811
01:07:41,834 --> 01:07:45,834
ได้ตารางหนังสือแล้ว

812
01:07:46,646 --> 01:07:50,646
เหลือตารางสำนักพิมพ์กับตารางผู้แต่ง ลองทำดูส

813
01:07:59,882 --> 01:08:03,444
ิ อีก 2 อันที่เหลือ ให้รูปมันออกมาเป็นแบบนี้ ต้องทำอย่างไร

814
01:08:03,444 --> 01:08:04,554
ยกตัวอย่างให้ก่อน

815
01:08:04,554 --> 01:08:08,554
เดี๋ยวไม่เข้าใจ

816
01:08:10,872 --> 01:08:14,872
เห็นไหมว่าอาจารย์กำหนดคีย์ด้วย

817
01:08:16,372 --> 01:08:20,372
ก็คือเราขีดเส้นใต้รหัสหนังสือน่ะ

818
01:08:22,850 --> 01:08:26,850
ห้ามซ้ำกัน อีก 2 อันที่เหลือ อันไหน

819
01:08:27,984 --> 01:08:31,984
ต้องห้ามซ้ำกัน แล้วทำไมตารางหนังสืออาจารย์ถึงมีรหัสสำนักพิมพ์

820
01:08:32,204 --> 01:08:35,865
ด้วย ทำไมต้องมี ต้องมีเพราะว่าเราจะได้รู้ว่าหนังสือเล่มนี้

821
01:08:35,865 --> 01:08:39,865
สำนักพิมพ์ไหนเอามาขาย

822
01:08:41,646 --> 01:08:45,646
ใช่ไหม อันนี้ไอ้รหัสสำนักพิมพ์นี่

823
01:08:48,612 --> 01:08:52,612
คือคีย์นอก ซึ่งเอาไว้เชื่อมโยงไปดูว่าสำนักพิมพ์

824
01:08:53,489 --> 01:08:57,489
ชื่ออะไร อยู่ที่ไหน เบอร์โทรศัพท์เบอร์อะไร ไม่จำเป็นต้องเอา

825
01:09:03,898 --> 01:09:07,898
มาทั้งหมด เอามาแค่รหัสก็พอ ในการเชื่อมโยงกัน 2 ตารางนะ ลองวาดดูสิ อีก 2 อันที่เหลือในผู้แต่ง

826
01:09:10,058 --> 01:09:14,058
ต้องมีอะไร ในสำนักพิมพ์ต้องมีอะไร ลองวาดดูสิ

827
01:09:17,185 --> 01:09:18,007

828
01:09:18,007 --> 01:09:22,007

829
01:09:31,904 --> 01:09:35,904

830
01:09:39,906 --> 01:09:43,906

831
01:09:47,913 --> 01:09:51,913

832
01:09:51,916 --> 01:09:55,916

833
01:09:55,917 --> 01:09:59,917

834
01:10:03,922 --> 01:10:07,922

835
01:10:07,922 --> 01:10:11,922

836
01:10:15,926 --> 01:10:19,926

837
01:10:19,928 --> 01:10:23,928

838
01:10:23,934 --> 01:10:27,934

839
01:10:27,934 --> 01:10:31,934

840
01:10:31,936 --> 01:10:35,936

841
01:10:35,936 --> 01:10:39,936

842
01:10:39,937 --> 01:10:43,937

843
01:10:47,945 --> 01:10:51,945

844
01:10:51,946 --> 01:10:55,946

845
01:10:55,946 --> 01:10:59,946

846
01:10:59,949 --> 01:11:03,949

847
01:11:03,951 --> 01:11:07,951

848
01:11:07,953 --> 01:11:11,953

849
01:11:11,954 --> 01:11:15,954

850
01:11:15,954 --> 01:11:19,954

851
01:11:19,954 --> 01:11:23,954

852
01:11:23,958 --> 01:11:27,958

853
01:11:27,959 --> 01:11:31,959

854
01:11:35,965 --> 01:11:39,964

855
01:11:39,964 --> 01:11:43,964

856
01:11:43,968 --> 01:11:47,968

857
01:11:47,969 --> 01:11:51,969

858
01:11:51,971 --> 01:11:55,971

859
01:11:55,975 --> 01:11:59,975

860
01:11:59,975 --> 01:12:03,975

861
01:12:03,977 --> 01:12:07,977

862
01:12:07,982 --> 01:12:11,979

863
01:12:11,979 --> 01:12:14,674

864
01:12:14,674 --> 01:12:15,908
ผู้แต่งได้หรือยัง

865
01:12:15,908 --> 01:12:19,908
เหมือนกันหรือเปล่า อันนี้ง่ายมากเลย

866
01:12:21,481 --> 01:12:25,481
ก็เอาข้อมูลที่อาจารย์ให้มาวาด แค่นั้นเอ

867
01:12:30,004 --> 01:12:31,525
ง ใช่ไหม สำนักพิมพ์

868
01:12:31,525 --> 01:12:35,525
ก็เป็นแบบนี้

869
01:12:39,390 --> 01:12:41,451
เพราะอาจารย์ให้ข้อมูลไปหมดแล้ว

870
01:12:41,451 --> 01:12:44,081
พอเราวาดเสร็จ

871
01:12:44,081 --> 01:12:47,686
ได้องค์ประกอบทุกอย่าง

872
01:12:47,686 --> 01:12:51,686
รูปที่สมบูรณ์

873
01:12:52,157 --> 01:12:56,157
มันเลยเป็นแบบนี้ ใช่ไหม

874
01:13:01,340 --> 01:13:04,966
จากข้อมูลที่อาจารย์ให้ทั้งหมด พอมาวาดรูปเหมือนกันเลย แค่เอาข้อมูล

875
01:13:04,966 --> 01:13:08,966
ที่ได้น่ะค่ะ จากตัวหนังสือเป็นยาว ๆ เฟื้อย ๆ นี่

876
01:13:14,027 --> 01:13:17,357
เราก็เอามาวาดเป็นรูป

877
01:13:17,357 --> 01:13:17,548
แล้วมันจะได้เช็กได้ว่าเราขาดข้อมูลตรงไหนหรือเปล่า

878
01:13:17,548 --> 01:13:21,548
นะคะ ข้อมูลมันยังสามารถเติมตรงไหน

879
01:13:22,079 --> 01:13:25,508
ได้อีก มันเป็นไปอย่างที่เราเข้าใจ

880
01:13:25,508 --> 01:13:29,508
ไหม ในตัวของสมมติว่า เขามาจ้างให้เราออกแบบ

881
01:13:35,150 --> 01:13:37,633
ข้อมูลเข้าใจตรงกันหรือเปล่านะคะ หรือเขาอยากให้เอาข้อมูลอะไรเข้ามาอีก

882
01:13:37,633 --> 01:13:40,342
แต่ถ้าเป็น

883
01:13:40,342 --> 01:13:44,342
การออกแบบฐานข้อมูลจริง ๆ ที่

884
01:13:49,309 --> 01:13:50,118
ใช้กันในชีวิตประจำวัน ถามว่าแค่นี้พอไหม ไม่พอ

885
01:13:50,118 --> 01:13:54,118
นะคะ อันนี้เป็นแค่ตัวอย่างที่อยากให้คุณทำ

886
01:13:55,320 --> 01:13:57,576
ฐานข้อมูลจริง ๆ มันจะเป็นอย่างไร

887
01:13:57,576 --> 01:14:01,576
มันจะเป็นแบบนี้เลย เห็นไหมคะ ว่า

888
01:14:05,429 --> 01:14:08,551
ร้านหนังสือร้านหนึ่งมันไม่ได้มีแค่เมื่อกี้ มันต้องเป็นแบบนี้

889
01:14:08,551 --> 01:14:09,760
เมื่อกี้มันน้อยมาก

890
01:14:09,760 --> 01:14:13,760
แต่ถ้าเราทำงานจริง ๆ ข้อมูลมันจะ

891
01:14:15,752 --> 01:14:19,752
เยอะขนาดนี้เลยนะคะ ข้อมูลจะเยอะขนาดนี้เลย

892
01:14:23,207 --> 01:14:25,568
เพราะฉะนั้น วันนี้มีสิ่งที่ให้นักศึกษาไปทำ อาจารย์

893
01:14:25,568 --> 01:14:27,524
กำหนดข้อมูลให้แล้วด้วย

894
01:14:27,524 --> 01:14:31,524
ให้วาดรูปเหมือนเมื่อกี้นี้ค่ะ เหมืิอนที่อาจารย์ยกตัวอย่าง

895
01:14:40,022 --> 01:14:42,529
แต่คราวนี้จะเป็นการขายคอมพิวเตอร์นะคะ โดยข้อกำหนด  คือ

896
01:14:42,529 --> 01:14:46,411
ลูกค้ามีได้หลายคน แล้วก็

897
01:14:46,411 --> 01:14:50,411
สามารถวื้อสินค้าได้หลายชิ้น

898
01:14:52,686 --> 01:14:53,317
นะคะ แล้วก็ 1 ใบเสร็จรับเงิน

899
01:14:53,317 --> 01:14:57,317
ก็มีสินค้าได้หลายชิ้นเหมือนกัน มีชิ้นเดียวได้ไหม

900
01:15:00,932 --> 01:15:04,932
ได้ แต่มีมากกว่า 1 ชิ้นก็ได้เหมือนกันนะคะ ในแต่ละใบเสร็จ

901
01:15:07,446 --> 01:15:09,312
จะต้องมีแคชเชียร์หรือพนังานขายแค่คนเดียวเท่านั้น

902
01:15:09,312 --> 01:15:13,312
อันนี้คือเรื่องทั่วไปเลยนะคะ เหมือนเวลาเราไป

903
01:15:14,243 --> 01:15:18,243
ซื้อของในห้าง คนคิดเงินให้เราก็มีคนเดียวใช่ไหม

904
01:15:20,756 --> 01:15:24,756
แล้วก็ต้องมีการแยกประเภทสินค้าด้วย

905
01:15:25,672 --> 01:15:29,672
นะคะ เช่น เหมือนเวลาเราไปห้าง

906
01:15:31,090 --> 01:15:35,090
มันก็จะแยกกัน เครื่องครัวอยู่ที่หนึ่ง ของกิน

907
01:15:39,720 --> 01:15:40,935
อยู่ที่หนึ่ง ใช่ไหม ของกินอยุ่ที่หนึ่ง

908
01:15:40,935 --> 01:15:41,504
อันนี้คือการแยก คอมพิวเตอร์ก็เหมือนกันนะคะ

909
01:15:41,504 --> 01:15:43,995
โดยที่อาจารย์กำหนดให้แล้ว

910
01:15:43,995 --> 01:15:47,995
นะคะ

911
01:15:48,361 --> 01:15:52,361
ว่ามันควรจะมีตารางอะไรบ้าง

912
01:15:56,142 --> 01:16:00,142
มี 5 ตารางนะคะ 5 ตาราง ก็จะเป็นตารางลูกค้า ตารางพนักงาน

913
01:16:00,812 --> 01:16:04,812
ขาย ตารางรายละเอียดของสินค้า

914
01:16:08,323 --> 01:16:12,323
ตารางประเภทสินค้า ตารางใบเสร็จ อันนี้

915
01:16:14,862 --> 01:16:15,940
อาจารย์กำหนดให้แล้วนะคะ ว่าควรจะมีข้อมูลอะไรบ้าง

916
01:16:15,940 --> 01:16:19,940
ให้เราไปวาดรูปมา

917
01:16:22,336 --> 01:16:26,336
ทำเอง ใช้หลักการเดียวกันกับที่อาจารย์ยกตัวอย่างไป

918
01:16:32,056 --> 01:16:34,090
นะคะ เมื่อกี้นี้  ลองวาดดูสิว่ารูปที่ได้จะเป็นอย่างไรนะ อันนี้เป็นการบ้าน

919
01:16:34,090 --> 01:16:38,090
สำหรับวันนี้ไม่มีอะไร วันนี้ก็ปวดหัวมาก

920
01:16:41,415 --> 01:16:45,415
แล้ว ถ้าใครจะนั่งวาดรูปต่อก็ได้ แต่ต้องส่

921
01:16:48,057 --> 01:16:49,236
ต้องส่งนะคะ ต้องส่ง วันนี้ก็ประมาณนี้ มาครบทุกคน เดี๋ยว

922
01:16:49,236 --> 01:16:53,236
ให้ไปปวดหัววาดรูปต่อนะ ปกติ

923
01:16:54,228 --> 01:16:58,228
วาดรูปไม่เคยปวดหัวเท่านี้มาก่อนเลย วันนี้ลองดู

924
01:17:02,359 --> 01:17:02,755
ที่แน่ ๆ มีกี่ตารางนี่ 5 ตาราง ไปวาดมาสิ ว่าในแต่ละ

925
01:17:02,755 --> 01:17:06,755
ตารางมันควรมีอะไรบ้าง จากที่อาจารย์กำหนดให้

926
01:17:08,813 --> 01:17:12,813
ลองกำหนดเองสิว่ามันต้องมีอะไร แล้วทำส่งอาจารย์ ใส่กระดาษนั่น

927
01:17:20,069 --> 01:17:20,780
แหละ ความสัมพันธ์ให้ครบด้วย อันไหนเป็นค่าที่ห้ามซ้ำกันอย่าลืม

928
01:17:20,780 --> 01:17:22,717
ขีดเส้นให้อาจารย์ด้วยนะคะ วันนี้ก็

929
01:17:22,717 --> 01:17:26,717
ประมาณนี้ค่ะ ขอบคุณมากค่ะ ขอบคุณล่ามด้วย ขอบคุณ

930
01:17:27,797 --> 01:17:31,797
ถอดความด้วยนะคะ โอเคค่ะ

931
01:17:31,935 --> 01:17:35,935
เจอกันสัปดาห์หน้าค่ะ

932
01:17:40,038 --> 01:18:01,561
[สิ้นสุดการถอดความ]

933
01:17:33,509 --> 01:17:37,509

934
01:17:39,461 --> 01:17:43,461

935
01:17:52,079 --> 01:17:56,079

936
01:18:00,085 --> 01:18:04,085

937
01:18:04,087 --> 01:18:08,087

938
01:18:12,092 --> 01:18:16,092

939
01:18:16,093 --> 01:18:20,093

940
01:18:20,095 --> 01:18:24,095

941
01:18:24,098 --> 01:18:28,098

942
01:18:28,100 --> 01:18:32,100

943
01:18:32,100 --> 01:18:36,100

944
01:18:36,104 --> 01:18:40,104

945
01:18:40,105 --> 01:18:40,106

946
01:18:40,106 --> 01:18:44,106

947
01:18:44,114 --> 01:18:48,114


