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