2022/12/16 09:46:07 srt file reading... 2022/12/16 09:46:07 connecting to receiver address ws://127.0.0.1:10010/ 2022/12/16 09:46:07 socketio listen at 0.0.0.0:8007 2022/12/16 09:46:07 dial tcp 127.0.0.1:10010: connect: connection refused (retry in 3 seconds) 2022/12/16 09:46:08 new client connected id: 1 2022/12/16 09:46:10 connecting to receiver address ws://127.0.0.1:10010/ 2022/12/16 09:46:10 127.0.0.1:10010 connected (as receiver) 2022/12/16 10:03:02 broadcaster start 2022/12/16 10:03:02 generating output type: SENTENCE 2022/12/16 10:03:02 id=0 message= 2022/12/16 10:03:06 id=1 message= 2022/12/16 10:03:10 id=2 message= 2022/12/16 10:03:14 id=3 message= 2022/12/16 10:03:18 id=4 message= 2022/12/16 10:03:22 id=5 message= 2022/12/16 10:03:26 id=6 message= 2022/12/16 10:03:30 id=7 message= 2022/12/16 10:03:34 id=8 message= 2022/12/16 10:03:38 id=9 message= 2022/12/16 10:03:42 id=10 message= 2022/12/16 10:03:46 id=11 message= 2022/12/16 10:03:50 id=12 message= 2022/12/16 10:03:54 id=13 message= 2022/12/16 10:03:58 id=14 message= 2022/12/16 10:04:02 id=15 message= 2022/12/16 10:04:06 id=16 message= 2022/12/16 10:04:10 id=17 message= 2022/12/16 10:04:14 id=18 message= 2022/12/16 10:04:18 id=19 message= 2022/12/16 10:04:22 id=20 message= 2022/12/16 10:04:26 id=21 message= 2022/12/16 10:04:30 id=22 message= 2022/12/16 10:04:34 id=23 message= 2022/12/16 10:04:38 id=24 message= 2022/12/16 10:04:42 id=25 message=(อาจารย์เกวลี) เดี๋ยวเริ่มเลย 2022/12/16 10:04:46 id=26 message=ก็ได้ค่ะ 2022/12/16 10:04:50 id=27 message=โอเค น่าจะประมาณนี้นะคะ 2022/12/16 10:04:54 id=28 message=วันนี้จะเป็นบทที่ 5 เกี่ยวกับกระบวนการ 2022/12/16 10:04:58 id=29 message=ปรับบรรทัดฐาน ภาษาอังกฤษก็จะเป็น 2022/12/16 10:05:02 id=30 message=normali 2022/12/16 10:05:06 id=31 message=เนื้อหาวันนี้ก็จะมีจุดมุ่งหมาย 2022/12/16 10:05:10 id=32 message=ของการทำ Nomanlization 2022/12/16 10:05:15 id=33 message=จะเกี่ยวกับฟังก์ชันการขึ้นต่อกัน แล้วก็หลักการขึ้น normal 2022/12/16 10:05:19 id=34 message=ด้วยนะคะ มีอยู่ 3 ข้อวันนี้ 2022/12/16 10:05:23 id=35 message= 2022/12/16 10:05:27 id=36 message=โดยการปรับมาตรฐานหรือ No 2022/12/16 10:05:31 id=37 message=มันจะเป็นทฤษฎีที่คนออกแบบฐานข้อมูล 2022/12/16 10:05:35 id=38 message=มาแปลงข้อมูลจากรูปที่ซับซ้อน 2022/12/16 10:05:39 id=39 message=นะคะ ให้มันง่าย เข้าใจ 2022/12/16 10:05:43 id=40 message=ก้งาน นำไปใช้งานก็ง่าย แล้วต้องเป็นระบบที่ 2022/12/16 10:05:47 id=41 message=หลังจากออกแบบแล้ว แล้วนำไปใช้งานจริงต้องเกิดปัญหาน้อยที่สึเ 2022/12/16 10:05:51 id=42 message=โดยกระบวนการ 2022/12/16 10:05:55 id=43 message=ทำงานนะคะ ในการปรับบรรทัดฐานนี่มันจะมี 3 ระดับ 2022/12/16 10:05:59 id=44 message=นะคะ จริง ๆ เราก็จะเรียกสะ้น ๆ ระดับแรกจะเรียกว่ 2022/12/16 10:06:03 id=45 message=นะคะ 2NF 3NF นะคะ 2022/12/16 10:06:07 id=46 message=ในระดับปริญญาตรีนี่ 2022/12/16 10:06:11 id=47 message=ถึง 3NF ได้ก็ถือว่าเก่งมากแล้ว 2022/12/16 10:06:15 id=48 message=แต่ถ้าเป็นระดับที่สูงขึ้นไปอีก ก็จะได้ถึง 5NF 2022/12/16 10:06:19 id=49 message=นะคะ 2022/12/16 10:06:23 id=50 message=อันนี้เป็น 2022/12/16 10:06:27 id=51 message=แผนภาพกระบวนการทำงานนะคะ ก่อนเราจะมาทำแผนภาพปรับบรรทัดฐาน 2022/12/16 10:06:31 id=52 message=ได้นี่ มันก็ต้องวิเคราะห์การใช้งานของผู้ใช้งานก่อน 2022/12/16 10:06:35 id=53 message=เขาต้องการระบบจัดการฐานข้อมูลแบบไหน ต้องการ 2022/12/16 10:06:39 id=54 message=ใช้ตารางกี่ตารางในฐานข้อมูลนะคะ 2022/12/16 10:06:43 id=55 message=หลังจากนั้นก็จะมาวาดรูปเหมือนที่เราเรียนอาทิตย์ที่แล้วนะคะ 2022/12/16 10:06:47 id=56 message=มาวาดเป็นแผนถาพ ให้เข้าใจว่า 2022/12/16 10:06:51 id=57 message=สิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลนี่ ตรง 2022/12/16 10:06:55 id=58 message=ตามความต้องการหรือเปล่านะคะ 2022/12/16 10:06:59 id=59 message=แต่รูปแบบของรูปที่เราวาดอาทิตย์ที่แล้วนี่ จะยังเป็นรูป 2022/12/16 10:07:03 id=60 message=แบบที่ที่เป็นบรรทัดฐาน 2022/12/16 10:07:07 id=61 message=หรือว่ายังไม่ได้มีการจัดระเบียบความคิดที่มันซับซ้อน 2022/12/16 10:07:11 id=62 message=คีย์หลักที่มันทับซ้อนกันนะคะ 2022/12/16 10:07:15 id=63 message=เราก็เลยจะต้องเอาข้อมูลจากที่เราวาดอาทิตย์ที่แล้วนี่มาเข้าสู่ 2022/12/16 10:07:19 id=64 message=กระบวนการปรับบรรทัดฐานก่อน ซึี่งอย่างที่บอก 2022/12/16 10:07:23 id=65 message=เราทำแค่ถึง 3 NF นี่ก็ถือว่าเก่งมากแล้ว 2022/12/16 10:07:27 id=66 message=แต่อย่างน้อยต้องถึง 3 นะคะ ไอ้บอยด์ คอดด์ก 2022/12/16 10:07:31 id=67 message=ไม่ทำก็ละไว้ได้นะคะ แต่อย่างน้อยต้อง 2022/12/16 10:07:35 id=68 message=ถึง 3 นะคะ 2022/12/16 10:07:39 id=69 message=โดยวัตถุประสงค์ของการปรับบรรทัดฐานนะคะ 2022/12/16 10:07:43 id=70 message=แน่นอนลดความซ้ำซ้อนกันของข้อมูล 2022/12/16 10:07:47 id=71 message=ก็ถือถ้าข้อมูลมันซ้ำกันนี่เราต้องตัดออกไป เพราะถ้าซ้ำกัน 2022/12/16 10:07:51 id=72 message=มันยิ่งซ้พกันมากเท่าไร เนือ้หา และพื้นที่ 2022/12/16 10:07:55 id=73 message=ในการเก็บข้อมูลมันเยอะ แล้วก็สิ้นเปลืองงบประมาณ 2022/12/16 10:07:59 id=74 message=ด้วยเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้อง 2022/12/16 10:08:03 id=75 message=ของข้อมูลนะคะ ข้อมูลนี่นอกจากจะไม่เกิดความ 2022/12/16 10:08:07 id=76 message=ซ้ำซ้อนกันแล้วนี่ มันยังเกิดจากสาเหตุอื่น 2022/12/16 10:08:11 id=77 message=คือ ถ้าเหมือนที่อาจารย์เคยยกตัวอย่าง ก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่ 2022/12/16 10:08:15 id=78 message=อย่างนักศึกษาเก็บข้อมูลที่คณะด้วย ที่มหาวิทลัย 2022/12/16 10:08:19 id=79 message=เก็บที่มหาวิทยาลัยด้วย เก็บที่สาขาด้วย วันหนึ่งคุณ 2022/12/16 10:08:23 id=80 message=อาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้าน 2022/12/16 10:08:27 id=81 message=เราก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลา 2022/12/16 10:08:31 id=82 message=แล้วคราวนี้ก็จะเป็นที่เถียงกันว่า 2022/12/16 10:08:35 id=83 message=เบอร์ไหนถูก เบอร์ไหนผิดนะคะ โดยวัตถุประสงค์ของ 2022/12/16 10:08:39 id=84 message=การปรับบรรทัดฐานนี่ ข้อมูลอาจจะเก็บที่แหล่งเ 2022/12/16 10:08:43 id=85 message=นะคะ เก็บอยู่ที่เดียว แต่สามารถเรียนใช้งานหลาย ๆ 2022/12/16 10:08:47 id=86 message=ที่ พร้อม ๆ กันได้นะคะ แต่ถ้า 2022/12/16 10:08:51 id=87 message=มันมีการเปลี่ยนแปลงข้อมูล มีการลบหรือการเพิ่ม 2022/12/16 10:08:55 id=88 message=เป็นปัจจุบันที่สุด เราจึงเก็บข้อมูลไว้ที่เดียว 2022/12/16 10:08:59 id=89 message=มีแก้ไขก็ที่เดียวนะคะ เพราะฉะนั้น ข้อมูลถูกต้อง 2022/12/16 10:09:03 id=90 message=ก็เป็นปัจจุบันด้วย 2022/12/16 10:09:07 id=91 message=แล้วก็อย่างที่ให้เหตุผลเมื่อกี้นี้นะคะ การเก็บข้อมูล 2022/12/16 10:09:11 id=92 message=ที่เดียวนี่ มันก็จะลดการผิดพลาด การ 2022/12/16 10:09:15 id=93 message=เปลี่ยนแปลงข้อมูล ปรับปรุงข้อมูล อย่างที่บอก ก็คือ 2022/12/16 10:09:19 id=94 message=เปลี่ยนเบอร์โทรศัพท์หรือว่าเปลี่ยนบ้านเลขที่ ก็ 2022/12/16 10:09:23 id=95 message=เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้ทุกที่ 2022/12/16 10:09:27 id=96 message=นะคะ 2022/12/16 10:09:31 id=97 message=ความซ้ำซ้อนกันของข้อมูลนี่ 2022/12/16 10:09:35 id=98 message=ผิดพลาดของการปรับปรุงของข้อมูลนะคะ แนวคิด 2022/12/16 10:09:39 id=99 message=ของการออกแบบฐานข้อมูลนี่ ก็คือการออกแบบข้อมูลที่ 2022/12/16 10:09:43 id=100 message=ซ้ำซ้อนกันน้อยที่สุดนะคะ เพื่อประหยัดพื้นที่มนก่าร 2022/12/16 10:09:47 id=101 message=แล้วก็ลดปัญหาที่เกิดขึ้น ถ้าข้อมูลมันซ้ำซอนมาก 2022/12/16 10:09:51 id=102 message=เกินไปหรือปริมาณข้อมูลมีเยอะ 2022/12/16 10:09:55 id=103 message=เกินไปนะคะ 2022/12/16 10:09:59 id=104 message=อย่างเช่นตัวอย่างนะคะ 2022/12/16 10:10:03 id=105 message=ตารางด้านบน ตารางสีเทาด้านบน จะเป็นการออกแบบฐานข้อมูลที่ดี 2022/12/16 10:10:07 id=106 message=เดี๋ยวจะมาให้ดูว่าทำไมมันถึงดีกว่า 2022/12/16 10:10:11 id=107 message=ในตารางข้อมูลนี่มันจะมีตารางของพนักงานและตารางสาขา 2022/12/16 10:10:15 id=108 message=นะคะ จะเห็นได้ว่า 2022/12/16 10:10:19 id=109 message=ตารางพนักงานนี่ จะมีส่วนหนึ่งที่เป็นรหัสสาขา 2022/12/16 10:10:23 id=110 message=ห้อยไว้อยู่ ถามว่าทำไมไม่เอา 2022/12/16 10:10:27 id=111 message=ข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะ ทำไมต้องแยก 2022/12/16 10:10:31 id=112 message=ออกนะคะ อย่างถ 2022/12/16 10:10:35 id=113 message=ถ้านักศึกษาดูคนแรกนะคะ ดูคนแรก รหัสสาขา 2022/12/16 10:10:39 id=114 message=B005 2022/12/16 10:10:43 id=115 message=ก็คือสาขาเชียงใหม่ 2022/12/16 10:10:47 id=116 message=ถ้าสมมติว่า 2022/12/16 10:10:51 id=117 message=พนักงานคนที่ 1 ลาออก 2022/12/16 10:10:55 id=118 message=ก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ 2022/12/16 10:10:59 id=119 message=มีการลบข้อมูล ลบคนนี้ออก 2022/12/16 10:11:03 id=120 message=ขีดฆ่าทิ้ง เดี๋ยวนะคะ 2022/12/16 10:11:07 id=121 message=ขีดฆ่าทิ้ง สิ่งไหนที่หายไปบ้าง 2022/12/16 10:11:11 id=122 message=แน่นอนสาขาเชียงใหม่จะหายไปด้วย สมมติ 2022/12/16 10:11:15 id=123 message=นะคะ ถ้าสมมติเราอยู่ด้วยกัน ถ้าสมมติพนักงานคนนี้ลาออก 2022/12/16 10:11:19 id=124 message=สาขาเชียงใหม่ยังอยู่ไหม ยังอยู่นะคะ 2022/12/16 10:11:23 id=125 message=ซึ่งแตกต่างจากด้านล่างนะคะ ด้านล่าง เห็นไหมคะ ว่า 2022/12/16 10:11:27 id=126 message=ถ้าสมมติว่าอาจารย์ลบทิ้งหมดเลย 2022/12/16 10:11:31 id=127 message=ลบทิ้งหมดนี่กากบาททิ้ง 2022/12/16 10:11:35 id=128 message=สาขาเชียงใหม่หายไปด้วย 2022/12/16 10:11:39 id=129 message=อันนี้คือการออกแบบที่ไม่ดีนะคะ เหมือน 2022/12/16 10:11:43 id=130 message=ว่าคนข้างล่าง คนนี้ออก 2022/12/16 10:11:47 id=131 message=สาขาพิษณุโลกก็หายไปด้วย 2022/12/16 10:11:51 id=132 message=แต่ถ้าเป็นตารางด้านบนนะคะ ถ้า 2022/12/16 10:11:55 id=133 message=คนนี้ลาออก สาขายังอยู่ไหม ยังอยู่เหมือนเดิมนะคะ 2022/12/16 10:11:59 id=134 message=อันนี้คือการออกแบบฐานข้อมูล 2022/12/16 10:12:03 id=135 message=ที่ดี ถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อกันเราจะต้องแยกตาราง 2022/12/16 10:12:07 id=136 message=ออกนะคะ 2022/12/16 10:12:11 id=137 message=ตัวอย่าง 2022/12/16 10:12:15 id=138 message=นะคะ ถ้าการออกแบบที่ดีจะลด 2022/12/16 10:12:19 id=139 message=ปัญหาความซ้ำซ้อนกันของข้อมูลออกได้นะคะ 2022/12/16 10:12:23 id=140 message=อย่างเช่นตรงนี้ อันนี้เป็นตารางที่ออกแบบไม่ดี 2022/12/16 10:12:27 id=141 message=นะคะ เห็นไหมคะว่ามันจะมีรหัสสาขา แล้วก็ 2022/12/16 10:12:31 id=142 message=ที่อยู่ อยู่ในตารางเดียวกัน 2022/12/16 10:12:35 id=143 message=ถ้าสมมติว่าอาจารย์เพิ่มเข้ามาใหม่ 2022/12/16 10:12:39 id=144 message=อีก 1 คนนะคะ เป็น EM 2022/12/16 10:12:43 id=145 message=10 ตรงนี้นะคะ ถ้าอาจารย์ต้องการเพิ่ม 2022/12/16 10:12:47 id=146 message=พนักงานสาขาเชียงใหม่ อาจารย์ก็ต้องมา 2022/12/16 10:12:51 id=147 message=กรอกข้อมูลตรงนี้อีกว่าเชียงใหม่นะ โน่นนี่นั่นโน่น 2022/12/16 10:12:55 id=148 message=นะคะ แต่ถ้าเป็นการออกแบบฐานข้อมูลที่ดีนี่ 2022/12/16 10:12:59 id=149 message=เราแค่ใส่รหัสสาขานะคะ 2022/12/16 10:13:03 id=150 message=ไม่จำเป็นจะต้องพิมพ์ที่อยู่ทุกครั้งก็ได้นะคะ 2022/12/16 10:13:07 id=151 message=เหมือน 2022/12/16 10:13:11 id=152 message=เวลาคุรไปธนาคารใช่ไหมคะ คึณก็แค่ยื่นบตรั 2022/12/16 10:13:15 id=153 message=พนักงานธนาคารก็จะกรอกเลขบัตรประชาชนคุณลงไป 2022/12/16 10:13:19 id=154 message=นะคะ หรืออาจจะเอาชิปการ์ดของคุณเสียบเข้าไปใน 2022/12/16 10:13:23 id=155 message=เครื่อง ถามว่าตอนนี้เราได้กรอกข้อมูลไหม ไม่ต้อง 2022/12/16 10:13:27 id=156 message=ขอแค่มีเลขบัตรประชาชน ข้อมูลทุกอย่างที่คุณมี 2022/12/16 10:13:31 id=157 message=เขาจะดึงออกมาจากระบบให้เลย เราไม่ต้องเสียเวลากรอกนะคะ 2022/12/16 10:13:35 id=158 message=เหมือนเมื่อก่อนนี่ 2022/12/16 10:13:39 id=159 message=ต้องเขียนใส่กระดาษเลขบัตรประชาชนอะไร 2022/12/16 10:13:43 id=160 message=ที่อยู่ที่ไหน เบอร์โทรศัพท์อะไร เด๋ยวนี้ไม่้องเลย ขอแค่ม 2022/12/16 10:13:47 id=161 message=ข้อมูลทุกอย่างเราสามารถดึงขึ้นมาได้อยู่แล้วนะคะ 2022/12/16 10:13:51 id=162 message=อันนี้ก็เช่นเดียวกันถ้ากรอกข้อมูลแบบไม่ดีนี่ 2022/12/16 10:13:55 id=163 message=เราต้องกรอกข้อมูลทุกช่องทุกช่องเลยนี่ 2022/12/16 10:13:59 id=164 message=คนเดียว ไม่เดือดร้อนค่ะ แต่ถ้าเป็พนักงานใหม่ 2022/12/16 10:14:03 id=165 message=เป็นเหมือนโรงงานน่ะค่ะ ทีละ 1,000 คน ต้องนั่ง 2022/12/16 10:14:07 id=166 message=กรอกเชียงใหม่เป็นพัน ๆ ครั้งนี่ เสียเวลา 2022/12/16 10:14:11 id=167 message=มาก ๆ นะคะ อันนี้คือการออกแบบที่ 2022/12/16 10:14:15 id=168 message=ไม่ดีนะคะ 2022/12/16 10:14:19 id=169 message=กับอีกอย่างหนึ่ง ถ้าสมมติว่า 2022/12/16 10:14:23 id=170 message=เมื่อกี้อาจารย์เพิ่มพนักงานแล้ว ถ้าอาจารย์อยากเพิ่มแค่สาขา 2022/12/16 10:14:27 id=171 message=นะคะ อยากเพิ่มแค่สาขา 2022/12/16 10:14:31 id=172 message=ซึ่งในตารางนี้ คีย์หลัก จำได้ไหมคะ 2022/12/16 10:14:35 id=173 message=จะเป็นคีย์ที่ขีดเส้นใต้ 2022/12/16 10:14:39 id=174 message=ซึ่งอาจารย์อยากเพิ่มสาขา สมมติอาจารย์เพิ่ม 2022/12/16 10:14:43 id=175 message=B100 สกลนคร 2022/12/16 10:14:47 id=176 message=สกลนครนะคะ เพิ่มได้ไหม 2022/12/16 10:14:51 id=177 message=อาจจะเป็นการตั้งสาขา แต่ยังไม่มีพนักงานหรอกนะคะ 2022/12/16 10:14:55 id=178 message=ถ้าจากตารางนี้นะคะ 2022/12/16 10:14:59 id=179 message=เราจะเพิ่มเฉพาะชื่อสาขาไม่ได้ เนื่องจากเรายังไม่มี 2022/12/16 10:15:03 id=180 message=รหัสพนักงาน เพราะรหัสพนักงานเป็นคีย์หลัก 2022/12/16 10:15:07 id=181 message=คีย์หลัก คือ คุณสมบัติมัน คือ เป็นค่าว่างไม่ได้ 2022/12/16 10:15:11 id=182 message=นะคะ อันนี้จะทำให้เราเพิ่ม 2022/12/16 10:15:15 id=183 message=สาขาไม่ได้ เพราะเราไม่มีพนักงาน อันนี้ก็เป็น 2022/12/16 10:15:19 id=184 message=ข้อผิดพลาดในการเพิ่มข้อมูล 2022/12/16 10:15:23 id=185 message=ถ้าเราออกแบบตารางแบบนี้นะคะ 2022/12/16 10:15:27 id=186 message=นี่ก็คือปัญญาที่เกิดขึ้นจากการออกแบบ 2022/12/16 10:15:31 id=187 message=ไม่ดี 2022/12/16 10:15:35 id=188 message=กับ 2022/12/16 10:15:39 id=189 message=ปัญหาต่อมา เป็นปัญหาการลบข้อมูลอย่างที่อาจารย์บอก 2022/12/16 10:15:43 id=190 message=คนนี้ลาออก สาขาเชียงใหม่ 2022/12/16 10:15:47 id=191 message=หายไปด้วยนะคะ โดน 2022/12/16 10:15:51 id=192 message=ลบไป กรณีความผิดพลาดจากการเปลี่ยนแปลง 2022/12/16 10:15:55 id=193 message=นะคะ เหมือน B003 นี่ค่ะ เป็นกรุงเทพฯ 2022/12/16 10:15:59 id=194 message=ใช่ไหมคะ แล้วคราวนี้ข้อมูลมันอยู่ใน 2022/12/16 10:16:03 id=195 message=ตารางเดียวกัน ถ้านักศึกษาจะแก้ สมมติว่าเราย้าย 2022/12/16 10:16:07 id=196 message=จากรุงเทพฯ ไปอยู่นนทบุรี 2022/12/16 10:16:11 id=197 message=สมมติมีพนักงาน 3,000 คน 2022/12/16 10:16:15 id=198 message=คุณต้องแก้กรุงเทพฯ 3000 ครั้ง 2022/12/16 10:16:19 id=199 message=เป็นนนทบุรีนะคะ 2022/12/16 10:16:23 id=200 message=ถ้าพนักงานมี คน 2 คน ไม่ใช้ปัญหาค่ะ แต่ถ้าเป็น 2022/12/16 10:16:27 id=201 message=โรงงานขนาดใหญ่ นั่งแก้ทีละ 3,000 คน ไม่ใช่เรื่องสนุกแน่ ๆ นะคะ 2022/12/16 10:16:31 id=202 message=แน่ ๆ นะคะ 2022/12/16 10:16:35 id=203 message=อันนี้ก็เป็นปัญหานะคะ 2022/12/16 10:16:39 id=204 message=เพราะฉะนั้นเราควรแยกตารางพนักงาน 2022/12/16 10:16:43 id=205 message=กับตารางสาขาออกจากกันนะคะ นี่คือเหตุผล 2022/12/16 10:16:47 id=206 message=ข้อมูลขนาดเล็กนะคะ เรายังเห็นปัญหาขนาดนี้ สมมติถ้า 2022/12/16 10:16:51 id=207 message=เป็นองค์กรขนาดใหญ่ เป็นบริษัท เป็นโรงงาน หรือ 2022/12/16 10:16:55 id=208 message=ระดับโรงเรียนมีนักเรียน 2-3 ร้อย หรือ 2-3 พันคน 2022/12/16 10:16:59 id=209 message=ก็ได้นะคะ มันก็จะมีปัญหาเยอะมาก ถ้าเกิดเราจัดตารางไม่ดี 2022/12/16 10:17:03 id=210 message=นะคะ 2022/12/16 10:17:07 id=211 message=จากปัญหาที่เกิดขึ้นเมื่อกี้อย่างที่บอกค่ะ 2022/12/16 10:17:11 id=212 message=เราจะแก้ปัญหาโดยการแยกหตารางเป็น 2 ตรชารางแบบนี้ 2022/12/16 10:17:15 id=213 message=นะคะ 2022/12/16 10:17:19 id=214 message=การขึ้นต่อกัน เดี๋ยว 2022/12/16 10:17:23 id=215 message=จะเป็นเกี่ยวกับตารางหนึ่งมีผลกับอีกตารางหนึ่ง เราเรียกฟังก์ชันที่มี 2022/12/16 10:17:27 id=216 message=การขึ้นต่อกัน 2022/12/16 10:17:31 id=217 message=เดี๋ยวดูตัวอย่างเลยแล้วกันนะคะ อย่างเช่น ตารางนี้ 2022/12/16 10:17:35 id=218 message=นะคะ ดูจากรหัสพนักงานนะคะ 2022/12/16 10:17:39 id=219 message=เราจะเห็นได้ว่ารหัสพนักงาน 2022/12/16 10:17:43 id=220 message=จะส่งผลกับชื่อตำแหน่ง 2022/12/16 10:17:47 id=221 message=สัญลักษณ์ของการขึ้นต่อกันนะคะ อันไหนเป็นตัวหลั 2022/12/16 10:17:51 id=222 message=จะชี้ไปที่ตัวรองตามหัวลูกศรเลย 2022/12/16 10:17:55 id=223 message=ดูทิศทางตามหัวลูกศรนะคะ อันไหน 2022/12/16 10:17:59 id=224 message=เป็นตัวหลักอันไหนเป็นตัวรองนะคะ 2022/12/16 10:18:03 id=225 message=อย่างเช่น ตัวนี้ 2022/12/16 10:18:07 id=226 message=ถามว่าตำแหน่งมาชี้ที่รหัส 2022/12/16 10:18:11 id=227 message=พนักงานได้ไหมนะคะ ถามว่าไม่ได้ 2022/12/16 10:18:15 id=228 message=นะคะ เพราะการขึ้นต่อกันจะต้องเป็นลักษณะ 1 ต่อ 1 2022/12/16 10:18:19 id=229 message=เท่านั้น นะคะ เป็น 2022/12/16 10:18:23 id=230 message=1 ต่อกลุ่ม ไม่ได้ 2022/12/16 10:18:27 id=231 message= 2022/12/16 10:18:31 id=232 message=ชนิดของการขึ้นต่อกัน 2022/12/16 10:18:35 id=233 message=นะคะ จะมีอยู่ 4 ชนิดนะคะ 2022/12/16 10:18:39 id=234 message=ชนิดแรกเป็นการขึ้นต่อกันโดยสมบูรณ์นะคะ 2022/12/16 10:18:43 id=235 message=ซึ่งอาจจะเป็นเกี่ยวกับ 2022/12/16 10:18:47 id=236 message=ตารางนะคะ จะมีคอลัมน์ 1 คอลัมน์ 2022/12/16 10:18:51 id=237 message=หรือมากกว่า 1 คอมลัมน์มาประกอบกัน โดยใน 1 ค่านั้น ๆ จะ 2022/12/16 10:18:55 id=238 message=บรรจุค่าที่ระบุความพิเศษ 2022/12/16 10:18:59 id=239 message=ความพิเศษของแถวแถวหนึ่งได้อย่างชัดเจนนะคะ 2022/12/16 10:19:03 id=240 message=ก็คือ Attribute Attribute 1 นี่ 2022/12/16 10:19:07 id=241 message=Record แถว ๆ นั้นนี่ จะมีลักษณะพิเศษอย่างไร 2022/12/16 10:19:11 id=242 message=นะคะ โดยในทุกความสัมพันธ์นี่จะต้อง 2022/12/16 10:19:15 id=243 message=ระบุค่าคีย์หลักไว้ด้วย ซึ่ง 2022/12/16 10:19:19 id=244 message=คียืหลักนี่คือเป็นค่าเอกลักษณ์ ไม่ซ้กกันอย 2022/12/16 10:19:23 id=245 message=นะคะ 2022/12/16 10:19:27 id=246 message=อย่างเช่นการขึ้นต่อกันโดยสมบูรณ์ 2022/12/16 10:19:31 id=247 message=อันแรกนะคะ Attribute ที่... 2022/12/16 10:19:35 id=248 message=จำได้ใช่ไหมคะ คีย์หลักจ 2022/12/16 10:19:39 id=249 message=ที่มีขีดเส้นใต้นะคะ 2022/12/16 10:19:43 id=250 message=คอลัมน์ที่ไม่ใช่คีย์หลักจะขึ้นตรง 2022/12/16 10:19:47 id=251 message=ต่อคอลัมน์ที่เป็นคีย์หลักคอลัมน์เดียวเท่านั้น 2022/12/16 10:19:51 id=252 message=เช่น เลขบัตรประชาชนตัวนี้ 2022/12/16 10:19:55 id=253 message=จะขึ้น จะเป็นเจ้าของชื่อนี้เท่านั้นนะคะ 2022/12/16 10:19:59 id=254 message=เพราะฉะนั้นการขึ้นต่อกันโดยสมบูรณ์ จะเป็น 2022/12/16 10:20:03 id=255 message=แบบ 1 ต่อ 1 นะคะ เลขบัตรประชาชน 1 เลข 2022/12/16 10:20:07 id=256 message=จะต้องเป็นของคน ๆ เดียวเท่านั้น 2022/12/16 10:20:11 id=257 message=ไม่ใช่ว่าเลขบัตรประชาชนนี้ใช้ 10 คน เป็นไปไม่ได้นะคะ 2022/12/16 10:20:15 id=258 message= 2022/12/16 10:20:19 id=259 message=ตัวอย่าง 2022/12/16 10:20:23 id=260 message=นะคะ ตารางที่มีคอลัมน์ 2022/12/16 10:20:27 id=261 message=หลายตัวนะคะ ขึ้นอยู่กับคีย์หลักตัวเดียว เช่น คน 1 คนนี่ 2022/12/16 10:20:31 id=262 message=ข้อมูล ชื่อ นามสกุล วันเกิด ปีเกิด วันที่ทำบัตร ใช่ไหมคะ 2022/12/16 10:20:35 id=263 message=แต่ว่าเขาจะต้องขึ้นตรงกับเลขบัตรประชาชนเดียว 2022/12/16 10:20:39 id=264 message=เท่านั้น ถามว่า 3 คนนี้ อาจจะเกิดวันเดียวกันก็ได้ค่ะ 2022/12/16 10:20:43 id=265 message=ก็ได้ค่ะ แต่เลขบัตรประชาชนเขาไม่เหมือนกัน 2022/12/16 10:20:47 id=266 message=หรือเขาอาจจะมาทำบัตรวันเดียวกัน 2022/12/16 10:20:51 id=267 message=แต่เลขบัตรประชาชนเขาจะไม่ซ้ำกัน 2022/12/16 10:20:55 id=268 message=นะคะ คืออะไรซ้ำกันได้ทุกอย่างค่ะ ยกเว้นหมายเลข 2022/12/16 10:20:59 id=269 message=บัตรประชาชน 2022/12/16 10:21:03 id=270 message= 2022/12/16 10:21:07 id=271 message=แต่ 2022/12/16 10:21:11 id=272 message=บางตารางนะคะ ก็อาจจะเป็นการ 2022/12/16 10:21:15 id=273 message=รวมตัวกันของคีย์หลักมากกว่า 1 คีย์หลักนะคะ 2022/12/16 10:21:19 id=274 message=มารวมกันเช่น นักศึกษา 2022/12/16 10:21:23 id=275 message=คนนี้นะคะ รหัสนักศึกษานี้ 2022/12/16 10:21:27 id=276 message=ลงทะเบียนวิชานี้นะคะ ได้เกรด 2022/12/16 10:21:31 id=277 message=อะไรนะคะ อันนี้ก็เป็นความสัมพันธ์ที่เกิดขึ้นได้เหมือนกัน ถามว่ารหัสนั 2022/12/16 10:21:35 id=278 message=ซ้ำกันได้ไหม ไม่ซ้ำนะคะ 2022/12/16 10:21:39 id=279 message=รหัสวิชาซ้ำกันได้ไหม ไม่ซ้ำนะคะ เหมือนชื่อ 2022/12/16 10:21:43 id=280 message=วิชาอาจารย์ก็รหัสหนึ่ง 2022/12/16 10:21:47 id=281 message=ชื่ออาจารย์คนอื่น ก็รหัสวิชาอีกอันหนึ่ง อันนี้ไม่ซ้ำกันอยู่แล้ว 2022/12/16 10:21:51 id=282 message=ต่อมา 2022/12/16 10:21:55 id=283 message=ขึ้นต่อกันบางส่วน มันก็จะเป็น 2022/12/16 10:21:59 id=284 message=อาศัยความสัมพันธ์ที่เกิดขึ้นจาก 2022/12/16 10:22:03 id=285 message=คีย์ผสมนะคะ อาจจะเป็นตารางอื่น 2022/12/16 10:22:07 id=286 message=อาจจะไม่ใช่คีย์หลักก็ได้แต่มันมี 2022/12/16 10:22:11 id=287 message=ความหมายกับอีกคอลัมน์หนึ่งนะคะ เดี๋ยวยกตัวอย่างเลยดีกว่า 2022/12/16 10:22:15 id=288 message=นะคะ 2022/12/16 10:22:19 id=289 message=อย่างเช่น เมื่อตารางที่อาจารย์ให้ดูเมื่อกี้นะคะ มีรหัสนักศึกษา 2022/12/16 10:22:23 id=290 message=วิชา มีเกรดแล้วก็มีการบอกด้วยว่า 2022/12/16 10:22:27 id=291 message=รหัววิชานี้เป็นชื่อวิชาอะไร 2022/12/16 10:22:31 id=292 message=นะคะ มันจะเป็น 2022/12/16 10:22:35 id=293 message=การเกิดขึ้น เมื่อคีย์หลักประกอบกันด้วยคอลัมน์หลาย Attribute รวมกัน 2022/12/16 10:22:39 id=294 message=โดยบางส่วนของคีย์หลัก 2022/12/16 10:22:43 id=295 message=สามารถไประบุค่า Attribute อื่น 2022/12/16 10:22:47 id=296 message=ที่ไม่ใช่คีย์หลักได้นะคะ อย่างเช่น 2022/12/16 10:22:51 id=297 message=ในความสัมพันธ์นี้ คีย์หลักจะมี 2 ตัว มีรหัสนักศึกษา 2022/12/16 10:22:55 id=298 message=กับรหัสวิชานะคะ 2022/12/16 10:22:59 id=299 message=ถามว่าถ้า 2022/12/16 10:23:03 id=300 message=มีแต่รหัสนักศึกษา เกรด 2022/12/16 10:23:07 id=301 message=นะคะ รหัสวิชา แล้วเราจะรู้ไหมว่าชื่อวิชาที่เรา 2022/12/16 10:23:11 id=302 message=เรียนไปนี่ ชื่อวิชาอะไร 2022/12/16 10:23:15 id=303 message=นะคะ เหมือนบางคน 2022/12/16 10:23:19 id=304 message=รู้รหัสวิชา แต่จำชื่อวิชาไม่ได้ก็มี 2022/12/16 10:23:23 id=305 message=เพราะฉะนั้น รหัสวิชานี่ ก็สามารถไปส่งผลกับชื่อวิชา 2022/12/16 10:23:27 id=306 message=เหมือนกันเพราะเป็นตัวระบุว่ารหัสวิชานี้ เป็น 2022/12/16 10:23:31 id=307 message=ชื่อวิชาอะไรนะคะ ก็คือคีย์หลักในตารางนี้ 2022/12/16 10:23:35 id=308 message=มี 2 อัน แต่มีคีย์หลัก 1ตัวนี้ แต่ 2022/12/16 10:23:39 id=309 message=ไปมีผลกับอีก Attribute หนึ่งได้นะคะ อันนี้คือการ 2022/12/16 10:23:43 id=310 message=ขึ้นต่อกันบางส่วน 2022/12/16 10:23:47 id=311 message=นะคะ อย่างเช่นตัวนี้ 2022/12/16 10:23:51 id=312 message=ก็จะเป็นของจริง ถ้าสมมติว่าอาจาย์ตัดรห 2022/12/16 10:23:55 id=313 message=ออก มีแค่รหัสวิชา มีเกรด มีชื่อวิชาดารเขียนโปปรแกรม 2022/12/16 10:23:59 id=314 message=แล้วถาม รู้ไหมคะ ว่าเกรด A นี้ของใคร 2022/12/16 10:24:03 id=315 message=ไม่รู้นะคะ 2022/12/16 10:24:07 id=316 message=หรือว่า เดี๋ยวลบอันนี้ออกก่อนนะ 2022/12/16 10:24:11 id=317 message=หรือว่าอาจารย์ลบรหัส 2022/12/16 10:24:15 id=318 message=วิชาออก เหลือแต่นักศึกษา 2022/12/16 10:24:19 id=319 message=เหลือเกรด เหลือชื่อวิชา แล้วถามว่า 2022/12/16 10:24:23 id=320 message=แล้วรหัสวิชาอะไรล่ะ 2022/12/16 10:24:27 id=321 message=ที่เราได้เกรด A เราก็ไม่ทราบอีกเหมือนกันนะคะ อันนี้คือ 2022/12/16 10:24:31 id=322 message=การขึ้นต่อกันบางส่วนนะคะ 2022/12/16 10:24:35 id=323 message= 2022/12/16 10:24:39 id=324 message=ตัวอย่างนะคะ 2022/12/16 10:24:43 id=325 message=ต่อมา เป็นการขึ้นต่อกันแบบส่งต่อนะคะ ก็จะเป็นความสัมพันธ์ 2022/12/16 10:24:47 id=326 message=ที่เกิดขึ้นก็ต่อเมื่อ มี Attribute อื่น ๆ ที่ 2022/12/16 10:24:51 id=327 message=ไม่ใช่คีย์หลัก แต่ 2022/12/16 10:24:55 id=328 message=ไปสามารถขึ้น สามารถระบุค่า 2022/12/16 10:24:59 id=329 message=ของ Attribute ใน Record ได้นะคะ ซึ่งเป็นการออกแบบ 2022/12/16 10:25:03 id=330 message=ไม่เหมาะสม นะคะ 2022/12/16 10:25:07 id=331 message=เพราะส่วนใหญ่แล้วในตารางนี่ ถ้า 2022/12/16 10:25:11 id=332 message=จะระบุค่าอื่นให้คอลัมนือื่นได้ ก็ 2022/12/16 10:25:15 id=333 message=ควรจะต้องเป็นคีย์หลักเท่านั้นนะคะ 2022/12/16 10:25:19 id=334 message=ดูตัวอย่างนะคะ 2022/12/16 10:25:23 id=335 message=เช่น ตารางนี้เขาบอกว่าสิ่งที่เกิดขึ้น คือ 2022/12/16 10:25:27 id=336 message=Attribute ก็คือคอลัมน์ที่ไม่ใช่คีย์หลัก หรือPrimary Key 2022/12/16 10:25:31 id=337 message=นะคะ ก็คือไม่คอลัมน์ที่มีเส้นขีดนี่ มันไประบุค่าในคอม 2022/12/16 10:25:35 id=338 message=ได้เช่น ตารางนี่คีย์หลักก็คือเลขที่ประจำตัว 2022/12/16 10:25:39 id=339 message=นะคะ โดยเลขประจำตัวนี้จะไป 2022/12/16 10:25:43 id=340 message=มีผลกับชื่อ นามสกุล ที่อยู่ ตำแหน่ง 2022/12/16 10:25:47 id=341 message=ใช่ไหมคะ แต่คราวนี้ รถประจำตำแหน่ง 2022/12/16 10:25:52 id=342 message=มันไม่ถูกระบุโดยเลขประจำตัว 2022/12/16 10:25:56 id=343 message=มันถูกระบุโดยรหัสตำแหน่ง 2022/12/16 10:26:00 id=344 message=เหมือนถ้าเป็นผู้จัดการนี่ 2022/12/16 10:26:04 id=345 message=จะรู้เลยว่ารถประจำตำแหน่งคืออะไร แต่เขาไปเช็กเลข 2022/12/16 10:26:08 id=346 message=แทนที่จะเช็กกับเลขประจำตัว อันนี้ 2022/12/16 10:26:12 id=347 message=คือการออกแบบที่ไม่ดี 2022/12/16 10:26:16 id=348 message=เพราะฉะนั้น ถ้าจะให้รถประจำตำแหน่ง 2022/12/16 10:26:20 id=349 message=วิธีการแก้ปัญหา ก็คือเราควรจะแยกตาราง 2022/12/16 10:26:24 id=350 message=นี้ ออก 2022/12/16 10:26:28 id=351 message=ไปสร้างตารางใหม่เลยค่ะ มันไม่ควรจะไปขึ้นกับตาราง 2022/12/16 10:26:32 id=352 message=ที่มีคีย์หลัก 2022/12/16 10:26:36 id=353 message=แต่ไม่สามารถระบุค่าข้อมูลตรงนี้ได้นี่ 2022/12/16 10:26:40 id=354 message=นะคะ 2022/12/16 10:26:44 id=355 message=กับต่อมาเป็นการขึ้นต่อกันเชิงกลุ่ม 2022/12/16 10:26:48 id=356 message=นะคะ ก็จะเป็นความสัมพันธ์ 2022/12/16 10:26:52 id=357 message=ระหว่างคอลัมน์ หรือ Attribute นี่ คือ ขึ้นต่อกันโดยสมบูรณ์นะคะ 2022/12/16 10:26:56 id=358 message=ก็ไปสามารถไประบุค่าอื่นได้ 2022/12/16 10:27:00 id=359 message=โดยที่อย่างเช่นตัวอย่างนะคะ 2022/12/16 10:27:04 id=360 message=ในตารางนี้นะคะ จะมีรหัส 2022/12/16 10:27:08 id=361 message=หลักสูตร สามารถระบุรหัสวิชาได้หลายวิชา เช่น 2022/12/16 10:27:12 id=362 message=ในรหัสนักศึกษาจะได้เห็นได้ว่ามีเลข 2022/12/16 10:27:16 id=363 message=122 2022/12/16 10:27:20 id=364 message=เป็นรหัสนักศึกษา 122 คืออะไร 2022/12/16 10:27:24 id=365 message=ก็คือหลักสูตรที่เราเรียนอยู่นะคะ 2022/12/16 10:27:28 id=366 message=ซึ่งในหลักสูตรที่เราเรียนนี่ มันมี 2022/12/16 10:27:32 id=367 message=วิชามากกว่า 20 วิชา 2022/12/16 10:27:36 id=368 message=นะคะ นั่นก็คือในรหัสหลักสูตรนี่ 2022/12/16 10:27:40 id=369 message=มันสามารถระบุหรัสวิชาได้หลากหลาย 2022/12/16 10:27:44 id=370 message=นะคะ อันนี้ก็คือ 2022/12/16 10:27:48 id=371 message=การขึ้นต่อกันแบบมีค่ามากกว่า 1 2022/12/16 10:27:52 id=372 message=นะคะ รหัสหลักสูตร สามารถระบุรหัสวิชาได้หลายค่า 2022/12/16 10:27:56 id=373 message=นั่นเองนะคะ แล้วรหัสหลักสูตร ก็สามารถระบุค่า 2022/12/16 10:28:00 id=374 message=รหัสนักศึกษษได้หลายคนเช่นเดียวกัน 2022/12/16 10:28:04 id=375 message=เหมือนตอนนี้หลักสูตรที่เราเรียนนี่มีนักศึกษามากกว่า 100 คน 2022/12/16 10:28:08 id=376 message=แต่รหัสหลักสูตรเดียวนะ 2022/12/16 10:28:12 id=377 message=นะคะ นี่คือความสัมพันธ์แบบระบุค่าได้มากกว่า 1 นั่นเอง 2022/12/16 10:28:16 id=378 message=แบบหลายค่านะคะ 2022/12/16 10:28:20 id=379 message=เพราะฉะนั้น 2022/12/16 10:28:24 id=380 message=วิธีการแก้ปัญหาของสิ่งที่เกิดขึ้นนะคะ 2022/12/16 10:28:28 id=381 message=เราเลยจะต้องมีการ กระบวนการปรับบรรทัดฐาน 2022/12/16 10:28:32 id=382 message=โครงสร้างของ ที่มีความซ้ำซ้อนกัน 2022/12/16 10:28:36 id=383 message=ให้อยู่ในรูปแบบที่เป็นบรรทัดฐาน เป็นรูปแบบ 2022/12/16 10:28:40 id=384 message=ที่พร้อมที่จะเอาไปพัฒนาเป็นฐานข้อมูลได้ 2022/12/16 10:28:44 id=385 message=นะคะ โดยหลักการนะคะ อย่างที่บอก มี 5 ระดับ 2022/12/16 10:28:48 id=386 message=แต่ในระดับที่ 3 นี่ ก็เพียงพอสำหรับการออกแบบฐานข้อมูลในปัจจุบัน 2022/12/16 10:28:52 id=387 message=แล้วนะคะ โดย 2022/12/16 10:28:56 id=388 message=คีย์หลักของการทำงานนะคะ 2022/12/16 10:29:00 id=389 message=ขั้นที่ 1 นะคะ กำจัดกลุ่มของข้อมูลมีความซ้ำซ้อนกันออกไป 2022/12/16 10:29:04 id=390 message=ข้อแรกง่ายมาก ๆ 2022/12/16 10:29:08 id=391 message=ง่ายที่สุด ก็คือ 1NF นะคะ 2022/12/16 10:29:12 id=392 message=ต่้อมา ข้อที่ 2 หรือ 2 NF นะคะ 2022/12/16 10:29:16 id=393 message=จะกำจัดการขึ้นต่อกันบางส่วนออก 2022/12/16 10:29:20 id=394 message=นะคะ ขั้นสุดท้าย 2022/12/16 10:29:24 id=395 message=3NF นะคะ กำจัดการขึ้นต่อกันของ Attribute 2022/12/16 10:29:28 id=396 message=ที่ไม่ใช่คีย์หลักนะคะ เดี๋ยวจะมาดู 2022/12/16 10:29:32 id=397 message=ทีละขั้น ว่ามันจะต้องเป็นอย่างไรบ้างนะคะ 2022/12/16 10:29:36 id=398 message=ข้อแรกง่ายที่สุด ง่ายมาก ๆ นะคะ 2022/12/16 10:29:40 id=399 message=ให้นักศึกษาจำ 2022/12/16 10:29:44 id=400 message=กระบวนการหลัก ๆ ก็จะมี 3 ข้อนะคะ 2022/12/16 10:29:48 id=401 message=ดูก่อน ว่าข้อมูลมันซ้ำซ้อนกันไหม ขั้นที่ 2 ก็ดู 2022/12/16 10:29:52 id=402 message=มันขึ้นต่อกันแค่บางส่วนหรือเปล่านะคะ ขั้นที่ 3 2022/12/16 10:29:56 id=403 message=ค่าอันไหนไม่ใช่คีย์หลัก แต่มันไปส่งผลกระทบ 2022/12/16 10:30:00 id=404 message=กับข้อมูลอื่นได้หรือเปล่านะคะ 2022/12/16 10:30:04 id=405 message=ดูขั้นตอนที่ 1 ก่อนนะคะ ขั้นต้อนที่ 1 ง่ายมาก 2022/12/16 10:30:08 id=406 message=นะคะ ทุก ๆ คอลัมน์ 2022/12/16 10:30:12 id=407 message=หรือ Attribute ในแต่ละ Record จะต้องเป็นค่า Single Value 2022/12/16 10:30:16 id=408 message=มีค่าเดียวเท่านั้นนะคะ จะใส่แบบนี้ 2022/12/16 10:30:20 id=409 message=ไม่ได้ เพราะฉะนั้น ข้อมูลทุกแถวจะต้องมีค่าที่ไม่ซ้ำกัน 2022/12/16 10:30:24 id=410 message=อย่างตัวนี้ นักศึกษาคนที่ 1 2022/12/16 10:30:28 id=411 message=1 เทอมนี้คุณลงทะเบียนประมาณ 6-7 วิชา 2022/12/16 10:30:32 id=412 message=ใช่ไหมคะ ข้อมูลมันก็จะเป็นแบบนี้ 2022/12/16 10:30:36 id=413 message=ถ้าเราไม่มีการทำ Normalization 2022/12/16 10:30:40 id=414 message=แต่คราวนี้ขั้นตอนที่ 1 เราจะ 2022/12/16 10:30:44 id=415 message=ตัดข้อมูลที่ซ้ำซ้อนกันออก วิธีการง่ายมากค่ะ 2022/12/16 10:30:48 id=416 message=คือแยกข้อมูลออกเป็นอย่างละแถวที่ไม่ซ้ำกัน 2022/12/16 10:30:52 id=417 message=ดูตัวอย่างนะคะ วิธี 2022/12/16 10:30:56 id=418 message=การทำ 1 NF ง่ายมากค่ะ ถ้า 2022/12/16 10:31:00 id=419 message=คนที่ 1 ลงวิชา... ลงทะเบียนเรียน 3 วิชาใช่ไหมคะ 2022/12/16 10:31:04 id=420 message=คนที่ 2 มี 2 วิชา สามารถทำ 2022/12/16 10:31:08 id=421 message=ในรูปแบบ 1NF ก็คือเอามากระจายออกมาค่ะ เอาข้อมูล 2022/12/16 10:31:12 id=422 message=พวกนี้ออกมา กระจายออกเห็นไหมคะ กระจายออก 2022/12/16 10:31:16 id=423 message=1NF ง่ายมากนะคะ 2022/12/16 10:31:20 id=424 message=ข้อมูลพวกนนี้ก็ทำซ้ำลงมา ทำซ้ำลงมา 2022/12/16 10:31:24 id=425 message=ทำซ้ำลงมานะคะ ทำซ้ำลงมา 2022/12/16 10:31:28 id=426 message=ถามว่า เอ้า อาจารย์คะ ทำไม 2022/12/16 10:31:32 id=427 message=มัน... แล้วทำไม 001 มันซ้ำกันได้ล่ะ นี่นั่นโน่น 2022/12/16 10:31:36 id=428 message=แตรหัสวิชาเขาไม่ซ้ำกัน 2022/12/16 10:31:40 id=429 message=เห็นไหมคะ 1 NF นี่ ง่ายมากค่ะ 2022/12/16 10:31:44 id=430 message=ข้อมูลถ้ามันเป็นก้อนอาจารย์นี้ เรากระจายมันออกเป็น 2022/12/16 10:31:48 id=431 message=บรรทัด ๆ เลย แค่นั้นเอง อย่าง 2022/12/16 10:31:52 id=432 message=น้อยในข้อสอบ ต้องทำ 1NF ให้ได้ 2022/12/16 10:31:56 id=433 message=เพราะมันง่ายที่สุดแล้วนะคะ 2022/12/16 10:32:00 id=434 message=อย่างเช่นตัวนี้นะคะ ก็กระจายออกมา 2022/12/16 10:32:04 id=435 message= 2022/12/16 10:32:08 id=436 message=แล้วคราวนี้ถ้าเรากระจายข้อมูล 2022/12/16 10:32:12 id=437 message=เรียบร้อยแล้วนะคะ ก็จะมาดูว่า อย่างในตารางนี้น่ะค่ะ เป็นตาราง 2022/12/16 10:32:16 id=438 message=เป็นของพนักงานใช่ไหมคะ 2022/12/16 10:32:20 id=439 message=เขาจะมีคีย์หลัก 1 ตัวแล้ว แต่ว่ามันยังมี 2022/12/16 10:32:24 id=440 message=ตัวนี้ค่ะ ตัวที่ 1 ตัวที่ 2 2022/12/16 10:32:28 id=441 message=ที่มีคุณสมบัติเป็นคีย์หลักได้ 2022/12/16 10:32:32 id=442 message=เราต้องแยกมันออก 2022/12/16 10:32:36 id=443 message=นะคะ กระบวนการ 2022/12/16 10:32:40 id=444 message=นะคะ ดูก่อนว่าตารางเมื่อกี้ 2022/12/16 10:32:44 id=445 message=นะคะ สิ่งที่ขึ้นตรงกับคีย์หลักตัวนี้นะคะ จะเป็นตัวที่ 1 ตัวที่ 2 2022/12/16 10:32:48 id=446 message=ตัวที่ 3 สังเกตแล้วว่าคีย์หลัก 2022/12/16 10:32:52 id=447 message=มีตัวเดียว แต่ข้อมูลมีเยอะมากนะคะ เราแยกออกมาได้ 2022/12/16 10:32:56 id=448 message=อันแรกเลย ก็จะมีรรหัส 2022/12/16 10:33:00 id=449 message=โพรเจกต์นะคะ ใครเป็นผู้จัดการ เงินเดือน 2022/12/16 10:33:04 id=450 message=เท่าไร ไม่ใช่สิ 2022/12/16 10:33:08 id=451 message=งบประมาณเท่าไรนะคะ อันนี้คือมันจะเชื่อมโยงกับข้อมูลที่เป็นคีย์หลัก 2022/12/16 10:33:12 id=452 message=ก้คือโพรเจกต์โค้ดตัวนี้นะคะ 2022/12/16 10:33:16 id=453 message=ส่วนตัวนี้ เป็น 2022/12/16 10:33:20 id=454 message=คีย์คู่แข่ง 2 ตัว 2022/12/16 10:33:24 id=455 message=นะคะ 2 ตัวนี่มันสามารถทำหน้าที่เป็นคีย์หลักให้ 2022/12/16 10:33:28 id=456 message=กับอย่างตัวนี้นะคะ มันจะเป็นคีย์หลัก 2022/12/16 10:33:32 id=457 message=ให้กับชื่อของพนักงาน อย่างตัวนี้ 2022/12/16 10:33:36 id=458 message=ก็จะเป็นคีย์หลักสำหรับชื่อแผนก 2022/12/16 10:33:40 id=459 message=นะคะ ถามว่ามันขึ้นตรงกับ Project Code ไหม 2022/12/16 10:33:44 id=460 message=ไม่นะคะ 2022/12/16 10:33:48 id=461 message=เพราะฉะนั้น การทำขั้นตอน 2022/12/16 10:33:52 id=462 message=ต่อมานะคะ 2 NF ขั้นตอนที่ 1 2022/12/16 10:33:56 id=463 message=เราจะต้องทำ 1NF มาเรียบร้อยแล้ว ง่ายมาก 2022/12/16 10:34:00 id=464 message=นะคะ แล้วก็ต้องมาตัดของการขึ้นบางส่วน 2022/12/16 10:34:04 id=465 message=ออกนะคะ ก็คือการกำจัด Attribute ที่ 2022/12/16 10:34:08 id=466 message=ไม่ขึ้นกับคีย์หลักของตารางนั้น ๆ นั่งเอง 2022/12/16 10:34:12 id=467 message=กำจัดออกนะคะ 2022/12/16 10:34:16 id=468 message=อย่างเช่นตัวนี้นะคะ การขึ้นต่อกัน 2022/12/16 10:34:20 id=469 message=บางส่วน จะเห็นได้ว่ารหัสวิชากับชื่อวิชา 2022/12/16 10:34:24 id=470 message=มันไม่ขึ้นตรงกับรหัสนักศึกษาใช่ไหมคะ จำได้ไหมคะ 2022/12/16 10:34:28 id=471 message=รูปเดิมนะคะ รูปเดิม 2022/12/16 10:34:32 id=472 message=วิธีกำจัดปัญหา 2022/12/16 10:34:36 id=473 message=เราก็ดึงสิ่งที่มันเป็นปัญหาค่ะ สิ่งที่มันไม่ขึ้นตรงกับคีย์หลักนั้น 2022/12/16 10:34:40 id=474 message=ตารางใหม่ สร้างตารางเพิ่ม 2022/12/16 10:34:44 id=475 message=นะคะ เอาสิ่งที่เป็นปัญหาออกมาไปใส่ตารางใหม่ 2022/12/16 10:34:48 id=476 message=กำหนดคีย์หลักใหม่นะคะ 2022/12/16 10:34:52 id=477 message=ในตารางเดิมนะคะ เราก็เอาคีย์หลักของตารางใหม่ 2022/12/16 10:34:56 id=478 message=ไปใส่แค่นั้นเองนะคะ 2022/12/16 10:35:00 id=479 message=วิธีการ ก็คือเหมือนรูปนี้นะคะ 2022/12/16 10:35:04 id=480 message=สิ่งที่เป็นปัญหาที่อาจารย์ยกตัวอย่าง 2022/12/16 10:35:08 id=481 message=กับชื่อวิชานะคะ เพราะรหัสวิชามันไม่ได้ 2022/12/16 10:35:12 id=482 message=ขึ้นตรงกับรหัสนักศึกษา 2022/12/16 10:35:16 id=483 message=นะคะ เพราะฉะนั้น ไอ้ 2 ตัวนี้คือสิ่ง 2022/12/16 10:35:20 id=484 message=ที่เป็นปัญหานะคะ วิธีแก้ปัญหาคือ 2022/12/16 10:35:24 id=485 message=เราสร้างตารางผลการเรียนใหม่ สร้างตารางวิชาใหม่ 2022/12/16 10:35:28 id=486 message=เห็นไหมคะ ในตารางใหม่เราจะตัดชื่อวิชาออก 2022/12/16 10:35:32 id=487 message=แต่ต้องเหลือ 2022/12/16 10:35:36 id=488 message=รหัสวิชาไว้ เพื่อให้ไปเชื่อมโยงว่า 2022/12/16 10:35:40 id=489 message=รหัสวิชานี้ มันชื่อวิชาอะไร จากอีกตารางหนึ่ง 2022/12/16 10:35:44 id=490 message=แค่นั้นเองนะคะ 2022/12/16 10:35:48 id=491 message=โอเคค่ะ 2022/12/16 10:35:52 id=492 message=อันนี้เป็นตัวอย่างของ 2022/12/16 10:35:56 id=493 message=การปรับบรรทัดฐาน ในรูปแบบของ 2NF นะคะ แต่เดี๋ยว 2 2022/12/16 10:36:00 id=494 message=อันนี้จะ 2022/12/16 10:36:04 id=495 message=ให้ทำเป็นการบ้าน เดี๋ยวค่อยย้อนกลับมาแล้วกันนะคะ เดี๋ยวค่อยย้อนมาสั่ง 2022/12/16 10:36:08 id=496 message=อันนี้เป็น 1NF นะคะ 2022/12/16 10:36:12 id=497 message=อันนี้ก็แก้แล้ว ตารางเมื่อกี้นะคะ ต่อมา 2022/12/16 10:36:16 id=498 message=ขั้นตอนสุดท้ายนะคะ 3NF 2022/12/16 10:36:20 id=499 message=นะคะ โดยความสัมพันธ์ 2022/12/16 10:36:24 id=500 message=นะคะ ก่อนที่จะเป็น 3NF ได้จะต้องเป็น 2NF 2022/12/16 10:36:28 id=501 message=หลักของการทำขั้นตอนที่ 3 คือ 2022/12/16 10:36:32 id=502 message=ต้องเอาความสัมพันธ์ที่ไม่ใช่คีย์หลักออก 2022/12/16 10:36:36 id=503 message=นะคะ เช่น ไม่ใช่คีย์หลักแต่ไปมี 2022/12/16 10:36:40 id=504 message=ผลกับคอลัมนือื่นไม่ได้นะคะ 2022/12/16 10:36:44 id=505 message=ไม่ได้ วิธีการแก้ปัญหา เช่นเดิมค่ะ 2022/12/16 10:36:48 id=506 message=สร้างตารางใหม่ขึ้นมาแก้ปัญหานั้น ๆ 2022/12/16 10:36:52 id=507 message=นะคะ อย่างเช่น 2022/12/16 10:36:56 id=508 message=ในตัวอย่างนะคะ หัสพนักงาน 2022/12/16 10:37:00 id=509 message=นะคะ ชื่อ สกุล รหัสแผนก เงินเดือน 2022/12/16 10:37:04 id=510 message=จะเห็นได้ว่าในตารางนี้ คีย์หลักก็คือรหัสพนักงาน 2022/12/16 10:37:08 id=511 message=นะคะ แต่มันมีรหัส 2022/12/16 10:37:12 id=512 message=แผนกกับชื่อแผนกติดมาด้วย ซึ่ง 2022/12/16 10:37:16 id=513 message=มันไม่ได้เกี่ยวกับรหัสพนักงานเลยนะคะ 2022/12/16 10:37:20 id=514 message=วิธีการแก้ปัญหาก็คือ เอารหัส 2022/12/16 10:37:24 id=515 message=แผนกกับชื่อแผนกไปสร้างตารางใหม่ 2022/12/16 10:37:28 id=516 message= 2022/12/16 10:37:32 id=517 message=แต่ต้องยังคงรหัสแผนกไว้ในตารางงานเดิมนะคะ 2022/12/16 10:37:36 id=518 message=เพื่อให้มันเชื่อมโยงได้ ไอ้แผนก 2022/12/16 10:37:40 id=519 message=A001 นี่คือแผนกอะไร 2022/12/16 10:37:44 id=520 message=นะคะ อันนี้คือการแก้ปัญหา ไม่ใช่คีย์หลัก 2022/12/16 10:37:48 id=521 message=แต่ไปส่งผลกับคอมลัมน์อื่นในตารางนะคะ 2022/12/16 10:37:52 id=522 message=อันนี้คือ 3 NF จริง ๆ แล้ว 2022/12/16 10:37:56 id=523 message=อยากให้ลองทำในห้องมากกว่า แต่ด้วยสัปดาห์นี้มันมีข้อกำจัดนะ ก็ 2022/12/16 10:38:00 id=524 message=ไม่เป็นไรนะคะ 2022/12/16 10:38:04 id=525 message=อันนี้เป็นตัวอย่าง 2022/12/16 10:38:08 id=526 message=นะคะ สรุปนะคะ 2022/12/16 10:38:12 id=527 message=วิธีการทำ Normalization หรือการปรับบรรทัดฐานนะคะ 2022/12/16 10:38:16 id=528 message=ก็คือ ทุก ๆ Attribute นะคะ ก็คือทุก ๆ คอลัมน์ 2022/12/16 10:38:20 id=529 message=ในแต่ละแถวจะต้องมีค่าของข้อมูลเพียงค่าเดียวเท่านั้น 2022/12/16 10:38:24 id=530 message=นะคะ อย่างเช่นเหมือนเวลาเรากรอกเบอรโทรศัพท์ 2022/12/16 10:38:28 id=531 message=เรามีโทรศัพท์ 3 เบอร์ก็จริง แต่เราจะกรอกได้เบอร์เดียว 2022/12/16 10:38:32 id=532 message=นะคะ ถ้าอยากใส่เบอร์ที่ 2 ที่ 3 ก็ต้อง 2022/12/16 10:38:36 id=533 message=เพิ่มข้อมูลแถวใหม่ขึ้นมานะคะ 2022/12/16 10:38:40 id=534 message=ต่อมา 2022/12/16 10:38:44 id=535 message=2NF นะคะ ก็ปัญหา ก็คือถ้า 2022/12/16 10:38:48 id=536 message=มีข้อมูลนะคะ ข้อมูลในทุกตัวในตารางนั้นจะต้องขึ้นก 2022/12/16 10:38:52 id=537 message=คีย์หลักของตารางตัวเดียวเท่านั้นนะคะ ข้อที่ 3 ถ้า 2022/12/16 10:38:56 id=538 message= 2022/12/16 10:39:00 id=539 message=ข้อที่ 3 ถ้าคอลัมน์ไหนที่ไม่ใช่คีย์หลัก 2022/12/16 10:39:04 id=540 message=นะคะ จะมาส่งผลกับคอลัมนือื่นในตาราง 2022/12/16 10:39:08 id=541 message=ไม่ได้นะคะ เพราะฉะนั้น ไอ้ตาราง ข้อ 1 ก็คือ 2022/12/16 10:39:12 id=542 message=แค่กระจายตาราง อันที่ 2 อันที่ 3 ถ้ามีปัญญาปุ๊บ 2022/12/16 10:39:16 id=543 message=เราต้องสร้างตารางใหม่ 2022/12/16 10:39:20 id=544 message=นะคะ 2022/12/16 10:39:24 id=545 message=การบ้าน เอาอย่างนี้ดีกว่านะคะ 2022/12/16 10:39:28 id=546 message=อาจารย์จะให้ทำน่าจะส่งวันนี้ 2022/12/16 10:39:32 id=547 message=เอาแค่ข้อเดียว 2022/12/16 10:39:36 id=548 message=นะคะ ข้อเดียว เพราะว่าจริง ๆ 2022/12/16 10:39:40 id=549 message=อยากให้ทำในห้อง เดี๋ยวสัปดาห์หน้าให้ทำในห้อง 2022/12/16 10:39:44 id=550 message=ที่เรียนไปวันนี้เข้าใจไหมนะคะ ถ้าทำเสร็จแล้ว 2022/12/16 10:39:48 id=551 message=ก็ค่อยเอามาส่งที่ตู้ส่งงานอาจารย์ เอาเฉพาะข้อนี้นะ 2022/12/16 10:39:52 id=552 message=ข้อเดียว 2022/12/16 10:39:56 id=553 message=ข้อเดียวพอ วันนี้ข้อเดียวพอนะคะ ส่งในเวลานี่ล่ะ 2022/12/16 10:40:00 id=554 message=ให้ลองทำดูว่าเข้าใจไหม ข้อนี้ให้ทำ 2022/12/16 10:40:04 id=555 message=1NF ทำ 1NF ทำอย่างไร ง่ายมาก ๆ เลย 2022/12/16 10:40:08 id=556 message=นะคะ อาจารย์เว้นช่องว่างให้แล้ว 2022/12/16 10:40:12 id=557 message=เติมมานะคะ 2 NF คุณ 2022/12/16 10:40:16 id=558 message=เห็นไหมว่า นี่มันมีรหัสวิชานี่ 2022/12/16 10:40:20 id=559 message=ชื่อวิชานี่ต้องทำอย่างไรกับมัน 2022/12/16 10:40:24 id=560 message=นะคะ แยกมันออกมาสิ 2022/12/16 10:40:28 id=561 message=แยกอย่างไรนะคะ เอาก้อนเดียวก่อน แล้วลองส่งมาให้อาจารย์ดู 2022/12/16 10:40:32 id=562 message=เข้าใจมากน้อยขนาดไหนนะคะ จริง ๆ 2022/12/16 10:40:36 id=563 message=อยากให้เรียนในห้องมากกว่า แต่วันนี้ก็เอาประมาณนี้ 2022/12/16 10:40:40 id=564 message=ก่อนแล้วกันนะคะ ให้ทุกคนหายดี 2022/12/16 10:40:44 id=565 message=กลับมา อาทิตย์หน้าค่อยเดินดูในห้องดีกว่านะคะ 2022/12/16 10:40:48 id=566 message=วันนี้ก็จะประมาณนี้นะคะ 2022/12/16 10:40:52 id=567 message=เดี๋ยวเวลาที่เหลือให้ทำข้อนี้แล้วมาส่งวันนี้เลยยิ่งดี 2022/12/16 10:40:56 id=568 message=นะคะ เวลาที่เหลือทำใส่กระดาษมาส่งอาจารย์ 2022/12/16 10:41:00 id=569 message=แล้วกันนะ ก็ประมาณนี้ค่ะ เวลาที่เหลือทำให้เสร็จภายในวันนี้ 2022/12/16 10:41:04 id=570 message=นะคะ ข้อเดียวเองนะคะ ข้อเดียว 2022/12/16 10:41:08 id=571 message=มีใครสงสัยไหมคะ ปุ๋ยสงสัย 2022/12/16 10:41:12 id=572 message=ไหม ปุ๋ยเปิดไมค์ได้เหลือเปล่า 2022/12/16 10:41:16 id=573 message=// ไม่มีค่ะอาจารย์ เดี๋ยวถ้าอย่างไร เดี๋ยว 2022/12/16 10:41:20 id=574 message=ให้อุบลไปส่ง อุบล 2022/12/16 10:41:24 id=575 message=กลับหอแล้วน่ะค่ะ (อาจารย์เกวลี) อ๋อ ส่วนมากอยู่ไหนกัน 2022/12/16 10:41:28 id=576 message=อยู่หอหรืออยู่ DSS 2022/12/16 10:41:32 id=577 message=ตอนนี้เหลืออยู่ DSS ประมาณ 4 คนค่ะ (อาจารย์เกวลี) 2022/12/16 10:41:36 id=578 message=ก็รวม ๆ เท่าไรได้ก็เอามา (นักศึกษาหญิง) ค่ะ ๆ ๆ 2022/12/16 10:41:40 id=579 message=(อาจารย์เกวลี) ก็ให้เด็กทำนั่นแหละ 2022/12/16 10:41:44 id=580 message=โอเค Thk you 2022/12/16 10:41:48 id=581 message=(อาจารย์เกวลี) ค่ะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณทุกคนมากนะคะ ที่ 2022/12/16 10:41:52 id=582 message=ตั้งใจเรียนกันอยู่ ถ้าใครทำเสร็จ 2022/12/16 10:41:56 id=583 message=ก็ทำให้เสร็จแล้วฝากเพื่อนมากส่ง รวมกันมาส่งก็ได้นะคะ 2022/12/16 10:42:00 id=584 message=ถ้าใครอยู่หอก็มาส่งที่ DSS ก็ได้ 2022/12/16 10:42:04 id=585 message=มาส่งที่โต๊ะอาจารย์ก็ได้นะคะ 2022/12/16 10:42:08 id=586 message=โอเคค่ะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณล่ามได้นะคะ 2022/12/16 10:42:12 id=587 message=ค่ะ ขอบคุณค่ะ 2022/12/16 10:42:16 id=588 message= 2022/12/16 10:42:20 id=589 message= 2022/12/16 10:42:24 id=590 message= 2022/12/16 10:42:28 id=591 message= 2022/12/16 10:42:32 id=592 message=ปุ๋ย 2022/12/16 10:42:36 id=593 message=วันนี้ครบนะ 2022/12/16 10:42:40 id=594 message=โอเค 2022/12/16 10:42:44 id=595 message= 2022/12/16 10:42:48 id=596 message= 2022/12/16 10:42:52 id=597 message= 2022/12/16 10:42:56 id=598 message= 2022/12/16 10:43:00 id=599 message= 2022/12/16 10:43:04 id=600 message= 2022/12/16 10:43:08 id=601 message= 2022/12/16 10:43:12 id=602 message= 2022/12/16 10:43:16 id=603 message= 2022/12/16 10:43:20 id=604 message= 2022/12/16 10:43:28 id=605 message= 2022/12/16 10:43:32 id=606 message= 2022/12/16 10:43:36 id=607 message= 2022/12/16 10:43:40 id=608 message= 2022/12/16 10:43:44 id=609 message= 2022/12/16 10:43:48 id=610 message= 2022/12/16 10:43:52 id=611 message= 2022/12/16 10:43:57 id=612 message= 2022/12/16 10:44:01 id=613 message= 2022/12/16 10:44:05 id=614 message= 2022/12/16 10:44:09 id=615 message= 2022/12/16 10:44:13 id=616 message= 2022/12/16 10:44:17 id=617 message= 2022/12/16 10:44:21 id=618 message= 2022/12/16 10:44:25 id=619 message= 2022/12/16 10:44:29 id=620 message= 2022/12/16 10:44:33 id=621 message= 2022/12/16 10:44:37 id=622 message= 2022/12/16 10:44:41 id=623 message= 2022/12/16 10:44:45 id=624 message= 2022/12/16 10:44:49 id=625 message= 2022/12/16 10:44:53 id=626 message= 2022/12/16 10:44:57 id=627 message= 2022/12/16 10:45:01 id=628 message= 2022/12/16 10:45:05 id=629 message= 2022/12/16 10:45:09 id=630 message= 2022/12/16 10:45:13 id=631 message= 2022/12/16 10:45:17 id=632 message= 2022/12/16 10:45:21 id=633 message= 2022/12/16 10:45:25 id=634 message= 2022/12/16 10:45:29 id=635 message= 2022/12/16 10:45:33 id=636 message= 2022/12/16 10:45:37 id=637 message= - 2022/12/16 10:45:37 end generate message.