ประมาณนี้นะคะ วันนี้จะเป็นบทที่ 5เกี่ยวกับกระบวนการการปรับบรรทัดฐานขาภาษาอังกฤษก็จะเป็นนกอะไร Season445555มันก็จะมีความหมายแล้วก็จุดประสงค์ของการทำการปรับมาตรฐานนะคะ แล้วก็จะเกี่ยวกับ121121212ฟังก์ชั่นการขึ้นต่อการและกระบวนการในการทำนมคาร์เนชั่นด้วยนะคะ มี 3 ข้อวันนี้454545โดยการประปาฐานนะคะ หรือว่านอนเมื่อไหร่แฟชั่นเนี่ยมันจะเป็นทฤษฎีที่คนที่จะต้องออกแบบฐานข้อมูลเขาจะต้องมาแปลงข้อมูลข้อมูลอาจจะเป็นข้อมูลที่ซับซ้อนนะคะ ให้มันง่ายเข้าใจก็ง่ายใช้งานก็ง่ายแล้วก็ต้องเป็นระบบที่หลังจากออกแบบแล้วนำไปใช้งานจริงต้องเกิดปัญหาน้อยที่สุดโดยกระบวนการทำงานนะคะ ในการปรับบรรทัดฐานเนี่ยfgfgfมันจะมี 3 ระดับจริง ๆ เราก็จะเรียกสั้น ๆ ว่าระดับแรกนึกว่า 1nfll122nf 3nfในระดับปริญญาตรีเนี่ยถึง 3ms ได้ก็ถือว่าเก่งมากแล้วนะคะ ถ้าเป็นระดับที่สูงขึ้นไปอีกก็จะถึงได้ถึง 5 nf เลยนะคะ อันนี้เป็นแผนภาพกระบวนการทำงานนะคะ ก่อนที่เราจะมาทำกระบวนการปรับบรรทัดฐานได้เนี่ยมันก็ต้องวิเคราะห์ความต้องการของผู้ใช้งานก่อนว่าเขาต้องการระบุการฐานข้อมูลแบบไหนมีความต้องการใช้ตารางกี่ตารางในฐานข้อมูลนะคะหลังจากนั้นวาดรูปแผนที่โรงเรียนอาทิตย์ที่แล้วนะคะว่าเป็นแผนภาพเพื่อให้เข้าใจว่าสิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลประมาณเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้องของข้อมูลข้อมูลเนี่ยนอกจากที่จะไม่เกิดความสอดคล้องกันแล้วเนี่ย11123123วันจันทร์อาจจะเกิดจากสาเหตุคือ1111112223333ถ้าเหมือนที่ตัดกระจกทุกอย่างก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่นักศึกษาเก็บข้อมูลที่คณะด้วยเก็บที่มหาลัยด้วยเก็บที่สาขาด้วยเนี่ยบางทีถ้าวันนึงคุณอาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้านก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลาแล้วคราวนี้ก็จะเป็นที่เถียงกันว่าสรุปแล้วเบอร์ไหนถูกเบอร์ไหนผิดโดยวัตถุประสงค์ของการปรับบรรทัดฐานก็คือข้อมูลจะถูกเก็บอยู่อย่างเดียวราคาเก็บไว้ที่เดียวแต่สามารถเรียกใช้และใช้งานได้หลาย ๆ ที่พร้อมกันได้แต่ถ้ามันมีการเปลี่ยนแปลงข้อมูลหรือมีการลบหรือการเพิ่มข้อมูลเพื่อให้ข้อมูลเป็นปัจจุบันที่สุดเราจะเก็บข้อมูลไว้ที่เดียว[เสียงหัวเราะ]แก้ไขก็ที่เดียวเพราะฉะนั้นข้อมูลก็จะเป็นข้อมูลที่ถูกต้องแล้วก็ปัจจุบันด้วยแล้วก็อย่างที่ใช้ในการเก็บข้อมูลที่เดียวเนี่ยมันก็จะลดความผิดพลาดที่เกิดจากการเปลี่ยนแปลงข้อมูลปรับปรุงข้อมูลนะคะ เหมือนที่บอกว่าคือถ้าเปลี่ยนเบอร์โทรศัพท์หรือเปลี่ยนบ้านเลขที่นะคะ ก็เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้พร้อมกันถ้าต้องการข้อมูลนะคะ ความซ้ำซ้อนกันของข้อมูลมันอาจจะเกิดความผิดพลาดของการปรับปรุงข้อมูลนะคะ แนวคิดที่สำคัญของการออกแบบฐานข้อมูลการออกแบบข้อมูลที่ซ้ำซ้อนกันน้อยที่สุดเพื่อประหยัดเนื้อที่ในการเก็บข้อมูลแล้วก็ลดปัญหาที่จะเกิดขึ้นถ้าสมมุติว่าข้อมูลมันซ้ำซ้อนกันมากเกินไปหรือปริมาณข้อมูลมันเยอะเกินไปอย่างเช่นตัวอย่างนะคะ ตารางด้านบนตารางสีเทาข้างบนจะเป็นตัวอย่างการออกแบบฐานข้อมูลที่ดีเดี๋ยวจะมาให้ดูว่าทำไมมันถึงดีกว่าในตารางข้างบนเนี่ยมันจะมีตารางของพนักงานแล้วก็ต่างสาขาจะเห็นได้ว่าตารางพนักงานจะมีส่วนหนึ่งที่เป็นข้อมูลของรหัสสาขาก้อยไม่อยู่ถามว่าทำไมไม่เอาข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะทำไมต้องแยกออกถ้าศึกษาดูคนแรกนะคะ พนักงานคนแรกรหัสสาขา b005ก็คือสาขาเชียงใหม่ถ้าสมมุติว่าพนักงานคนที่ 1 ลาออกก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ มีการลบข้อมูลบุคคลนี้หรอขีดฆ่าทิ้งฆ่าทิ้งสิ่งไหนที่หายไปบ้างแน่นอนสาขาเชียงใหม่จะหายไปด้วยถ้าสมมุติเราอยู่ด้วยกันแต่ถ้าสมมุติพนักงานคนนี้ลาออกสาขาเชียงใหม่ยังอยู่ไหมยังอยู่นะคะ ซึ่งแตกต่างจากด้านล่างด้านล่างเห็นไหมคำว่าถ้าสมมุติว่าจะลบทิ้งหมดเลยกากบาททิ้งสาขาเชียงใหม่หายไปด้วยแบบที่ไม่ดีเหมือนคนข้างล่างออกสาขาพิษณุโลกก็หายไปด้วยแต่ถ้าเป็นตารางด้านบนถ้าคนนี้ลาออกสาขายังอยู่ไหมยังอยู่เหมือนเดิมอันนี้คือการออกแบบฐานข้อมูลที่ดีถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อการเราจะต้องแยกตารางออกตัวอย่างนะคะ ถ้าการออกแบบที่ดีเนี่ยเราจะลดปัญหาความซ้ำซ้อนของข้อมูลได้เช่นตัวนี้อันนี้เป็นตารางที่ออกแบบที่ไม่ดีนะคะ เห็นไหมคะว่ามันจะมีรหัสสาขาแล้วก็ที่อยู่อยู่ในตารางเดียวกันถ้าสมมุติว่าอาจารย์เพิ่มรหัสหลักสูตรสามารถระบุรหัสวิชาได้หลายค่านั่นเอง111222แล้วรหัสหลักสูตรก็สามารถระบุค่ารหัสนักศึกษาได้หลายคนเช่นกันเหมือนตอนนี้หลักสูตรที่โรงเรียนศึกษาเกือบ 100 คนรหัสหลักสูตรเดียวนะนะคะ นี่คือความสัมพันธ์แบบสามารถระบุค่าได้มากกว่า 1 นั้นเองแบบไหนค่าเพราะฉะนั้นวิธีการแก้ปัญหาของสิ่งที่เกิดขึ้นนะคะ เราเลยจะต้องมีการกระบวนการปรับบรรทัดฐานหรือว่ากระบวนการปรับปรุงโครงสร้างของฐานข้อมูลนะคะ ที่มีความซ้ำซ้อนกันให้อยู่ในรูปแบบที่เป็นบรรทัดฐานก็คือเป็นรูปแบบที่พร้อมที่จะเอาไปพัฒนาเป็นฐานข้อมูลได้โดยหลักการนะคะที่บอกมี 5 ระดับแต่ระดับที่ 3 เนี่ยก็ถือว่าเพียงพอสำหรับการออกแบบฐานข้อมูลในปัจจุบันแล้วโดยกำจัดกลุ่มของข้อมูลที่มีความซ้ำซ้อนกันออกไป1213123ขอแลกง่ายมาก ๆ ง่ายที่สุดก็คือ 1 nf นะคะ ต่อมาครั้งที่ 2 อยู่ 2 nfจะกำจัดการขึ้นต่อกันบางส่วนออกอันสุดท้าย 3nf นะคะ กำจัดการขึ้นต่อกันของแอตทริบิวต์ที่ไม่ใช่ครีมเดี๋ยวจะมาดูทีละขั้นมันจะต้องเป็นยังไงบ้างคนแรกง่ายที่สุดง่ายมาก ๆ นะคะ ให้นักศึกษาจำกระบวนการหลัก ๆ จะมี 3 ข้อนะคะ ขั้นตอนการแรกเลยดูก่อนว่าคำซ้อนกันไหมคำที่ 2 คือมันขึ้นต่อกันแค่บางส่วนหรือเปล่าอันที่ 3 อันไหนไม่ใช่ครีมแต่มันไปส่งผลกระทบกับข้อมูลอื่นได้หรือเปล่าดูอันดับที่ 1 ก่อนวันที่ 1 ได้มากนะคะ ทุก ๆ คอลัมน์ akashic Recordsจะต้องเป็นค่า Single Value คือมีค่าเดียวเท่านั้นจะใส่แบบนี้ไม่ได้เพราะฉะนั้นข้อมูลทุกแถวจะต้องไม่มีค่าที่ซ้ำกันอย่างเนี้ยนักศึกษาคนที่ 1แน่นอนทั้ง 31 เทอมเนี่ยคุณลงทะเบียนประมาณ 6-7 วิชาใช่ไหมคะ ข้อมูลมันก็จะเป็นแบบนี้ถ้าเราไม่มีการทำน้ำทะเลสั้นคราวนี้ขั้นตอนที่ 1เราจะข้อมูลที่ซ้ำซ้อนกันออกวิธีการง่ายมากค่ะคือแจ้งข้อมูลออกเป็นอย่างละแถวที่ไม่ซ้ำกันดูตัวอย่างนะคะ 111222333วิธีการทำ 1 n f ง่ายมากค่ะ ถ้าข้อมูลตัวไหนเป็นกลุ่มนะคะ คนที่ 1 วิชาลงทะเบียนเรียน 3 วิชาใช่ไหมคะ คนที่ 2 มี 2 วิชาสามารถทำในรูปแบบ 1nf ก็คือเอามันจะตายออกมาค่ะ ย้ายข้อมูลพรุ่งนี้ออกมากระต่ายออกใช่ไหมคะ กระจายออกง่ายมากข้อมูลพรุ่งนี้ก็ทำซ้ำลงมาทำซ้ำลงมาสำโรงมาทำซ้ำลงมาถามว่าอ้าวตาเขาทำไมทำไม 001 มันซ้ำกันได้ล่ะแต่รหัสวิชาเขาไม่ซ้ำกันเห็นไหมค่ะ เด็ก ๆ เลยง่ายมากค่ะ ข้อมูลทำไมเป็นก้อนอย่างนี้เรากระจายออกมาเป็นแยกออกมาเป็นบรรทัดบรรทัดเลยแค่นั้นเองอย่างน้อยในข้อสอบต้องทำเน็ตให้ได้มันง่ายที่สุดแล้วนะคะ ไม่ใช่ตัวนี้นะคะ ก็กระจายออกมาแล้วคราวนี้ถ้าเรากระจายข้อมูลเรียบร้อยแล้วนะคะ ว่าจะมาดูว่าในตารางนี้ค่ะ มันมีตารางของพนักงานใช่ไหมคะ เขาจะมีคีย์หลัก 1 ตัวละแปลว่ามันจะมีตัวนี้ค่ะ ตัวที่ 1 ตัวที่ 2 ที่มีคุณสมบัติเป็นคีย์หลักได้เราต้องแยกมันออกควรการนะคะ ดูก่อนว่าตารางวิธีนะคะสิ่งที่ขึ้นตรงกับคีย์หลักตัวนี้นะคะก็จะเป็นตัวที่ 1 ตัวที่ 2 ตัวที่ 3สังเกตเราว่าที่รักมีตัวเดียวข้อมูลมีเยอะมากนะคะออกมาได้อันแรกเลยรหัส123456โปรเจคนะคะ แล้วก็ชื่อโปรเจคนะคะ ใครเป็นผู้จัดการเงินเดือนเท่าไหร่งบประมาณเท่าไหร่คือมันจะเชื่อมโยงกับข้อมูลที่เป็นคีย์หลักก็คือ Project Code วันนี้ส่วนตัวนี้เป็นคีย์คู่แข่ง2 ตัว2 ตัวฉันสามารถทำหน้าที่เป็นคีย์หลักให้กับอย่างตัวนี้นะคะ มันจะเป็นคีย์หลักให้กับชื่อของพนักงานอย่างตัวนี้ว่าจะเป็นคีย์หลักสำหรับชื่อแผนกถามว่ามันขึ้นตรงกับโปรเจค Code ไหมไม่นะคะ ฉะนั้นการทำขั้นตอนต่อมานะคะ ส่ง EMSขั้นตอนที่ 1เราจะต้องทำ 1 f มาเรียบร้อยแล้วซึ่งได้ทักมาแล้วก็ต้องมาบัตรของการขึ้นต่อกันบางส่วนออกก็คือการกำจัดบิวตี้ไม่ขึ้นคีย์หลักของตารางนั้นเองจะออกนะคะ อย่างเช่นตัวนี้นะคะ การขึ้นต่อกันบางส่วนจะเห็นได้ว่ารหัสวิชากับชื่อวิชามันไม่ขึ้นตรงกับรหัสนักศึกษาใช่ไหมคะ นี้จำได้นะลูกเดิมหารูปเดิมวิธีกำจัดปัญหาเราก็ดึงสิ่งที่มันเป็นปัญหาสิ่งที่มันไม่ขึ้นตรงกับคีย์หลักตัวนั้นไปสร้างตารางใหม่สร้างตารางเพิ่มเอาสิ่งที่เป็นปัญหาออกมาไปใส่ตารางใหม่กำหนดคีย์หลักใหม่ในตารางเดิมนะคะ เราก็เอาคีย์หลักของตารางใหม่ไปใส่แค่นั้นเองวิธีการก็คือรูปนี้นะคะสิ่งที่เป็นปัญหาที่จะยกตัวอย่างคือรหัสวิชาชิชาเพราะรหัสวิชามันไม่ได้ขึ้นตรงกับรหัสนักศึกษาสร้างตารางวิชาใหม่เห็นไหมคะตารางใหม่เราจะตัดชื่อวิชาออกแต่ต้องเหลือรหัสวิชาไว้เพื่อให้เชื่อมโยงว่ารหัสวิชานี้มันชื่อวิชาอะไรตาราง 1แค่นั้นเองนะคะ ดีค่ะ อันนี้เป็นตัวอย่างของการสารในรูปแบบของส่ง EMSเดี๋ยววันนี้จะให้ทำการบ้านเดี๋ยวค่อยย้อนกลับมาแล้วกันนะคะ สอนภาษาเดี๋ยวแก้แล้วตาเมื่อกี้นะคะ ขั้นตอนสุดท้ายนะคะ 3nfนะคะ โดยความสัมพันธ์นะคะ ก่อนที่จะทำเป็นสามเณรได้จะต้องทำ 2 อย่างนี้มาก่อนหลักของการทำขั้นตอนที่ 3 คือต้องเอาความสัมพันธ์ที่ไม่ใช่คีย์หลักออกนะคะ เช่นไม่ใช่คีย์หลักแต่ไม่มีผลกับคนอื่นไม่ได้นะคะ ไม่ได้วิธีการแก้ปัญหาเช่นเดิมค่ะ สร้างตารางใหม่ขึ้นมาแก้ปัญหานาน ๆ อย่างเช่นในตัวอย่างนะคะ รหัสพนักงานนะคะ ชื่อสกุลรหัสแผนกชื่อแผนกเงินเดือนจะเห็นได้ว่าในตารางนี้เนี่ยคีย์หลักก็คือรหัสพนักงานวันนี้รหัสแผนกกับชื่อแผนกติดมาด้วยซึ่งมันไม่ได้เกี่ยวกับรหัสพนักงานเลยวิธีการแก้ปัญหาก็คือเอารหัสแผนกชื่อแผนกไปสร้างตารางใหม่แต่ต้องยังคงรหัสแผนกไว้ตารางเดิมนะคะ เพื่อให้มันเชื่อมโยงได้ว่าไอ้แผนก a001 เนี่ยคือแผนกอะไรอันนี้คือการแก้ปัญหาไม่ใช่คีย์หลักแต่ไปส่งผลกับคอลัมน์อื่น ๆ ในตารางนะคะ เ***จริง ๆ แล้วอยากให้ลองทำในห้องมากกว่าแต่ด้วยสัปดาห์นี้มันมีข้อจำกัดเนาะก็ไม่เป็นไรนี้เป็นตัวอย่างนะคะ สรุปนะคะ วิธีการทำนกในชาติหรือว่าการปรับบรรทัดฐานนะคะ ทุกๆที่ทุกๆคนร่ำในแต่ละแถวจะต้องมีค่าของข้อมูลเพียงค่าเดียวเท่านั้นเช่นเวลาเรากรอกเบอร์โทรศัพท์เรามีโทรศัพท์ 3 เบอร์ก็จริงแต่เราจะกรอกได้แค่เบอร์เดียวถ้าอยากใส่เบอร์ที่ 2 ที่ 3 ก็ต้องเพิ่มข้อมูลแถวใหม่ขึ้นมาตอบมา2 SFก็ปัญหาคือถ้ามีข้อมูลนะคะ ขอข้อมูลทุกตัวในตารางนั้นจะต้องขึ้นกับคีย์หลักของตารางตัวเดียวเท่านั้นนะคะ ข้อที่ 3 ถ้าคอลัมน์ไหนที่ไม่ใช่คีย์หลักฟ้าส่งผลกับคอลัมน์อื่นในตารางไม่ได้เพราะฉะนั้นไปตลาดข้อ 1 นี้คือแค่กระต่ายตารางอันที่ 2 อันที่ 3 ถ้ามีปัญหาเราต้องสร้างตารางใหม่การบ้านเอางี้ดีกว่าอาจารย์จะให้ทำน่าจะส่งวันนี้เอาแค่ข้อเดียวนะคะข้อเดียวพอเพราะว่าจริงๆอยากให้ทำในห้องเดี๋ยวสัปดาห์หน้าค่อยทำในห้องจะให้ลองทำดูก่อนว่าที่เรียนไปวันนี้เข้าใจไหมถ้าทำเสร็จแล้วก็ค่อยเอามาส่งตู้ส่งงานอาจารย์เอาเฉพาะข้อดีนะข้อเดียวคนเดียวพอวันนี้คนเดียวพอนะคะ ส่งในเวลานี้แหละให้ลองทำดูว่าเข้าใจไหมข้อนี้ทำอย่างเงี้ยทำยังไงได้มาก ๆ เลยการเว้นช่องว่างให้แล้วเติมมา2 มิติคุณเห็นไหมว่ามันมีรหัสวิชาเนี่ยชาเนี่ยต้องทำยังไงกับมันแยกมันออกมาซิแยกยังไงเอาข้าวเหนียวก่อนนะคะ แล้วลองส่งมาให้อาจารย์ดูก่อนว่าเข้าใจมากน้อยขนาดไหนจริง ๆ อยากให้เรียนในห้องมากกว่าแต่วันนี้ก็เอามานี้ก่อนแล้วกันให้ทุกคนหายดีกลับมาอาทิตย์หน้าค่อยเดินดูในห้องดีกว่าวันนี้ก็ประมาณนี้นะคะ เดี๋ยวเวลาที่เหลือให้ทำข้อนี้แล้วมาส่งวันนี้เลยยิ่งดีเวลาที่เหลือทำใส่กระดาษมาส่งอาจารย์แล้วกันเนาะประมาณนี้ค่ะเวลาที่เหลือทำให้เสร็จภายในวันนี้นะคะข้อเดียวเองนะคะข้อเดียวใครสงสัยไหมคะอุ้ยสงสัยไหมเปิดไม่ได้หรือเปล่าไม่ ๆ ส่วนมากอยู่ในการอยู่หอนี่แหละตอนนี้เหลืออยู่ประมาณใส่ได้ก็เอามา1213453453Ok Thank Youวันนี้ก็ประมาณนี้ค่ะ ขอบคุณทุกคนมากนะคะ พี่ยังตั้งใจเรียนอยู่แล้วก็งานอย่าลืมส่งวันนี้นะคะ อยู่ดี ๆ ก็ทำให้เสร็จแล้วก็ฝากเพื่อนมาส่งรวมกันมาส่งก็ได้นะคะ ถ้าใครอยู่หอก็จะมาทำอยู่ดี ๆ ก็ได้หรือว่าทำเสร็จแล้วมาส่งที่อาการก็ได้โอเคค่ะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณล่างด้วยนะคะ ค่าขอบคุณค่ะ วันนี้ครบเนาะOKประมาณนี้นะคะ วันนี้จะเป็นบทที่ 5เกี่ยวกับกระบวนการการปรับบรรทัดฐานขาภาษาอังกฤษก็จะเป็นนกอะไร Seasonมันก็จะมีความหมายแล้วก็จุดประสงค์ของการทำการปรับมาตรฐานนะคะ แล้วก็จะเกี่ยวกับฟังก์ชั่นการขึ้นต่อการและกระบวนการในการทำนมคาร์เนชั่นด้วยนะคะ มี 3 ข้อวันนี้โดยการประปาฐานนะคะ หรือว่านอนเมื่อไหร่แฟชั่นเนี่ยมันจะเป็นทฤษฎีที่คนที่จะต้องออกแบบฐานข้อมูลเขาจะต้องมาแปลงข้อมูลข้อมูลอาจจะเป็นข้อมูลที่ซับซ้อนนะคะ ให้มันง่ายเข้าใจก็ง่ายใช้งานก็ง่ายแล้วก็ต้องเป็นระบบที่หลังจากออกแบบแล้วนำไปใช้งานจริงต้องเกิดปัญหาน้อยที่สุดโดยกระบวนการทำงานนะคะ ในการปรับบรรทัดฐานเนี่ยมันจะมี 3 ระดับจริง ๆ เราก็จะเรียกสั้น ๆ ว่าระดับแรกนึกว่า 1nf2nf 3nfในระดับปริญญาตรีเนี่ยถึง 3ms ได้ก็ถือว่าเก่งมากแล้วนะคะ ถ้าเป็นระดับที่สูงขึ้นไปอีกก็จะถึงได้ถึง 5 nf เลยนะคะ อันนี้เป็นแผนภาพกระบวนการทำงานนะคะ ก่อนที่เราจะมาทำกระบวนการปรับบรรทัดฐานได้เนี่ยมันก็ต้องวิเคราะห์ความต้องการของผู้ใช้งานก่อนว่าเขาต้องการระบุการฐานข้อมูลแบบไหนมีความต้องการใช้ตารางกี่ตารางในฐานข้อมูลนะคะ หลังจากนั้นวาดรูปแผนที่โรงเรียนอาทิตย์ที่แล้วนะคะ ว่าเป็นแผนภาพเพื่อให้เข้าใจว่าสิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลมันตรงตามความต้องการหรือเปล่านะคะ แต่รูปแบบของรูปที่เราวันอาทิตย์ที่แล้วเนี่ยมันจะยังเป็นรูปแบบที่ยังไม่เป็นบรรทัดฐานหรือว่ายังไม่มีการจัดระเบียบความคิดข้อมูลที่ซ้ำซ้อนกันออกไปหรืออาจจะมีคีย์หลักที่มันขอนแก่นนะคะ เราก็เลยจะต้องเอาข้อมูลจากที่เราว่าอาทิตย์ที่แล้วเนี่ยเข้าสู่กระบวนการปรับพื้นฐานก่อนซึ่งอย่างที่บอกเราทำแค่ถึง 3S เนี่ยก็เก่งมากแล้วอย่างน้อย 2-3 นะคะ ไอ้บอยคอร์ดกับสีเนี่ยไม่ทำก็ก็ก็รักไว้ได้นะคะ แต่อย่างน้อยต้องถึงวัตถุประสงค์ของการปรับฐานนะคะแน่นอนลดความซ้ำซ้อนของข้อมูลก็คือถ้าข้อมูลมันซ้ำกันเนี่ยเราก็ต้องตัดออกไปโครงสร้างเป็นสิ่งสำคัญมากเท่าไหร่เนื้อหาแล้วก็พื้นที่ในการเก็บข้อมูลอย่างมันก็จะเยอะก็ทำให้สิ้นเปลืองประมาณเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้องของข้อมูลข้อมูลเนี่ยนอกจากที่จะไม่เกิดความสอดคล้องกันแล้วเนี่ยวันจันทร์อาจจะเกิดจากสาเหตุคือถ้าเหมือนที่ตัดกระจกทุกอย่างก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่นักศึกษาเก็บข้อมูลที่คณะด้วยเก็บที่มหาลัยด้วยเก็บที่สาขาด้วยเนี่ยบางทีถ้าวันนึงคุณอาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้านก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลาแล้วคราวนี้ก็จะเป็นที่เถียงกันว่าสรุปแล้วเบอร์ไหนถูกเบอร์ไหนผิดโดยวัตถุประสงค์ของการปรับบรรทัดฐานก็คือข้อมูลจะถูกเก็บอยู่อย่างเดียวราคาเก็บไว้ที่เดียวแต่สามารถเรียกใช้และใช้งานได้หลาย ๆ ที่พร้อมกันได้แต่ถ้ามันมีการเปลี่ยนแปลงข้อมูลหรือมีการลบหรือการเพิ่มข้อมูลเพื่อให้ข้อมูลเป็นปัจจุบันที่สุดเราจะเก็บข้อมูลไว้ที่เดียวแก้ไขก็ที่เดียวเพราะฉะนั้นข้อมูลก็จะเป็นข้อมูลที่ถูกต้องแล้วก็ปัจจุบันด้วยแล้วก็อย่างที่ใช้ในการเก็บข้อมูลที่เดียวเนี่ยมันก็จะลดความผิดพลาดที่เกิดจากการเปลี่ยนแปลงข้อมูลปรับปรุงข้อมูลนะคะเหมือนที่บอกว่าคือถ้าเปลี่ยนเบอร์โทรศัพท์หรือเปลี่ยนบ้านเลขที่นะคะก็เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้พร้อมกันถ้าต้องการข้อมูลนะคะ ความซ้ำซ้อนกันของข้อมูลมันอาจจะเกิดความผิดพลาดของการปรับปรุงข้อมูลนะคะ แนวคิดที่สำคัญของการออกแบบฐานข้อมูลซ้ำซ้อนกันน้อยที่สุดการออกแบบข้อมูลที่เพื่อประหยัดเนื้อที่ในการเก็บข้อมูลแล้วก็ลดปัญหาที่จะเกิดขึ้นถ้าสมมุติว่าข้อมูลมันซ้ำซ้อนกันมากเกินไปหรือปริมาณข้อมูลมันเยอะเกินไปอย่างเช่นตัวอย่างนะคะ ตารางด้านบนตารางสีเทาข้างบนจะเป็นตัวอย่างการออกแบบฐานข้อมูลที่ดีเดี๋ยวจะมาให้ดูว่าทำไมมันถึงดีกว่าในตารางข้างบนเนี่ยมันจะมีตารางของพนักงานแล้วก็ต่างสาขาจะเห็นได้ว่าตารางพนักงานจะมีส่วนหนึ่งที่เป็นข้อมูลของรหัสสาขาก้อยไม่อยู่ถามว่าทำไมไม่เอาข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะทำไมต้องแยกออกถ้าศึกษาดูคนแรกนะคะ พนักงานคนแรกรหัสสาขา b005ก็คือสาขาเชียงใหม่ถ้าสมมุติว่าพนักงานคนที่ 1 ลาออกก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ มีการลบข้อมูลบุคคลนี้หรอขีดฆ่าทิ้งฆ่าทิ้งสิ่งไหนที่หายไปบ้างแน่นอนสาขาเชียงใหม่จะหายไปด้วยถ้าสมมุติเราอยู่ด้วยกันแต่ถ้าสมมุติพนักงานคนนี้ลาออกสาขาเชียงใหม่ยังอยู่ไหมยังอยู่นะคะ ซึ่งแตกต่างจากด้านล่างด้านล่างเห็นไหมคำว่าถ้าสมมุติว่าจะลบทิ้งหมดเลยกากบาททิ้งสาขาเชียงใหม่หายไปด้วยแบบที่ไม่ดีเหมือนคนข้างล่างออกสาขาพิษณุโลกก็หายไปด้วยแต่ถ้าเป็นตารางด้านบนถ้าคนนี้ลาออกสาขายังอยู่ไหมยังอยู่เหมือนเดิมอันนี้คือการออกแบบฐานข้อมูลที่ดีถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อการเราจะต้องแยกตารางออกตัวอย่างนะคะ ถ้าการออกแบบที่ดีเนี่ยเราจะลดปัญหาความซ้ำซ้อนของข้อมูลได้เช่นตัวนี้อันนี้เป็นตารางที่ออกแบบที่ไม่ดีนะคะ เห็นไหมคะ ว่ามันจะมีรหัสสาขาแล้วก็ที่อยู่อยู่ในตารางเดียวกันถ้าสมมุติว่าอาจารย์เพิ่มเข้ามาใหม่อีก 1 คนนะคะ n e mถ้าต้องการเพิ่มพนักงานสาขาเชียงใหม่ก็ต้องมากรอกข้อมูลตรงนี้อีกเชียงใหม่ณโรงเรียนระโนดแต่ถ้าการออกแบบฐานข้อมูลที่ดีเนี่ยเราแค่ใส่รหัสสาขาไม่จำเป็นจะต้องพิมพ์ที่อยู่ทุกครั้งก็ได้เหมือนเวลาคุณไปธนาคารใช่ไหมคะ คุณก็แค่ยื่นบัตรประชาชนพนักงานธนาคารก็จะกรอกเลขบัตรประชาชนคุณนงไปหรืออาจจะเอาชิปการ์ดของคุณเนี่ยเสียบเข้าไปในเครื่องถามว่าตอนนี้เราได้กรอกข้อมูลไหมขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างที่คุณมีเขาจะดึงออกมาจากระบบให้เลยเราไม่ต้องมาเสียเวลาก่อนเหมือนเมื่อก่อนเนี่ยต้องเขียนใส่กระดาษและเลขบัตรประชาชนด้านรายชื่ออะไรนามสกุลอะไรที่อยู่ที่ไหนเบอร์โทรศัพท์อะไรเดี๋ยวนี้ไม่ต้องเลยขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างเราสามารถดึงขึ้นมาได้อยู่แล้วอันนี้ก็เช่นเดียวกันถ้าการออกแบบไม่ดีแต่เราต้องกรอกข้อมูลถูกต้องทุกช่องเลยเนี่ยมันทำให้อาจจะคนเดียวไม่เดือดร้อนค่ะ ถ้าเป็นพนักงานใหม่เป็นเหมือนโรงงานน่ะค่ะ ที่รักพันคนนั่งกรอกเชียงใหม่เป็นพันครั้งเนี่ยเสียเวลามาก ๆ อันนี้คือการออกแบบที่ไม่ดีนะคะ กลับอีกอย่างนึงถ้าสมมุติว่าเมื่อกี้อาจารย์เพิ่มพนักงานแล้วถ้ามันอยากเพิ่มแค่สาขาอย่าเพิ่งแค่สาขาซึ่งในตารางนี้กีฬาจำได้ไหมคะ ที่รักจะเป็นคีย์ที่ขีดเส้นใต้ซึ่งอาจารย์อยากเพิ่มสาขาสมุทรปราการจะเพิ่มบี100สกลนครละครนะคะ ถามว่าเพิ่มได้ไหม อาจจะเป็นการตั้งสาขาแต่ยังไม่มีพนักงานหรอกถ้าจากตารางนี้เราจะเพิ่มเฉพาะชื่อสาขาไม่ได้เรายังไม่มีรหัสพนักงานเพราะรหัสพนักงานเป็นคีย์หลักครีมคือคุณสมบัติมันคือเป็นค่าว่างไม่ได้ก็ทำให้เราเพิ่มสาขาไม่ได้ไม่มีพนักงานอันนี้ก็เป็นข้อผิดพลาดในการเพิ่มข้อมูลถ้าเราออกแบบตารางแบบนี้นะคะ ก็คือกันปัญหาที่เกิดขึ้นจากการออกแบบตารางที่ดีกลับหาโตมาเป็นปัญหาการลบข้อมูลที่อาจารย์บอกถ้าพนักงานคนนี้ออกสาขาเชียงใหม่หายไปด้วยลบไปกรณีความผิดพลาดจากการเปลี่ยนแปลงเหมือน b03 b03 นะคะ เป็นกรุงเทพฯใช่ไหมคะ แล้วคราวนี้ข้อมูลมันอยู่ในตารางเดียวกันถ้านักศึกษาจะแก้สมมุติว่าเราย้ายจากกรุงเทพฯไปอยู่นนทบุรีสมมุติมีพนักงาน 300 คนคุณต้องแก้กรุงเทพฯ 30 ครั้งนนทบุรีพนักงานมีคนส่งคนไม่ใช่ปัญหาค่ะ แต่ถ้าคุณเป็นโรงงานขนาดใหญ่นั่งแก้ทีละ 30 คนไม่ใช่เรื่องสนุกแน่ ๆ มันก็เป็นปัญหานะคะ เพราะฉะนั้นเราควรแยกตารางพนักงานกับตารางสาขาออกจากกันนะคะ มีเป็นเหตุผลนี่คือขนาดข้อมูลขนาดเล็กนะคะ แล้วยังเห็นปัญหาขนาดนี้ถ้าสมมุติว่าองค์กรขนาดใหญ่เป็นบริษัทเป็นโรงงานระดับโรงเรียนมีนักเรียนเป็น 2 302 3000 คนก็ได้นะคะ มีปัญหาเยอะมากถ้าสมมุติว่าเราจัดการตารางไม่ดีจากปัญหาที่เกิดขึ้นเมื่อกี้นะคะ อย่างที่บอกค่ะ เราจะแก้ปัญหาโดยการแยกตารางเป็น 2 ตารางแบบนี้นะคะ ฟังก์ชั่นการขึ้นต่อกันนะคะ อันนี้เดี๋ยวเป็นเกี่ยวกับตารางนึ่งนะคะ มีผลดีต่อราง 1 เราจะเรียกว่าเป็นฟังก์ชันการขึ้นต่อกันเดี๋ยวดูตัวอย่างเลยละกันอย่างเช่นทางนี้นะคะ ดูจากรหัสพนักงานนะคะ เขียนได้ว่ารหัสพนักงานจะส่งผลกับชื่อตำแหน่งสัญลักษณ์ของการขึ้นต่อกันนะคะ อันไหนเป็นตัวหลักชี้ไปที่ตัวรองราคาตามหัวลูกศรเลยดูทิศทางตามหัวลูกศรนะคะ อันไหนเป็นตัวหลักอันไหนเป็นตัวรองนะคะ เช่นตัวนี้ถามว่าตำแหน่งบัญชีที่รหัสพนักงานได้ไหม นะคะ ถามว่าไม่ได้เพราะการขึ้นต่อการจะต้องเป็นลักษณะหนึ่งต่อหนึ่งเท่านั้นเป็นหนึ่งต่อกลุ่มไม่ได้ชนิดของการขึ้นต่อกันนะคะ จะมีอยู่ 4 ชนิดนะคะ ชนิดแรกเป็นการขึ้นต่อกันโดยสมบูรณ์นะคะ ซึ่งอาจจะเป็นเกี่ยวกับตารางนะคะ จะมีคอลัมน์1 คอลัมน์หรือมากกว่า 1 คอลัมน์มาประกอบกันโดยในคอลัมน์นะเนี่ยค่าที่ระบุความพิเศษของแถว ๆ ได้อย่างชัดเจนaprilia จะเป็นค่าเฉพาะที่บอกเลยว่าคอร์ดข้อมูลแถวนั้นเนี่ยมันมีลักษณะพิเศษเฉพาะตัวยังไงโดยในทุกความสัมพันธ์เนี่ยจะต้องระบุค่าคีย์หลักไว้ด้วยครึ่งปีหลังนี้คือต้องเป็นค่าเอกลักษณ์คือไม่ซ้ำกันอยู่แล้วนะคะ อย่างเช่นการขึ้นต่อกันอย่างสมบูรณ์อันแรกนะคะ ก็คือคอลัมน์ที่ไม่ใช่คีย์หลักกีฬาจำได้ใช่ไหมคะ คีย์หลักจะเป็นคอลัมน์ที่มีขีดเส้นใต้คอลัมน์ที่ไม่ใช่คีย์หลักจะขึ้นตรงต่อคอลัมน์ที่เป็นคีย์หลักหมอลำเดียวเท่านั้นเช่นเลขบัตรประชาชนจะขึ้นจะเป็นเจ้าของชื่อนี้เท่านั้นนะคะ เพราะฉะนั้นการขึ้นตัวกันอย่างสมบูรณ์จะเป็นลักษณะแบบหนึ่งต่อหนึ่งนะคะ เลขบัตรประชาชน 1 เลขต้องเป็นของคนคนเดียวเท่านั้นไม่ใช่ว่าเลขประชาชนที่ใช้ 10 คนเป็นไปไม่ได้นะคะ ตัวอย่างนะคะ ตารางที่มี Column หลายตัวนะคะ ขึ้นอยู่กับคีย์หลักตัวเดียวเช่นคนหนึ่งคนเนี่ยก็จะมีข้อมูลชื่อนามสกุลวันเดือนปีเกิดวันที่ทำบัตรใช่ไหมคะ แต่ว่าเขาจะต้องขึ้นตรงกับเลขบัตรประชาชนเดียวเท่านั้นถามว่าสามคนนี้อาจจะเกิดวันเดียวกันก็ได้ค่ะ เลขบัตรประชาชนเขาจะไม่เหมือนกันหรือเขาอาจจะมาทำบัตรวันเดียวกันหมายเลขบัตรประชาชนเขาจะไม่ซ้ำกันคืออะไร ซ้ำกันได้ทุกอย่างค่ะ ยกเว้นหมายเลขบัตรประชาชนแต่บางตารางนะคะ ก็อาจจะเป็นการรวมตัวกันของกีฬามากกว่า 1 ปีหลักนะคะ มารวมกันเช่นนักศึกษาวันนี้เอกสารนี้ลงทะเบียนวิชานี้ได้เกรดอะไรอันนี้ก็เป็นความสัมพันธ์ที่เกิดขึ้นได้เหมือนกันค่ะ ว่าบัตรนักศึกษาซ้ำกันได้ไหม รหัสวิชาซ้ำกันได้ไหม เหมือนชื่อวิชาการรหัสนึงเชื่อใจคนอื่นก็รหัสวิชาอีกอันนึงนี้จะไม่ซ้ำกันอยู่แล้วนะคะ ต่อมาจะเป็นการขึ้นต่อกันบางส่วนมันก็จะเป็นอาศัยความสัมพันธ์ที่เกิดขึ้นจากวิธีผสมนะคะ อาจจะเป็นเส้นตรงจากตารางอื่นหรือส่งตารางมารวมกันอาจจะไม่ใช่คีย์หลักก็ได้แต่มันมีความหมายกับคอลัมน์นึงเดี๋ยวจะยกตัวอย่างเลยดีกว่าอย่างเช่นนึกว่าตารางเทียบไซส์ให้ดูเมื่อกี้นะคะ ก็จะมีรหัสนักศึกษารหัสวิชามีเกรดแล้วก็มีการบอกด้วยว่ารหัสวิชานี้เป็นชื่อวิชาอะไรนะคะ มันจะเป็นการเกิดขึ้นเมื่อกีฬาประกอบกันด้วยคอลัมน์หรือว่า Accident รวมกันโดยบางส่วนของคีย์หลักสามารถไประบุค่าอย่างอื่นที่ไม่ใช่คีย์หลักได้นะคะ อย่างเช่นในความสัมพันธ์นี้คีย์หลักจะมี 2 ตัวมีรหัสนักศึกษารหัสวิชาถามว่าถ้ามีแต่รหัสนักศึกษานะคะ รหัสวิชาแล้วเราจะรู้ไหมว่าชื่อวิชาที่เราเรียนไปเนี่ยวิชาอะไรบางคนรู้รหัสวิชาแต่จำชื่อวิชาไม่ได้ก็มีเพราะฉะนั้นรหัสวิชาเนี่ยมันเลยสามารถไปส่งผลกับชื่อวิชาได้เหมือนกันเพราะเป็นตัวระบุว่าไปหลายวิชาเนี่ยประมาณนี้นะคะ วันนี้จะเป็นบทที่ 5เกี่ยวกับกระบวนการการปรับบรรทัดฐานขาภาษาอังกฤษก็จะเป็นนกอะไร Seasonมันก็จะมีความหมายแล้วก็จุดประสงค์ของการทำการปรับมาตรฐานนะคะ แล้วก็จะเกี่ยวกับฟังก์ชั่นการขึ้นต่อการและกระบวนการในการทำนมคาร์เนชั่นด้วยนะคะ มี 3 ข้อวันนี้โดยการประปาฐานนะคะ หรือว่านอนเมื่อไหร่แฟชั่นเนี่ยมันจะเป็นทฤษฎีที่คนที่จะต้องออกแบบฐานข้อมูลเขาจะต้องมาแปลงข้อมูลข้อมูลอาจจะเป็นข้อมูลที่ซับซ้อนนะคะ ให้มันง่ายเข้าใจก็ง่ายใช้งานก็ง่ายแล้วก็ต้องเป็นระบบที่หลังจากออกแบบแล้วนำไปใช้งานจริงต้องเกิดปัญหาน้อยที่สุดโดยกระบวนการทำงานนะคะ ในการปรับบรรทัดฐานเนี่ยมันจะมี 3 ระดับจริง ๆ เราก็จะเรียกสั้น ๆ ว่าระดับแรกนึกว่า 1nf2nf 3nfในระดับปริญญาตรีเนี่ยถึง 3ms ได้ก็ถือว่าเก่งมากแล้ว1นะคะ ถ้าเป็นระดับที่สูงขึ้นไปอีกก็จะถึงได้ถึง 5 nf เลย1นะคะ อันนี้เป็นแการระบุการฐานข้อมูลแบบไหนมีความต้องการใช้ตารางกี่ตารางในฐานข้อมูลนะคะ หลังจากนั้นวาดรูปแผนที่โรงเรียนอาทิตย์ที่แล้วนะคะ ว่าเป็นแผนภาพเพื่อให้เข้าใจว่าสิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลมันตรงตามความต้องการหรือเปล่านะคะ แต่รูปแบบของรูปที่เรายังไม่เป็นบรรทัดฐานหรือว่ายังไม่มีการจัดระเบียบความคิดข้อมูลที่ซ้ำซ้อนกันออกไปหรืออาจจะมีคีย์หลักที่มันขอนแก่นนะคะ เราก็เลยจะต้องเอาข้อมูลจากที่เราว่าอาทิตย์ที่แล้วเนี่ยเข้าสู่กระบวนการปรับพื้นฐานก่อนซึ่งอย่างที่บอกเราทำแค่ถึง 3S เนี่ยก็เก่งมากแล้วอย่างน้อย 2-3 นะคะ ไอ้บอยคอร์ดกับสีเนี่ยไม่ทำก็ก็ก็รักไว้ได้นะคะ แต่อย่างน้อยต้องถึงวัตถุประสงค์ของการปรับฐานนะคะแน่นอนลดความซ้ำซ้อนของข้อมูลก็คือถ้าข้อมูลมันซ้ำกันเนี่ยเราก็ต้องตัดออกไปก็ทำให้สิ้นเปลืองประมาณเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้องของข้อมูลข้อมูลเนี่ยนอกจากที่จะไม่เกิดความสอดคล้องกันแล้วเนี่ยวันจันทร์อาจจะเกิดจากสาเหตุคือถ้าเหมือนที่ตัดกระจกทุกอย่างก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่นักศึกษาเก็บข้อมูลที่คณะด้วยเก็บที่มหาลัยด้วยเก็บที่สาขาด้วยเนี่ยบางทีถ้าวันนึงคุณอาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้านก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลาแล้วคราวนี้ก็จะเป็นที่เถียงกันว่าสรุปแล้วเบอร์ไหนถูกเบอร์ไหนผิดโดยวัตถุประสงค์ของการปรับบรรทัดฐานก็คือข้อมูลจะถูกเก็บอยู่อย่างเดียวราคาเก็บไว้ที่เดียวแต่สามารถเรียกใช้และใช้งานได้หลาย ๆ ที่พร้อมกันได้แต่ถ้ามันมีการเปลี่ยนแปลงข้อมูลหรือมีการลบหรือการเพิ่มข้อมูลเพื่อให้ข้อมูลเป็นปัจจุบันที่สุดเราจะเก็บข้อมูลไว้ที่เดียวแก้ไขก็ที่เดียวเพราะฉะนั้นข้อมูลก็จะเป็นข้อมูลที่ถูกต้องแล้วก็ปัจจุบันด้วยแล้วก็อย่างที่ใช้ในการเก็บข้อมูลที่เดียวเนี่ยมันก็จะลดความผิดพลาดที่เกิดจากการเปลี่ยนแปลงข้อมูลปรับปรุงข้อมูลนะคะ เหมือนที่บอกว่าคือถ้าเปลี่ยนเบอร์โทรศัพท์หรือเปลี่ยนบ้านเลขที่นะคะ ก็เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้พร้อมกันถ้าต้องการข้อมูลนะคะ ความซ้ำซ้อนแนวคิดที่สำคัญของการออกแบบฐานข้อมูลการออกแบบข้อมูลที่ซ้ำซ้อนกันน้อยที่สุดเพื่อประหยัดเนื้อที่ในการเก็บข้อมูลแล้วก็ลดปัญหาที่จะเกิดขึ้นถ้าสมมุติว่าข้อมูลมันซ้ำซ้อนกันมากเกินไปหรือปริมาณข้อมูลมันเยอะเกินไปอย่างเช่นตัวอย่างนะคะ ตารางด้านบนตารางสีเทาข้างบนจะเป็นตัวอย่างการออกแบบฐานข้อมูลที่ดีเดี๋ยวจะมาให้ดูว่าทำไมมันถึงดีกว่าในตารางข้างบนเนี่ยมันจะมีตารางของพนักงานแล้วก็ต่างสาขาจะเห็นได้ว่าตาราง2222222พนักงานจะมีส่วนหนึ่งที่เป็นข้อมูลของรหัสสาขาก้อยไม่อยู่ถามว่าทำไมไม่เอาข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะทำไมต้องแยกออกถ้าศึกษาดูคนแรกนะคะ พนักงานคนแรกรหัสสาขา b005ก็คือสาขาเชียงใหม่ถ้าสมมุติว่าพนักงานคนที่ 1 ลาออกก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ มีการลบข้อมูลบุคคลนี้หรอขีดฆ่าทิ้งฆ่าทิ้งสิ่งไหนที่หายไปบ้างแน่นอนสาขาเชียงใหม่จะหายไปด้วยถ้าสมมุติเราอยู่ด้วยกันแต่ถ้าสมมุติพนักงานคนนี้ลาออกสาขาเชียงใหม่ยังอยู่ไหมยังอยู่นะคะ ซึ่งแตกต่างจากด้านล่างด้านล่างเห็นไหมคำว่าถ้าสมมุติว่าจะลบทิ้งหมดเลยกากบาททิ้งสาขาเชียงใหม่หายไปด้วยแบบที่ไม่ดีเหมือนคนข้างล่างออกสาขาพิษณุโลกก็หายไปด้วยแต่ถ้าเป็นตารางด้านบนถ้าคนนี้ลาออกสาขายังอยู่ไหมยังอยู่เหมือนเดิมอันนี้คือการออกแบบฐานข้อมูลที่ดีถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อการเราจะต้องแยกตารางออกตัวอย่างนะคะ ถ้าการออกแบบที่ดีเนี่ยเราจะลดปัญหาความซ้ำซ้อนของข้อมูลได้เช่นตัวนี้อันนี้เป็นตารางที่ออกแบบที่ไม่ดีนะคะ เห็นไหมคะ ว่ามันจะมีรหัสสาขาแล้วก็ที่อยู่อยู่ในตารางเดียวกันถ้าสมมุติว่าอาจารย์เพิ่มเข้ามาใหม่อีก 1 คนนะคะ n e mถ้าต้องการเพิ่มพนักงานสาขาเชียงใหม่ก็ต้องมากรอกข้อมูลตรงนี้อีกเชียงใหม่ณโรงเรียนระโนดแต่ถ้าการออกแบบฐานข้อมูลที่ดีเนี่ยเราแค่ใส่รหัสสาขาไม่จำเป็นจะต้องพิมพ์ที่อยู่ทุกครั้งก็ได้เหมือนเวลาคุณไปธนาคารใช่ไหมคะ คุณก็แค่ยื่นบัตรประชาชนพนักงานธนาคารก็จะกรอกเลขบัตรประชาชนคุณนงไปหรืออาจจะเอาชิปการ์ดของคุณเนี่ยเสียบเข้าไปในเครื่องถามว่าตอนนี้เราได้กรอกข้อมูลไหมขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างที่คุณมีเขาจะดึงออกมาจากระบบให้เลยเราไม่ต้องมาเสียเวลาก่อนเหมือนเมื่อก่อนเนี่ยต้องเขียนใส่กระดาษและเลขบัตรประชาชนด้านรายชื่ออะไรนามสกุลอะไรที่อยู่ที่ไหนเบอร์โทรศัพท์อะไรเดี๋ยวนี้ไม่ต้องเลยขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างเราสามารถดึงขึ้นมาได้อยู่แล้วอันนี้ก็เช่นเดียวกันถ้าการออกแบบไม่ดีแต่เราต้องกรอกข้อมูลถูกต้องทุกช่องเลยเนี่ยมันทำให้อาจจะคนเดียวไม่เดือดร้อนค่ะ ถ้าเป็นพนักงานใหม่เป็นเหมือนโรงงานน่ะค่ะ ที่รักพันคนนั่งกรอกเชียงใหม่เป็นพันครั้งเนี่ยเสียเวลามาก ๆ อันนี้คือการออกแบบที่ไม่ดีนะคะ กลับอีกอย่างนึงถ้าสมมุติว่าเมื่อกี้อาจารย์เพิ่มพนักงานแล้วถ้ามันอยากเพิ่มแค่สาขาอย่าเพิ่งแค่สาขาซึ่งในตารางนี้กีฬาจำได้ไหมคะ ที่รักจะเป็นคีย์ที่ขีดเส้นใต้ซึ่งอาจารย์อยากเพิ่มสาขาสมุทรปราการจะเพิ่มบี100สกลนครละครนะคะ ถามว่าเพิ่มได้ไหม อาจจะเป็นการตั้งสาขาแต่ยังไม่มีพนักงานหรอกถ้าจากตารางนี้เราจะเพิ่มเฉพาะชื่อสาขาไม่ได้เรายังไม่มีรหัสพนักงานเพราะรหัสพนักงานเป็นคีย์หลักครีมคือคุณสมบัติมันคือเป็นค่าว่างไม่ได้ก็ทำให้เราเพิ่มสาขาไม่ได้ไม่มีพนักงานอันนี้ก็เป็นข้อผิดพลาดในการเพิ่มข้อมูลถ้าเราออกแบบตารางแบบนี้นะคะ ก็คือกันปัญหาที่เกิดขึ้นจากการออกแบบตารางที่ดีกลับหาโตมาเป็นปัญหาการลบข้อมูลที่อาจารย์บอกถ้าพนักงานคนนี้ออกสาขาเชียงใหม่หายไปด้วยลบไปกรณีความผิดพลาดจากการเปลี่ยนแปลงเหมือน b03 b03 นะคะ เป็นกรุงเทพฯใช่ไหมคะ แล้วคราวนี้ข้อมูลมันอยู่ในตารางเดียวกันถ้านักศึกษาจะแก้สมมุติว่าเราย้ายจากกรุงเทพฯไปอยู่นนทบุรีสมมุติมีพนักงาน 300 คนคุณต้องแก้กรุงเทพฯ 30 ครั้งนนทบุรีพนักงานมีคนส่งคนไม่ใช่ปัญหาค่ะ แต่ถ้าคุณเป็นโรงงานขนาดใหญ่นั่งแก้ทีละ 30 คนไม่ใช่เรื่องสนุกแน่ ๆ มันก็เป็นปัญหานะคะ เพราะฉะนั้นเราควรแยกตารางพนักงานกับตารางสาขาออกจากกันนะคะ มีเป็นเหตุผลนี่คือขนาดข้อมูลขนาดเล็กนะคะ แล้วยังเห็นปัญหาขนาดนี้ถ้าสมมุติว่าองค์กรขนาดใหญ่เป็นบริษัทเป็นโรงงานระดับโรงเรียนมีนักเรียนเป็น 2 302 3000 คนก็ได้นะคะ มีปัญหาเยอะมากถ้าสมมุติว่าเราจัดการตารางไม่ดีจากปัญหาที่เกิดขึ้นเมื่อกี้นะคะ อย่างที่บอกค่ะ เราจะแก้ปัญหาโดยการแยกตารางเป็น 2 ตารางแบบนี้นะคะ ฟังก์ชั่นการขึ้นต่อกันนะคะ อันนี้เดี๋ยวเป็นเกี่ยวกับตารางนึ่งนะคะ มีผลดีต่อราง 1 เราจะเรียกว่าเป็นฟังก์ชันการขึ้นต่อกันเดี๋ยวดูตัวอย่างเลยละกันอย่างเช่นทางนี้นะคะ ดูจากรหัสพนักงานนะคะ เขียนได้ว่ารหัสพนักงานจะส่งผลกับชื่อตำแหน่งสัญลักษณ์ของการขึ้นต่อกันนะคะ อันไหนเป็นตัวหลักชี้ไปที่ตัวรองราคาตามหัวลูกศรเลยดูทิศทางตามหัวลูกศรนะคะ อันไหนเป็นตัวหลักอันไหนเป็นตัวรองนะคะ เช่นตัวนี้ถามว่าตำแหน่งบัญชีที่รหัสพนักงานได้ไหม นะคะ ถามว่าไม่ได้เพราะการขึ้นต่อการจะต้องเป็นลักษณะหนึ่งต่อหนึ่งเท่านั้นเป็นหนึ่งต่อกลุ่มไม่ได้ชนิดของการขึ้นต่อกันนะคะ จะมีอยู่ 4 ชนิดนะคะ ชนิดแรกเป็นการขึ้นต่อกันโดยสมบูรณ์นะคะ ซึ่งอาจจะเป็นเกี่ยวกับตารางนะคะ จะมีคอลัมน์1 คอลัมน์หรือมากกว่า 1 คอลัมน์มาประกอบกันโดยในคอลัมน์นะเนี่ยค่าที่ระบุความพิเศษของแถว ๆ ได้อย่างชัดเจนaprilia จะเป็นค่าเฉพาะที่บอกเลยว่าคอร์ดข้อมูลแถวนั้นเนี่ยมันมีลักษณะพิเศษเฉพาะตัวยังไงโดยในทุกความสัมพันธ์เนี่ยจะต้องระบุค่าคีย์หลักไว้ด้วยครึ่งปีหลังนี้คือต้องเป็นค่าเอกลักษณ์คือไม่ซ้ำกันอยู่แล้วนะคะ อย่างเช่นการขึ้นต่อกันอย่างสมบูรณ์อันแรกนะคะ ก็คือคอลัมน์ที่ไม่ใช่คีย์หลักกีฬาจำได้ใช่ไหมคะ คีย์หลักจะเป็นคอลัมน์ที่มีขีดเส้นใต้คอลัมน์ที่ไม่ใช่คีย์หลักจะขึ้นตรงต่อคอลัมน์ที่เป็นคีย์หลักหมอลำเดียวเท่านั้นเช่นเลขบัตรประชาชนจะขึ้นจะเป็นเจ้าของชื่อนี้เท่านั้นนะคะ เพราะฉะนั้นการขึ้นตัวกันอย่างสมบูรณ์จะเป็นลักษณะแบบหนึ่งต่อหนึ่งนะคะ เลขบัตรประชาชน 1 เลขต้องเป็นของคนคนเดียวเท่านั้นไม่ใช่ว่าเลขประชาชนที่ใช้ 10 คนเป็นไปไม่ได้นะคะ ตัวอย่างนะคะ ตารางที่มี Column หลายตัวนะคะ ขึ้นอยู่กับคีย์หลักตัวเดียวเช่นคนหนึ่งคนเนี่ยก็จะมีข้อมูลชื่อนามสกุลวันเดือนปีเกิดวันที่ทำบัตรใช่ไหมคะ แต่ว่าเขาจะต้องขึ้นตรงกับเลขบัตรประชาชนเดียวเท่านั้นถามว่าสามคนนี้อาจจะเกิดวันเดียวกันก็ได้ค่ะ เลขบัตรประชาชนเขาจะไม่เหมือนกันหรือเขาอาจจะมาทำบัตรวันเดียวกันหมายเลขบัตรประชาชนเขาจะไม่ซ้ำกันคืออะไร ซ้ำกันได้ทุกอย่างค่ะ ยกเว้นหมายเลขบัตรประชาชนแต่บางตารางนะคะ ก็อาจจะเป็นการรวมตัวกันของกีฬามากกว่า 1 ปีหลักนะคะ มารวมกันเช่นนักศึกษาวันนี้เอกสารนี้ลงทะเบียนวิชานี้ได้เกรดอะไรอันนี้ก็เป็นความสัมพันธ์ที่เกิดขึ้นได้เหมือนกันค่ะ ว่าบัตรนักศึกษาซ้ำกันได้ไหม รหัสวิชาซ้ำกันได้ไหม เหมือนชื่อวิชาการรหัสนึงเชื่อใจคนอื่นก็รหัสวิชาอีกอันนึงนี้จะไม่ซ้ำกันอยู่แล้วนะคะ ต่อมาจะเป็นการขึ้นต่อกันบางส่วนมันก็จะเป็นอาศัยความสัมพันธ์ที่เกิดขึ้นจากวิธีผสมนะคะ อาจจะเป็นเส้นตรงจากตารางอื่นหรือส่งตารางมารวมกันอาจจะไม่ใช่คีย์หลักก็ได้แต่มันมีความหมายกับคอลัมน์นึงเดี๋ยวจะยกตัวอย่างเลยดีกว่าอย่างเช่นนึกว่าตารางเทียบไซส์ให้ดูเมื่อกี้นะคะ ก็จะมีรหัสนักศึกษารหัสวิชามีเกรดแล้วก็มีการบอกด้วยว่ารหัสวิชานี้เป็นชื่อวิชาอะไรนะคะ มันจะเป็นการเกิดขึ้นเมื่อกีฬาประกอบกันด้วยคอลัมน์หรือว่า Accident รวมกันโดยบางส่วนของคีย์หลักสามารถไประบุค่าอย่างอื่นที่ไม่ใช่คีย์หลักได้นะคะ อย่างเช่นในความสัมพันธ์นี้คีย์หลักจะมี 2 ตัวมีรหัสนักศึกษารหัสวิชาถามว่าถ้ามีแต่รหัสนักศึกษานะคะ รหัสวิชาแล้วเราจะรู้ไหมว่าชื่อวิชาที่เราเรียนไปเนี่ยวิชาอะไรบางคนรู้รหัสวิชาแต่จำชื่อวิชาไม่ได้ก็มีเพราะฉะนั้นรหัสวิชาเนี่ยมันเลยสามารถไปส่งผลกับชื่อวิชาได้เหมือนกันเพราะเป็นตัวระบุว่าไปหลายวิชาเนี่ยชื่อวิชาอะไรก็คือคีย์หลักในตารางนี้มี 2 อันแต่มีคีย์หลัก 1 ตัวเนี่ยไปมีผลกับแอตทริบิวต์ 1 ได้นะคะ อันนี้คือความขึ้นต่อกันบางส่วนอย่างเช่นตัวนี้ก็จะเป็นของจริงถ้าสูตรว่าอาจารย์ปัดรหัสนักศึกษาออกมีแค่ 5 วิชามีเกรดมีการวิชาเขียนโปรแกรมแล้วถามรู้ไหมคะ ว่าเกรดเอที่ของใครนะคะ หรือว่าอย่าลบไปเที่ยวก่อนนะหรือว่าการลบรหัสวิชาออกเหลือแต่นักศึกษาเหลือเกรดชื่อวิชาแล้วถามว่ารหัสวิชาอะไรล่ะที่เราได้เกรด Aเราก็ไม่ทราบอีกเหมือนกันนะคะ อันนี้ก็คือการขึ้นต่อกันบางส่วนเป็นการขึ้นต่อกันแบบส่งต่อก็จะเป็นความสัมพันธ์ที่เกิดขึ้นก็ต่อเมื่อมีแอตทริบิวต์หรือว่าคนอื่นที่ไม่ใช่ครีมแต่ไปสามารถขึ้นสามารถระบุค่าของแอตทริบิวต์อื่นใน Accord ได้ซึ่งเป็นการออกแบบที่ไม่เหมาะสมเพราะส่วนใหญ่แล้วในตารางเนี่ยถ้าเราจะระบุค่าอื่นให้กับคอลัมน์อื่นได้ควรจะต้องเป็นคีย์หลักเท่านั้นดูตัวอย่างนะคะ เช่นตารางเนี้ยเขาบอกว่าสิ่งที่เกิดขึ้นคือแอตทริบิวต์คือคอลัมน์ที่ไม่ใช่คีย์หลักหรือ Primary Key นะคะ ก็คือไม่ใช่คอลัมน์ที่มีเส้นขีดมันไประบุค่าอื่น ๆ ในตารางได้เช่นตารางนี้ก็คือเลขประจำตัวตัวเลขประจำตัวเนี่ยไปมีผลกับชื่อนามสกุลที่อยู่ตำแหน่งใช่ไหมคะ เขาเนี่ยรถประจำตำแหน่งมันไม่ถูกระบุโดยเลขประจำตัวมันถูกระบุโดยรหัสตำแหน่งเหมือนถ้าเป็นผู้จัดการเนี่ยแผนที่ผู้จัดการนะคะ จะรู้เลยว่ารถประจำตำแหน่งคืออะไร แต่เขาไปเช็คที่รหัสตำแหน่งแผนที่จะเช็คกับเลขประจําตัวการออกแบบที่ไม่ดีเพราะฉะนั้นถ้าสมมุติว่าจะให้รถประจำตำแหน่งวิธีการแก้ปัญหาก็คือเราควรจะแยกตารางนี้ออกไปสร้างตารางใหม่เลยค่ะ มันไม่ควรจะมาขึ้นกับตารางขี้มีกี่หลักแต่ไม่สามารถระบุค่าข้อมูลตรงนี้ได้เนี่ยมันไม่ควรทำกลับต่อมาเป็นการขึ้นต่อการเชิงกลุ่มนะคะ น่าจะเป็นความสัมพันธ์ระหว่างคอลัมน์ Matrixขึ้นต่อกันแบบสมบูรณ์นะคะ ก็ไปสามารถระบุค่าอื่นได้โดยที่อย่างเช่นตัวอย่างในตารางนี้นะคะ จะมีรหัสหลักสูตรสามารถระบุรหัสวิชาได้หลายวิชาเช่นจริง ๆ ในสถานศึกษาจะเห็นได้ว่ามีเลข122รหัสนักศึกษาB12 คืออะไร 12 ก็คือหลักสูตรที่เราเรียนอยู่ซึ่งในหลักสูตรที่โรงเรียนเนี่ยมันมีวิชามากกว่า 20 วิชานะคะ ก็คือรหัสหลักสูตรเนี่ยมันสามารถระบุรหัสวิชาได้หลากหลายรหัสวิชามาก ๆ ก็คือการขึ้นต่อกันแบบมีค่ามากกว่า 1รหัสหลักสูตรสามารถระบุรหัสวิชาได้หลายค่านั่นเองแล้วรหัสหลักสูตรก็สามารถระบุค่ารหัสนักศึกษาได้หลายคนเช่นกันเหมือนตอนนี้หลักสูตรที่โรงเรียนศึกษาเกือบ 100 คนรหัสหลักสูตรเดียวนะนะคะ นี่คือความสัมพันธ์แบบสามารถระบุค่าได้มากกว่า 1 นั้นเองแบบไหนค่าเพราะฉะนั้นวิธีการแก้ปัญหาของสิ่งที่เกิดขึ้นนะคะ เราเลยจะต้องมีการกระบวนการปรับบรรทัดฐานหรือว่ากระบวนการปรับปรุงโครงสร้างของฐานข้อมูลนะคะ ที่มีความซ้ำซ้อนกันให้อยู่ในรูปแบบที่เป็นบรรทัดฐานก็คือเป็นรูปแบบที่พร้อมที่จะเอาไปพัฒนาเป็นฐานข้อมูลได้โดยหลักการนะคะ ที่บอกมี 5 ระดับแต่ระดับที่ 3 เนี่ยก็ถือว่าเพียงพอสำหรับการออกแบบฐานข้อมูลในปัจจุบันแล้วโดยที่รักของการทำงานนะคะ ท่านที่ 1 นะคะ กำจัดกลุ่มของข้อมูลที่มีความซ้ำซ้อนกันออกไปขอแลกง่ายมาก ๆ ง่ายที่สุดก็คือ 1 nf นะคะ ต่อมาครั้งที่ 2 อยู่ 2 nfจะกำจัดการขึ้นต่อกันบางส่วนออกอันสุดท้าย 3nf นะคะ กำจัดการขึ้นต่อกันของแอตทริบิวต์ที่ไม่ใช่ครีมเดี๋ยวจะมาดูทีละขั้นมันจะต้องเป็นยังไงบ้างคนแรกง่ายที่สุดง่ายมาก ๆ นะคะ ให้นักศึกษาจำกระบวนการหลัก ๆ จะมี 3 ข้อนะคะ ขั้นตอนการแรกเลยดูก่อนว่าคำซ้อนกันไหมคำที่ 2 คือมันขึ้นต่อกันแค่บางส่วนหรือเปล่าอันที่ 3 อันไหนไม่ใช่ครีมแต่มันไปส่งผลกระทบกับข้อมูลอื่นได้หรือเปล่าดูอันดับที่ 1 ก่อนวันที่ 1 ได้มากนะคะ ทุก ๆ คอลัมน์ akashic Recordsจะต้องเป็นค่า Single Value คือมีค่าเดียวเท่านั้นจะใส่แบบนี้ไม่ได้เพราะฉะนั้นข้อมูลทุกแถวจะต้องไม่มีค่าที่ซ้ำกันอย่างเนี้ยนักศึกษาคนที่ 1แน่นอนทั้ง 31 เทอมเนี่ยคุณลงทะเบียนประมาณ 6-7 วิชาใช่ไหมคะ ข้อมูลมันก็จะเป็นแบบนี้ถ้าเราไม่มีการทำน้ำทะเลสั้นคราวนี้ขั้นตอนที่ 1เราจะข้อมูลที่ซ้ำซ้อนกันออกวิธีการง่ายมากค่ะ คือแจ้งข้อมูลออกเป็นอย่างละแถวที่ไม่ซ้ำกันดูตัวอย่างนะคะ วิธีการทำ 1 n f ง่ายมากค่ะ ถ้าข้อมูลตัวไหนเป็นกลุ่มนะคะ คนที่ 1 วิชาลงทะเบียนเรียน 3 วิชาใช่ไหมคะ คนที่ 2 มี 2 วิชาสามารถทำในรูปแบบ 1nf ก็คือเอามันจะตายออกมาค่ะ ย้ายข้อมูลพรุ่งนี้ออกมากระต่ายออกใช่ไหมคะ กระจายออกง่ายมากข้อมูลพรุ่งนี้ก็ทำซ้ำลงมาทำซ้ำลงมาสำโรงมาทำซ้ำลงมาถามว่าอ้าวตาเขาทำไมทำไม 001 มันซ้ำกันได้ล่ะแต่รหัสวิชาเขาไม่ซ้ำกันเห็นไหมค่ะ เด็ก ๆ เลยง่ายมากค่ะ ข้อมูลทำไมเป็นก้อนอย่างนี้เรากระจายออกมาเป็นแยกออกมาเป็นบรรทัดบรรทัดเลยแค่นั้นเองอย่างน้อยในข้อสอบต้องทำเน็ตให้ได้มันง่ายที่สุดแล้วนะคะ ไม่ใช่ตัวนี้นะคะ ก็กระจายออกมาแล้วคราวนี้ถ้าเรากระจายข้อมูลเรียบร้อยแล้วนะคะ ว่าจะมาดูว่าในตารางนี้ค่ะ มันมีตารางของพนักงานใช่ไหมคะ เขาจะมีคีย์หลัก 1 ตัวละแปลว่ามันจะมีตัวนี้ค่ะ ตัวที่ 1 ตัวที่ 2 ที่มีคุณสมบัติเป็นคีย์หลักได้เราต้องแยกมันออกควรการนะคะ ดูก่อนว่าตารางวิธีนะคะ สิ่งที่ขึ้นตรงกับคีย์หลักตัวนี้นะคะ ก็จะเป็นตัวที่ 1 ตัวที่ 2 ตัวที่ 3สังเกตเราว่าที่รักมีตัวเดียวข้อมูลมีเยอะมากนะคะ ออกมาได้อันแรกเลยรหัสโปรเจคนะคะ แล้วก็ชื่อโปรเจคนะคะ ใครเป็นผู้จัดการเงินเดือนเท่าไหร่งบประมาณเท่าไหร่คือมันจะเชื่อมโยงกับข้อมูลที่เป็นคีย์หลักก็คือ Project Code วันนี้ส่วนตัวนี้เป็นคีย์คู่แข่ง2 ตัว2 ตัวฉันสามารถทำหน้าที่เป็นคีย์หลักให้กับอย่างตัวนี้นะคะ มันจะเป็นคีย์หลักให้กับชื่อของพนักงานอย่างตัวนี้ว่าจะเป็นคีย์หลักสำหรับชื่อแผนกถามว่ามันขึ้นตรงกับโปรเจค Code ไหมไม่นะคะ ฉะนั้นการทำขั้นตอนต่อมานะคะ ส่ง EMSขั้นตอนที่ 1เราจะต้องทำ 1 f มาเรียบร้อยแล้วซึ่งได้ทักมาแล้วก็ต้องมาบัตรของการขึ้นต่อกันบางส่วนออกก็คือการกำจัดบิวตี้ไม่ขึ้นคีย์หลักของตารางนั้นเองจะออกนะคะ อย่างเช่นตัวนี้นะคะ การขึ้นต่อกันบางส่วนจะเห็นได้ว่ารหัสวิชากับชื่อวิชามันไม่ขึ้นตรงกับรหัสนักศึกษาใช่ไหมคะ นี้จำได้นะลูกเดิมหารูปเดิมวิธีกำจัดปัญหาเราก็ดึงสิ่งที่มันเป็นปัญหาสิ่งที่มันไม่ขึ้นตรงกับคีย์หลักตัวนั้นไปสร้างตารางใหม่สร้างตารางเพิ่มเอาสิ่งที่เป็นปัญหาออกมาไปใส่ตารางใหม่กำหนดคีย์หลักใหม่ในตารางเดิมนะคะ เราก็เอาคีย์หลักของตารางใหม่ไปใส่แค่นั้นเองวิธีการก็คือรูปนี้นะคะ สิ่งที่เป็นปัญหาที่จะยกตัวอย่างคือรหัสวิชาชิชาเพราะรหัสวิชามันไม่ได้ขึ้นตรงกับรหัสนักศึกษาเพราะฉะนั้นไอ้สองตัวนี้คือสิ่งที่เป็นปัญหาวิธีการแก้ปัญหาคือเราสร้างตารางผลการเรียนใหม่สร้างตารางวิชาใหม่เห็นไหมคะตารางใหม่เราจะตัดชื่อวิชาออกแต่ต้องเหลือรหัสวิชาไว้เพื่อให้เชื่อมโยงว่ารหัสวิชานี้มันชื่อวิชาอะไรตาราง 1แค่นั้นเองนะคะ อันนี้เป็นตัวอย่างของการสารในรูปแบบของส่ง EMSเดี๋ยววันนี้จะให้ทำการบ้านเดี๋ยวค่อยย้อนกลับมาแล้วกันนะคะ สอนภาษาเดี๋ยวแก้แล้วตาเมื่อกี้นะคะ ขั้นตอนสุดท้ายนะคะ 3nfนะคะ โดยความสัมพันธ์นะคะ ก่อนที่จะทำเป็นสามเณรได้จะต้องทำ 2 อย่างนี้มาก่อนหลักของการทำขั้นตอนที่ 3 คือต้องเอาความสัมพันธ์ที่ไม่ใช่คีย์หลักออกนะคะ เช่นไม่ใช่คีย์หลักแต่ไม่มีผลกับคนอื่นไม่ได้นะคะ ไม่ได้วิธีการแก้ปัญหาเช่นเดิมค่ะ สร้างตารางใหม่ขึ้นมาแก้ปัญหานาน ๆ อย่างเช่นในตัวอย่างนะคะ รหัสพนักงานนะคะ ชื่อสกุลรหัสแผนกชื่อแผนกเงินเดือนจะเห็นได้ว่าในตารางนี้เนี่ยคีย์หลักก็คือรหัสพนักงานวันนี้รหัสแผนกกับชื่อแผนกติดมาด้วยซึ่งมันไม่ได้เกี่ยวกับรหัสพนักงานเลยวิธีการแก้ปัญหาก็คือเอารหัสแผนกชื่อแผนกไปสร้างตารางใหม่แต่ต้องยังคงรหัสแผนกไว้ตารางเดิมนะคะ เพื่อให้มันเชื่อมโยงได้ว่าไอ้แผนก a001 เนี่ยคือแผนกอะไรอันนี้คือการแก้ปัญหาไม่ใช่คีย์หลักแต่ไปส่งผลกับคอลัมน์อื่น ๆ ในตารางนะคะ เ***จริง ๆ แล้วอยากให้ลองทำในห้องมากกว่าแต่ด้วยสัปดาห์นี้มันมีข้อจำกัดเนาะก็ไม่เป็นไรนี้เป็นตัวอย่างนะคะ สรุปนะคะ วิธีการทำนกในชาติหรือว่าการปรับบรรทัดฐานนะคะ ทุก ๆ ที่ทุก ๆ คนร่ำในแต่ละแถวจะต้องมีค่าของข้อมูลเพียงค่าเดียวเท่านั้นเช่นเวลาเรากรอกเบอร์โทรศัพท์เรามีโทรศัพท์ 3 เบอร์ก็จริงแต่เราจะกรอกได้แค่เบอร์เดียวถ้าอยากใส่เบอร์ที่ 2 ที่ 3 ก็ต้องเพิ่มข้อมูลแถวใหม่ขึ้นมาตอบมา2 SFก็ปัญหาคือถ้ามีข้อมูลนะคะ ขอข้อมูลทุกตัวในตารางนั้นจะต้องขึ้นกับคีย์หลักของตารางตัวเดียวเท่านั้นนะคะ ข้อที่ 3 ถ้าคอลัมน์ไหนที่ไม่ใช่คีย์หลักฟ้าส่งผลกับคอลัมน์อื่นในตารางไม่ได้เพราะฉะนั้นไปตลาดข้อ 1 นี้คือแค่กระต่ายตารางอันที่ 2 อันที่ 3 ถ้ามีปัญหาเราต้องสร้างตารางใหม่การบ้านเอางี้ดีกว่าอาจารย์จะให้ทำน่าจะส่งวันนี้เอาแค่ข้อเดียวนะคะ ข้อเดียวพอเพราะว่าจริง ๆ อยากให้ทำในห้องเดี๋ยวสัปดาห์หน้าค่อยทำในห้องจะให้ลองทำดูก่อนว่าที่เรียนไปวันนี้เข้าใจไหมถ้าทำเสร็จแล้วก็ค่อยเอามาส่งตู้ส่งงานอาจารย์เอาเฉพาะข้อดีนะข้อเดียวคนเดียวพอวันนี้คนเดียวพอนะคะ ส่งในเวลานี้แหละให้ลองทำดูว่าเข้าใจไหมข้อนี้ทำอย่างเงี้ยทำยังไงได้มาก ๆ เลยการเว้นช่องว่างให้แล้วเติมมา2 มิติคุณเห็นไหมว่ามันมีรหัสวิชาเนี่ยชาเนี่ยต้องทำยังไงกับมันแยกมันออกมาซิแยกยังไงเอาข้าวเหนียวก่อนนะคะ แล้วลองส่งมาให้อาจารย์ดูก่อนว่าเข้าใจมากน้อยขนาดไหนจริง ๆ อยากให้เรียนในห้องมากกว่าแต่วันนี้ก็เอามานี้ก่อนแล้วกันให้ทุกคนหายดีกลับมาอาทิตย์หน้าค่อยเดินดูในห้องดีกว่าวันนี้ก็ประมาณนี้นะคะ เดี๋ยวเวลาที่เหลือให้ทำข้อนี้แล้วมาส่งวันนี้เลยยิ่งดีเวลาที่เหลือทำใส่กระดาษมาส่งอาจารย์แล้วกันเนาะประมาณนี้ค่ะ เวลาที่เหลือทำให้เสร็จภายในวันนี้นะคะ ข้อเดียวเองนะคะ ข้อเดียวใครสงสัยไหมคะ อุ้ยสงสัยไหมเปิดไม่ได้หรือเปล่าไม่มีค่ะ อาจารย์เดี๋ยวถ้ายังไงเดี๋ยวให้อุบลไปส่งหรือยังไงคะเพราะว่าบนขึ้นไม่ ๆ ส่วนมากอยู่ในการอยู่หอนี่แหละตอนนี้เหลืออยู่ประมาณใส่ได้ก็เอามาOk Thank Youวันนี้ก็ประมาณนี้ค่ะ ขอบคุณทุกคนมากนะคะ พี่ยังตั้งใจเรียนอยู่แล้วก็งานอย่าลืมส่งวันนี้นะคะ อยู่ดี ๆ ก็ทำให้เสร็จแล้วก็ฝากเพื่อนมาส่งรวมกันมาส่งก็ได้นะคะ ถ้าใครอยู่หอก็จะมาทำอยู่ดี ๆ ก็ได้หรือว่าทำเสร็จแล้วมาส่งที่อาการก็ได้โอเคค่ะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณล่างด้วยนะคะ ค่าขอบคุณค่ะ วันนี้ครบเนาะOKประมาณนี้นะคะ วันนี้จะเป็นบทที่ 5เกี่ยวกับกระบวนการการปรับบรรทัดฐานขาภาษาอังกฤษก็จะเป็นนกอะไร Seasonมันก็จะมีความหมายแล้วก็จุดประสงค์ของการทำการปรับมาตรฐานนะคะ แล้วก็จะเกี่ยวกับฟังก์ชั่นการขึ้นต่อการและกระบวนการในการทำนมคาร์เนชั่นด้วยนะคะ มี 3 ข้อวันนี้โดยการประปาฐานนะคะ หรือว่านอนเมื่อไหร่แฟชั่นเนี่ยมันจะเป็นทฤษฎีที่คนที่จะต้องออกแบบฐานข้อมูลเขาจะต้องมาแปลงข้อมูลข้อมูลอาจจะเป็นข้อมูลที่ซับซ้อนนะคะ ให้มันง่ายเข้าใจก็ง่ายใช้งานก็ง่ายแล้วก็ต้องเป็นระบบที่หลังจากออกแบบแล้วนำไปใช้งานจริงต้องเกิดปัญหาน้อยที่สุดโดยกระบวนการทำงานนะคะ ในการปรับบรรทัดฐานเนี่ยมันจะมี 3 ระดับจริง ๆ เราก็จะเรียกสั้น ๆ ว่าระดับแรกนึกว่า 1nf2nf 3nfในระดับปริญญาตรีเนี่ยถึง 3ms ได้ก็ถือว่าเก่งมากแล้วนะคะ ถ้าเป็นระดับที่สูงขึ้นไปอีกก็จะถึงได้ถึง 5 nf เลยนะคะ อันนี้เป็นแผนภาพกระบวนการทำงานนะคะ ก่อนที่เราจะมาทำกระบวนการปรับบรรทัดฐานได้เนี่ยมันก็ต้องวิเคราะห์ความต้องการของผู้ใช้งานก่อนว่าเขาต้องการระบุการฐานข้อมูลแบบไหนมีความต้องการใช้ตารางกี่ตารางในฐานข้อมูลนะคะ หลังจากนั้นวาดรูปแผนที่โรงเรียนอาทิตย์ที่แล้วนะคะ ว่าเป็นแผนภาพเพื่อให้เข้าใจว่าสิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลมันตรงตามความต้องการหรือเปล่านะคะ แต่รูปแบบของรูปที่เราวันอาทิตย์ที่แล้วเนี่ยมันจะยังเป็นรูปแบบที่ยังไม่เป็นบรรทัดฐานหรือว่ายังไม่มีการจัดระเบียบความคิดข้อมูลที่ซ้ำซ้อนกันออกไปหรืออาจจะมีคีย์หลักที่มันขอนแก่นนะคะ เราก็เลยจะต้องเอาข้อมูลจากที่เราว่าอาทิตย์ที่แล้วเนี่ยเข้าสู่กระบวนการปรับพื้นฐานก่อนซึ่งอย่างที่บอกเราทำแค่ถึง 3S เนี่ยก็เก่งมากแล้วอย่างน้อย 2-3 นะคะ ไอ้บอยคอร์ดกับสีเนี่ยไม่ทำก็ก็ก็รักไว้ได้นะคะ แต่อย่างน้อยต้องถึงวัตถุประสงค์ของการปรับฐานนะคะ แน่นอนลดความซ้ำซ้อนของข้อมูลก็คือถ้าข้อมูลมันซ้ำกันเนี่ยเราก็ต้องตัดออกไปโครงสร้างเป็นสิ่งสำคัญมากเท่าไหร่เนื้อหาแล้วก็พื้นที่ในการเก็บข้อมูลอย่างมันก็จะเยอะก็ทำให้สิ้นเปลืองประมาณเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้องของข้อมูลข้อมูลเนี่ยนอกจากที่จะไม่เกิดความสอดคล้องกันแล้วเนี่ยวันจันทร์อาจจะเกิดจากสาเหตุคือถ้าเหมือนที่ตัดกระจกทุกอย่างก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่นักศึกษาเก็บข้อมูลที่คณะด้วยเก็บที่มหาลัยด้วยเก็บที่สาขาด้วยเนี่ยบางทีถ้าวันนึงคุณอาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้านก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลาแล้วคราวนี้ก็จะเป็นที่เถียงกันว่าสรุปแล้วเบอร์ไหนถูกเบอร์ไหนผิดโดยวัตถุประสงค์ของการปรับบรรทัดฐานก็คือข้อมูลจะถูกเก็บอยู่อย่างเดียวราคาเก็บไว้ที่เดียวแต่สามารถเรียกใช้และใช้งานได้หลาย ๆ ที่พร้อมกันได้แต่ถ้ามันมีการเปลี่ยนแปลงข้อมูลหรือมีการลบหรือการเพิ่มข้อมูลเพื่อให้ข้อมูลเป็นปัจจุบันที่สุดเราจะเก็บข้อมูลไว้ที่เดียวแก้ไขก็ที่เดียวเพราะฉะนั้นข้อมูลก็จะเป็นข้อมูลที่ถูกต้องแล้วก็ปัจจุบันด้วยแล้วก็อย่างที่ใช้ในการเก็บข้อมูลที่เดียวเนี่ยมันก็จะลดความผิดพลาดที่เกิดจากการเปลี่ยนแปลงข้อมูลปรับปรุงข้อมูลนะคะ เหมือนที่บอกว่าคือถ้าเปลี่ยนเบอร์โทรศัพท์หรือเปลี่ยนบ้านเลขที่นะคะ ก็เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้พร้อมกันถ้าต้องการข้อมูลนะคะ ความซ้ำซ้อนกันของข้อมูลมันอาจจะเกิดความผิดพลาดของการปรับปรุงข้อมูลนะคะ แนวคิดที่สำคัญของการออกแบบฐานข้อมูลการออกแบบข้อมูลที่ซ้ำซ้อนกันน้อยที่สุดเพื่อประหยัดเนื้อที่ในการเก็บข้อมูลแล้วก็ลดปัญหาที่จะเกิดขึ้นถ้าสมมุติว่าข้อมูลมันซ้ำซ้อนกันมากเกินไปหรือปริมาณข้อมูลมันเยอะเกินไปอย่างเช่นตัวอย่างนะคะ ตารางด้านบนตารางสีเทาข้างบนจะเป็นตัวอย่างการออกแบบฐานข้อมูลที่ดีเดี๋ยวจะมาให้ดูว่าทำไมมันถึงดีกว่าในตารางข้างบนเนี่ยมันจะมีตารางของพนักงานแล้วก็ต่างสาขาจะเห็นได้ว่าตารางพนักงานจะมีส่วนหนึ่งที่เป็นข้อมูลของรหัสสาขาก้อยไม่อยู่ถามว่าทำไมไม่เอาข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะทำไมต้องแยกออกถ้าศึกษาดูคนแรกนะคะ พนักงานคนแรกรหัสสาขา b005ก็คือสาขาเชียงใหม่ถ้าสมมุติว่าพนักงานคนที่ 1 ลาออกก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ มีการลบข้อมูลบุคคลนี้หรอขีดฆ่าทิ้งฆ่าทิ้งสิ่งไหนที่หายไปบ้างแน่นอนสาขาเชียงใหม่จะหายไปด้วยถ้าสมมุติเราอยู่ด้วยกันแต่ถ้าสมมุติพนักงานคนนี้ลาออกสาขาเชียงใหม่ยังอยู่ไหมยังอยู่นะคะ ซึ่งแตกต่างจากด้านล่างด้านล่างเห็นไหมคำว่าถ้าสมมุติว่าจะลบทิ้งหมดเลยกากบาททิ้งสาขาเชียงใหม่หายไปด้วยแบบที่ไม่ดีเหมือนคนข้างล่างออกสาขาพิษณุโลกก็หายไปด้วยแต่ถ้าเป็นตารางด้านบนถ้าคนนี้ลาออกสาขายังอยู่ไหมยังอยู่เหมือนเดิมอันนี้คือการออกแบบฐานข้อมูลที่ดีถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อการเราจะต้องแยกตารางออกตัวอย่างนะคะ ถ้าการออกแบบที่ดีเนี่ยเราจะลดปัญหาความซ้ำซ้อนของข้อมูลได้เช่นตัวนี้อันนี้เป็นตารางที่ออกแบบที่ไม่ดีนะคะ เห็นไหมคะ ว่ามันจะมีรหัสสาขาแล้วก็ที่อยู่อยู่ในตารางเดียวกันถ้าสมมุติว่าอาจารย์เพิ่มเข้ามาใหม่อีก 1 คนนะคะ n e mถ้าต้องการเพิ่มพนักงานสาขาเชียงใหม่ก็ต้องมากรอกข้อมูลตรงนี้อีกเชียงใหม่ณโรงเรียนระโนดแต่ถ้าการออกแบบฐานข้อมูลที่ดีเนี่ยเราแค่ใส่รหัสสาขาไม่จำเป็นจะต้องพิมพ์ที่อยู่ทุกครั้งก็ได้เหมือนเวลาคุณไปธนาคารใช่ไหมคะ คุณก็แค่ยื่นบัตรประชาชนพนักงานธนาคารก็จะกรอกเลขบัตรประชาชนคุณนงไปหรืออาจจะเอาชิปการ์ดของคุณเนี่ยเสียบเข้าไปในเครื่องถามว่าตอนนี้เราได้กรอกข้อมูลไหมขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างที่คุณมีเขาจะดึงออกมาจากระบบให้เลยเราไม่ต้องมาเสียเวลาก่อนเหมือนเมื่อก่อนเนี่ยต้องเขียนใส่กระดาษและเลขบัตรประชาชนด้านรายชื่ออะไรนามสกุลอะไรที่อยู่ที่ไหนเบอร์โทรศัพท์อะไรเดี๋ยวนี้ไม่ต้องเลยขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างเราสามารถดึงขึ้นมาได้อยู่แล้วอันนี้ก็เช่นเดียวกันถ้าการออกแบบไม่ดีแต่เราต้องกรอกข้อมูลถูกต้องทุกช่องเลยเนี่ยมันทำให้อาจจะคนเดียวไม่เดือดร้อนค่ะ ถ้าเป็นพนักงานใหม่เป็นเหมือนโรงงานน่ะค่ะ ที่รักพันคนนั่งกรอกเชียงใหม่เป็นพันครั้งเนี่ยเสียเวลามาก ๆ อันนี้คือการออกแบบที่ไม่ดีนะคะ กลับอีกอย่างนึงถ้าสมมุติว่าเมื่อกี้อาจารย์เพิ่มพนักงานแล้วถ้ามันอยากเพิ่มแค่สาขาอย่าเพิ่งแค่สาขาซึ่งในตารางนี้กีฬาจำได้ไหมคะ ที่รักจะเป็นคีย์ที่ขีดเส้นใต้ซึ่งอาจารย์อยากเพิ่มสาขาสมุทรปราการจะเพิ่มบี100สกลนครละครนะคะ ถามว่าเพิ่มได้ไหม อาจจะเป็นการตั้งสาขาแต่ยังไม่มีพนักงานหรอกถ้าจากตารางนี้เราจะเพิ่มเฉพาะชื่อสาขาไม่ได้เรายังไม่มีรหัสพนักงานเพราะรหัสพนักงานเป็นคีย์หลักครีมคือคุณสมบัติมันคือเป็นค่าว่างไม่ได้ก็ทำให้เราเพิ่มสาขาไม่ได้ไม่มีพนักงานอันนี้ก็เป็นข้อผิดพลาดในการเพิ่มข้อมูลถ้าเราออกแบบตารางแบบนี้นะคะ ก็คือกันปัญหาที่เกิดขึ้นจากการออกแบบตารางที่ดีกลับหาโตมาเป็นปัญหาการลบข้อมูลที่อาจารย์บอกถ้าพนักงานคนนี้ออกสาขาเชียงใหม่หายไปด้วยลบไปกรณีความผิดพลาดจากการเปลี่ยนแปลงเหมือน b03 b03 นะคะ เป็นกรุงเทพฯใช่ไหมคะ แล้วคราวนี้ข้อมูลมันอยู่ในตารางเดียวกันถ้านักศึกษาจะแก้สมมุติว่าเราย้ายจากกรุงเทพฯไปอยู่นนทบุรีสมมุติมีพนักงาน 300 คนคุณต้องแก้กรุงเทพฯ 30 ครั้งนนทบุรีพนักงานมีคนส่งคนไม่ใช่ปัญหาค่ะ แต่ถ้าคุณเป็นโรงงานขนาดใหญ่นั่งแก้ทีละ 30 คนไม่ใช่เรื่องสนุกแน่ ๆ มันก็เป็นปัญหานะคะ เพราะฉะนั้นเราควรแยกตารางพนักงานกับตารางสาขาออกจากกันนะคะ มีเป็นเหตุผลนี่คือขนาดข้อมูลขนาดเล็กนะคะ แล้วยังเห็นปัญหาขนาดนี้ถ้าสมมุติว่าองค์กรขนาดใหญ่เป็นบริษัทเป็นโรงงานระดับโรงเรียนมีนักเรียนเป็น 2 302 3000 คนก็ได้นะคะ มีปัญหาเยอะมากถ้าสมมุติว่าเราจัดการตารางไม่ดีจากปัญหาที่เกิดขึ้นเมื่อกี้นะคะ อย่างที่บอกค่ะ เราจะแก้ปัญหาโดยการแยกตารางเป็น 2 ตารางแบบนี้นะคะ ฟังก์ชั่นการขึ้นต่อกันนะคะ อันนี้เดี๋ยวเป็นเกี่ยวกับตารางนึ่งนะคะ มีผลดีต่อราง 1 เราจะเรียกว่าเป็นฟังก์ชันการขึ้นต่อกันเดี๋ยวดูตัวอย่างเลยละกันอย่างเช่นทางนี้นะคะ ดูจากรหัสพนักงานนะคะ เขียนได้ว่ารหัสพนักงานจะส่งผลกับชื่อตำแหน่งสัญลักษณ์ของการขึ้นต่อกันนะคะ อันไหนเป็นตัวหลักชี้ไปที่ตัวรองราคาตามหัวลูกศรเลยดูทิศทางตามหัวลูกศรนะคะ อันไหนเป็นตัวหลักอันไหนเป็นตัวรองนะคะ เช่นตัวนี้ถามว่าตำแหน่งบัญชีที่รหัสพนักงานได้ไหม นะคะ ถามว่าไม่ได้เพราะการขึ้นต่อการจะต้องเป็นลักษณะหนึ่งต่อหนึ่งเท่านั้นเป็นหนึ่งต่อกลุ่มไม่ได้ชนิดของการขึ้นต่อกันนะคะ จะมีอยู่ 4 ชนิดนะคะ ชนิดแรกเป็นการขึ้นต่อกันโดยสมบูรณ์นะคะ ซึ่งอาจจะเป็นเกี่ยวกับตารางนะคะ จะมีคอลัมน์1 คอลัมน์หรือมากกว่า 1 คอลัมน์มาประกอบกันโดยในคอลัมน์นะเนี่ยค่าที่ระบุความพิเศษของแถว ๆ ได้อย่างชัดเจนaprilia จะเป็นค่าเฉพาะที่บอกเลยว่าคอร์ดข้อมูลแถวนั้นเนี่ยมันมีลักษณะพิเศษเฉพาะตัวยังไงโดยในทุกความสัมพันธ์เนี่ยจะต้องระบุค่าคีย์หลักไว้ด้วยครึ่งปีหลังนี้คือต้องเป็นค่าเอกลักษณ์คือไม่ซ้ำกันอยู่แล้วนะคะ อย่างเช่นการขึ้นต่อกันอย่างสมบูรณ์อันแรกนะคะ ก็คือคอลัมน์ที่ไม่ใช่คีย์หลักกีฬาจำได้ใช่ไหมคะ คีย์หลักจะเป็นคอลัมน์ที่มีขีดเส้นใต้คอลัมน์ที่ไม่ใช่คีย์หลักจะขึ้นตรงต่อคอลัมน์ที่เป็นคีย์หลักหมอลำเดียวเท่านั้นเช่นเลขบัตรประชาชนจะขึ้นจะเป็นเจ้าของชื่อนี้เท่านั้นนะคะ เพราะฉะนั้นการขึ้นตัวกันอย่างสมบูรณ์จะเป็นลักษณะแบบหนึ่งต่อหนึ่งนะคะ เลขบัตรประชาชน 1 เลขต้องเป็นของคนคนเดียวเท่านั้นไม่ใช่ว่าเลขประชาชนที่ใช้ 10 คนเป็นไปไม่ได้นะคะ ตัวอย่างนะคะ ตารางที่มี Column หลายตัวนะคะ ขึ้นอยู่กับคีย์หลักตัวเดียวเช่นคนหนึ่งคนเนี่ยก็จะมีข้อมูลชื่อนามสกุลวันเดือนปีเกิดวันที่ทำบัตรใช่ไหมคะ แต่ว่าเขาจะต้องขึ้นตรงกับเลขบัตรประชาชนเดียวเท่านั้นถามว่าสามคนนี้อาจจะเกิดวันเดียวกันก็ได้ค่ะ เลขบัตรประชาชนเขาจะไม่เหมือนกันหรือเขาอาจจะมาทำบัตรวันเดียวกันหมายเลขบัตรประชาชนเขาจะไม่ซ้ำกันคืออะไร ซ้ำกันได้ทุกอย่างค่ะ ยกเว้นหมายเลขบัตรประชาชนแต่บางตารางนะคะ ก็อาจจะเป็นการรวมตัวกันของกีฬามากกว่า 1 ปีหลักนะคะ มารวมกันเช่นนักศึกษาวันนี้เอกสารนี้ลงทะเบียนวิชานี้ได้เกรดอะไรอันนี้ก็เป็นความสัมพันธ์ที่เกิดขึ้นได้เหมือนกันค่ะ ว่าบัตรนักศึกษาซ้ำกันได้ไหม รหัสวิชาซ้ำกันได้ไหม เหมือนชื่อวิชาการรหัสนึงเชื่อใจคนอื่นก็รหัสวิชาอีกอันนึงนี้จะไม่ซ้ำกันอยู่แล้วนะคะ ต่อมาจะเป็นการขึ้นต่อกันบางส่วนมันก็จะเป็นอาศัยความสัมพันธ์ที่เกิดขึ้นจากวิธีผสมนะคะ อาจจะเป็นเส้นตรงจากตารางอื่นหรือส่งตารางมารวมกันอาจจะไม่ใช่คีย์หลักก็ได้แต่มันมีความหมายกับคอลัมน์นึงเดี๋ยวจะยกตัวอย่างเลยดีกว่าอย่างเช่นนึกว่าตารางเทียบไซส์ให้ดูเมื่อกี้นะคะ ก็จะมีรหัสนักศึกษารหัสวิชามีเกรดแล้วก็มีการบอกด้วยว่ารหัสวิชานี้เป็นชื่อวิชาอะไรนะคะ มันจะเป็นการเกิดขึ้นเมื่อกีฬาประกอบกันด้วยคอลัมน์หรือว่า Accident รวมกันโดยบางส่วนของคีย์หลักสามารถไประบุค่าอย่างอื่นที่ไม่ใช่คีย์หลักได้นะคะ อย่างเช่นในความสัมพันธ์นี้คีย์หลักจะมี 2 ตัวมีรหัสนักศึกษารหัสวิชาถามว่าถ้ามีแต่รหัสนักศึกษานะคะ รหัสวิชาแล้วเราจะรู้ไหมว่าชื่อวิชาที่เราเรียนไปเนี่ยวิชาอะไรบางคนรู้รหัสวิชาแต่จำชื่อวิชาไม่ได้ก็มีเพราะฉะนั้นรหัสวิชาเนี่ยมันเลยสามารถไปส่งผลกับชื่อวิชาได้เหมือนกันเพราะเป็นตัวระบุว่าไปหลายวิชาเนี่ยชื่อวิชาอะไรก็คือคีย์หลักในตารางนี้มี 2 อันแต่มีคีย์หลัก 1 ตัวเนี่ยไปมีผลกับแอตทริบิวต์ 1 ได้นะคะ อันนี้คือความขึ้นต่อกันบางส่วนอย่างเช่นตัวนี้ก็จะเป็นของจริงถ้าสูตรว่าอาจารย์ปัดรหัสนักศึกษาออกมีแค่ 5 วิชามีเกรดมีการวิชาเขียนโปรแกรมแล้วถามรู้ไหมคะ ว่าเกรดเอที่ของใครนะคะ หรือว่าอย่าลบไปเที่ยวก่อนนะหรือว่าการลบรหัสวิชาออกเหลือแต่นักศึกษาเหลือเกรดชื่อวิชาแล้วถามว่ารหัสวิชาอะไรล่ะที่เราได้เกรด Aเราก็ไม่ทราบอีกเหมือนกันนะคะ อันนี้ก็คือการขึ้นต่อกันบางส่วนเป็นการขึ้นต่อกันแบบส่งต่อก็จะเป็นความสัมพันธ์ที่เกิดขึ้นก็ต่อเมื่อมีแอตทริบิวต์หรือว่าคนอื่นที่ไม่ใช่ครีมแต่ไปสามารถขึ้นสามารถระบุค่าของแอตทริบิวต์อื่นใน Accord ได้ซึ่งเป็นการออกแบบที่ไม่เหมาะสมเพราะส่วนใหญ่แล้วในตารางเนี่ยถ้าเราจะระบุค่าอื่นให้กับคอลัมน์อื่นได้ควรจะต้องเป็นคีย์หลักเท่านั้นดูตัวอย่างนะคะ เช่นตารางเนี้ยเขาบอกว่าสิ่งที่เกิดขึ้นคือแอตทริบิวต์คือคอลัมน์ที่ไม่ใช่คีย์หลักหรือ Primary Key นะคะ ก็คือไม่ใช่คอลัมน์ที่มีเส้นขีดมันไประบุค่าอื่น ๆ ในตารางได้เช่นตารางนี้ก็คือเลขประจำตัวตัวเลขประจำตัวเนี่ยไปมีผลกับชื่อนามสกุลที่อยู่ตำแหน่งใช่ไหมคะ เขาเนี่ยรถประจำตำแหน่งมันไม่ถูกระบุโดยเลขประจำตัวมันถูกระบุโดยรหัสตำแหน่งเหมือนถ้าเป็นผู้จัดการเนี่ยแผนที่ผู้จัดการนะคะ จะรู้เลยว่ารถประจำตำแหน่งคืออะไร แต่เขาไปเช็คที่รหัสตำแหน่งแผนที่จะเช็คกับเลขประจําตัวการออกแบบที่ไม่ดีเพราะฉะนั้นถ้าสมมุติว่าจะให้รถประจำตำแหน่งวิธีการแก้ปัญหาก็คือเราควรจะแยกตารางนี้ออกไปสร้างตารางใหม่เลยค่ะ มันไม่ควรจะมาขึ้นกับตารางขี้มีกี่หลักแต่ไม่สามารถระบุค่าข้อมูลตรงนี้ได้เนี่ยมันไม่ควรทำกลับต่อมาเป็นการขึ้นต่อการเชิงกลุ่มนะคะ น่าจะเป็นความสัมพันธ์ระหว่างคอลัมน์ Matrixขึ้นต่อกันแบบสมบูรณ์นะคะ ก็ไปสามารถระบุค่าอื่นได้โดยที่อย่างเช่นตัวอย่างในตารางนี้นะคะ จะมีรหัสหลักสูตรสามารถระบุรหัสวิชาได้หลายวิชาเช่นจริง ๆ ในสถานศึกษาจะเห็นได้ว่ามีเลข122รหัสนักศึกษาB12 คืออะไร 12 ก็คือหลักสูตรที่เราเรียนอยู่ซึ่งในหลักสูตรที่โรงเรียนเนี่ยมันมีวิชามากกว่า 20 วิชานะคะ ก็คือรหัสหลักสูตรเนี่ยมันสามารถระบุรหัสวิชาได้หลากหลายรหัสวิชามาก ๆ ก็คือการขึ้นต่อกันแบบมีค่ามากกว่า 1รหัสหลักสูตรสามารถระบุรหัสวิชาได้หลายค่านั่นเองแล้วรหัสหลักสูตรก็สามารถระบุค่ารหัสนักศึกษาได้หลายคนเช่นกันเหมือนตอนนี้หลักสูตรที่โรงเรียนศึกษาเกือบ 100 คนรหัสหลักสูตรเดียวนะนะคะ นี่คือความสัมพันธ์แบบสามารถระบุค่าได้มากกว่า 1 นั้นเองแบบไหนค่าเพราะฉะนั้นวิธีการแก้ปัญหาของสิ่งที่เกิดขึ้นนะคะ เราเลยจะต้องมีการกระบวนการปรับบรรทัดฐานหรือว่ากระบวนการปรับปรุงโครงสร้างของฐานข้อมูลนะคะ ที่มีความซ้ำซ้อนกันให้อยู่ในรูปแบบที่เป็นบรรทัดฐานก็คือเป็นรูปแบบที่พร้อมที่จะเอาไปพัฒนาเป็นฐานข้อมูลได้โดยหลักการนะคะ ที่บอกมี 5 ระดับแต่ระดับที่ 3 เนี่ยก็ถือว่าเพียงพอสำหรับการออกแบบฐานข้อมูลในปัจจุบันแล้วโดยที่รักของการทำงานนะคะ ท่านที่ 1 นะคะ กำจัดกลุ่มของข้อมูลที่มีความซ้ำซ้อนกันออกไปขอแลกง่ายมาก ๆ ง่ายที่สุดก็คือ 1 nf นะคะ ต่อมาครั้งที่ 2 อยู่ 2 nfจะกำจัดการขึ้นต่อกันบางส่วนออกอันสุดท้าย 3nf นะคะ กำจัดการขึ้นต่อกันของแอตทริบิวต์ที่ไม่ใช่ครีมเดี๋ยวจะมาดูทีละขั้นมันจะต้องเป็นยังไงบ้างคนแรกง่ายที่สุดง่ายมาก ๆ นะคะ ให้นักศึกษาจำกระบวนการหลัก ๆ จะมี 3 ข้อนะคะ ขั้นตอนการแรกเลยดูก่อนว่าคำซ้อนกันไหมคำที่ 2 คือมันขึ้นต่อกันแค่บางส่วนหรือเปล่าอันที่ 3 อันไหนไม่ใช่ครีมแต่มันไปส่งผลกระทบกับข้อมูลอื่นได้หรือเปล่าดูอันดับที่ 1 ก่อนวันที่ 1 ได้มากนะคะ ทุก ๆ คอลัมน์ akashic Recordsจะต้องเป็นค่า Single Value คือมีค่าเดียวเท่านั้นจะใส่แบบนี้ไม่ได้เพราะฉะนั้นข้อมูลทุกแถวจะต้องไม่มีค่าที่ซ้ำกันอย่างเนี้ยนักศึกษาคนที่ 1แน่นอนทั้ง 31 เทอมเนี่ยคุณลงทะเบียนประมาณ 6-7 วิชาใช่ไหมคะ ข้อมูลมันก็จะเป็นแบบนี้ถ้าเราไม่มีการทำน้ำทะเลสั้นคราวนี้ขั้นตอนที่ 1เราจะข้อมูลที่ซ้ำซ้อนกันออกวิธีการง่ายมากค่ะ คือแจ้งข้อมูลออกเป็นอย่างละแถวที่ไม่ซ้ำกันดูตัวอย่างนะคะ วิธีการทำ 1 n f ง่ายมากค่ะ ถ้าข้อมูลตัวไหนเป็นกลุ่มนะคะ คนที่ 1 วิชาลงทะเบียนเรียน 3 วิชาใช่ไหมคะคนที่ 2 มี 2 วิชาสามารถทำในรูปแบบ 1nf ก็คือเอามันจะตายออกมาค่ะย้ายข้อมูลพรุ่งนี้ออกมาง่ายมากข้อมูลพรุ่งนี้ก็ทำซ้ำลงมาทำซ้ำลงมาสำโรงมาทำซ้ำลงมาถามว่าอ้าวตาเขาทำไมทำไม 001 มันซ้ำกันได้ล่ะแต่รหัสวิชาเขาไม่ซ้ำกันเห็นไหมค่ะ เด็กๆเลยง่ายมากค่ะข้อมูลทำไมเป็นก้อนอย่างนี้เรากระจายออกมาเป็นแยกออกมาเป็นบรรทัดบรรทัดเลยแค่นั้นเองอย่างน้อยในข้อสอบต้องทำเน็ตให้ได้มันง่ายที่สุดแล้วนะคะ ไม่ใช่ตัวนี้นะคะ ก็กระจายออกมาแล้วคราวนี้ถ้าเรากระจายข้อมูลเรียบร้อยแล้วนะคะ ว่าจะมาดูว่าในตารางนี้ค่ะ มันมีตารางของพนักงานใช่ไหมคะ เขาจะมีคีย์หลัก 1 ตัวละแปลว่ามันจะมีตัวนี้ค่ะ ตัวที่ 1 ตัวที่ 2 ที่มีคุณสมบัติเป็นคีย์หลักได้เราต้องแยกมันออกควรการนะคะ ดูก่อนว่าตารางวิธีนะคะ สิ่งที่ขึ้นตรงกับคีย์หลักตัวนี้นะคะ ก็จะเป็สังเกตเราว่าที่รักมีตัวเดียวข้อมูลมีเยอะมากนะคะ ออกมาได้อันแรกเลยรหัสโปรเจคนะคะ แล้รเจคนะคะ ใครเป็นผู้จัดการเงินเดือนเท่าไหร่งบประมาณเท่าไหร่คือมันจะเชื่อมโยงกับข้อมูลที่เป็นคีย์หลักก็คือ Project Code วันนี้ส่วนตัวนี้เป็นคีย์คู่แข่ง2 ตัว2 ตัวฉันสามารถทำหน้าที่เป็นคีย์หลักให้กับอย่างตัวนี้นะคะ มันจะเป็นคีย์หลักให้กับชื่อของพนักงานอย่างตัวนี้ว่าจะเป็นคีย์หลักสำหรับชื่อแผนกถามว่ามันขึ้นตรงกับโปรเจค Code ไหมไม่นะคะ ฉะนั้นการทำขั้นตอนต่อมานะคะ ส่ง EMSขั้นตอนที่ 1เราจะต้องทำ 1 f มาเรียบร้อยแล้วซึ่งได้ทักมาแล้วก็ต้องมาบัตรของการขึ้นต่อกันบางส่วนออกก็คือการกำจัดบิวตี้ไม่ขึ้นคีย์หลักของตารางนั้นเองจะออกนะคะ อย่างเช่นตัวนี้นะคะ การขึ้นต่อกันบางส่วนจะเห็นได้ว่ารหัสวิชากับชื่อวิชามันไม่ขึ้นตรงกับรหัสนักศึกษาใช่ไหมคะ นี้จำได้นะลูกเดิมหารูปเดิมวิธีกำจัดปัญหาเราก็ดึงสิ่งที่มันเป็นปัญหาสิ่งที่มันไม่ขึ้นตรงกับคีย์หลักตัวนั้นไปสร้างตารางใหม่สร้างตารางเพิ่มเอาสิ่งที่เป็นปัญหาออกมาไปใส่ตารางใหม่กำหนดคีย์หลักใหม่ในตารางเดิมนะคะ เราก็เอาคีย์หลักของตารางใหม่ไปใส่แค่นั้นเองวิธีการก็คือรูปนี้นะคะ สิ่งที่เป็นปัญหาที่จะยกตัวอย่างคือรหัสวิชาชิชาเพราะรหัสวิชามันไม่ได้ขึ้นตรงกับรหัสนักศึกษาเพราะฉะนั้นไอ้สองตัวนี้คือสิ่งที่เป็นปัญหาวิธีการแก้ปัญหาคือเราสร้างตารางผลการเรียนใหม่สร้างตารางวิชาใหม่เห็นไหมคะ ตารางใหม่เราจะตัดชื่อวิชาออกแต่ต้องเหลือรหัสวิชาไว้เพื่อให้เชื่อมโยงว่ารหัสวิชานี้มันชื่อวิชาอะไรตาราง 1แค่นั้นเองนะคะ ดีค่ะ อันนี้เป็นตัวอย่างของการสารในรูปแบบของส่ง EMSเดี๋ยววันนี้จะให้ทำการบ้านเดี๋ยวค่อยย้อนกลับมาแล้วกันนะคะ สอนภาษาเดี๋ยวแก้แล้วตาเมื่อกี้นะคะ ขั้นตอนสุดท้ายนะคะ 3nfนะคะ โดยความสัมพันธ์นะคะ ก่อนที่จะทำเป็นสามเณรได้จะต้องทำ 2 อย่างนี้มาก่อนหลักของการทำขั้นตอนที่ 3 คือต้องเอาความสัมพันธ์ที่ไม่ใช่คีย์หลักออกนะคะ เช่นไม่ใช่คีย์หลักแต่ไม่มีผลกับคนอื่นไม่ได้นะคะ ไม่ได้วิธีการแก้ปัญหาเช่นเดิมค่ะ สร้างตารางใหม่ขึ้นมาแก้ปัญหานาน ๆ อย่างเช่นในตัวอย่างนะคะ รหัสพนักงานนะคะ ชื่อสกุลรหัสแผนกชื่อแผนกเงินเดือนจะเห็นได้ว่าในตารางนี้เนี่ยคีย์หลักก็คือรหัสพนักงานวันนี้รหัสแผนกกับชื่อแผนกติดมาด้วยซึ่งมันไม่ได้เกี่ยวกับรหัสพนักงานเลยวิธีการแก้ปัญหาก็คือเอารหัสแผนกชื่อแผนกไปสร้างตารางใหม่แต่ต้องยังคงรหัสแผนกไว้ตารางเดิมนะคะ เพื่อให้มันเชื่อมโยงได้ว่าไอ้แผนก a001 เนี่ยคือแผนกอะไรอันนี้คือการแก้ปัญหาไม่ใช่คีย์หลักแต่ไปส่งผลกับคอลัมน์อื่น ๆ ในตารางนะคะ เ***จริง ๆ แล้วอยากให้ลองทำในห้องมากกว่าแต่ด้วยสัปดาห์นี้มันมีข้อจำกัดเนาะก็ไม่เป็นไรนี้เป็นตัวอย่างนะคะ สรุปนะคะ วิธีการทำนกในชาติหรือว่าการปรับบรรทัดฐานนะคะ ทุก ๆ ที่ทุก ๆ คนร่ำในแต่ละแถวจะต้องมีค่าของข้อมูลเพียงค่าเดียวเท่านั้นเช่นเวลาเรากรอกเบอร์โทรศัพท์เรามีโทรศัพท์ 3 เบอร์ก็จริงแต่เราจะกรอกได้แค่เบอร์เดียวถ้าอยากใส่เบอร์ที่ 2 ที่ 3 ก็ต้องเพิ่มข้อมูลแถวใหม่ขึ้นมาตอบมา2 SFก็ปัญหาคือถ้ามีข้อมูลนะคะ ขอข้อมูลทุกตัวในตารางนั้นจะต้องขึ้นกับคีย์หลักของตารางตัวเดียวเท่านั้นนะคะ ข้อที่ 3 ถ้าคอลัมน์ไหนที่ไม่ใช่คีย์หลักฟ้าส่งผลกับคอลัมน์อื่นในตารางไม่ได้เพราะฉะนั้นไปตลาดข้อ 1 นี้คือแค่กระต่ายตารางอันที่ 2 อันที่ 3 ถ้ามีปัญหาเราต้องสร้างตารางใหม่การบ้านเอางี้ดีกว่าอาจารย์จะให้ทำน่าจะส่งวันนี้เอาแค่ข้อเดียวนะคะ ข้อเดียวพอเพราะว่าจริง ๆ อยากให้ทำในห้องเดี๋ยวสัปดาห์หน้าค่อยทำในห้องจะให้ลองทำดูก่อนว่าที่เรียนไปวันนี้เข้าใจไหมถ้าทำเสร็จแล้วก็ค่อยเอามาส่งตู้ส่งงานอาจารย์เอาเฉพาะข้อดีนะข้อเดียวคนเดียวพอวันนี้คนเดียวพอนะคะ ส่งในเวลานี้แหละให้ลองทำดูว่าเข้าใจไหมข้อนี้ทำอย่างเงี้ยทำยังไงได้มาก ๆ เลยการเว้นช่องว่างให้แล้วเติมมา2 มิติคุณเห็นไหมว่ามันมีรหัสวิชาเนี่ยชาเนี่ยต้องทำยังไงกับมันแยกมันออกมาซิแยกยังไงเอาข้าวเหนียวก่อนนะคะ แล้วลองส่งมาให้อาจารย์ดูก่อนว่าเข้าใจมากน้อยขนาดไหนจริง ๆ อยากให้เรียนในห้องมากกว่าแต่วันนี้ก็เอามานี้ก่อนแล้วกันให้ทุกคนหายดีกลับมาอาทิตย์หน้าค่อยเดินดูในห้องดีกว่าวันนี้ก็ประมาณนี้นะคะ เดี๋ยวเวลาที่เหลือให้ทำข้อนี้แล้วมาส่งวันนี้เลยยิ่งดีเวลาที่เหลือทำใส่กระดาษมาส่งอาจารย์แล้วกันเนาะประมาณนี้ค่ะ เวลาที่เหลือทำให้เสร็จภายในวันนี้นะคะ ข้อเดียวเองนะคะ ข้อเดียวใครสงสัยไหมคะ อุ้ยสงสัยไหมเปิดไม่ได้หรือเปล่าไม่มีค่ะ อาจารย์เดี๋ยวถ้ายังไงเดี๋ยวให้อุบลไปส่งหรือยังไงคะเพราะว่าบนขึ้นไม่ ๆ ส่วนมากอยู่ในการอยู่หอนี่แหละตอนนี้เหลืออยู่ประมาณใส่ได้ก็เอามาOk Thank Youวันนี้ก็ประมาณนี้ค่ะ ขอบคุณทุกคนมากนะคะ พี่ยังตั้งใจเรียนอยู่แล้วก็งานอย่าลืมส่งวันนี้นะคะ อยู่ดี ๆ ก็ทำให้เสร็จแล้วก็ฝากเพื่อนมาส่งรวมกันมาส่งก็ได้นะคะ ถ้าใครอยู่หอก็จะมาทำอยู่ดี ๆ ก็ได้หรือว่าทำเสร็จแล้วมาส่งที่อาการก็ได้โอเคค่ะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณล่างด้วยนะคะ ค่าขอบคุณค่ะ วันนี้ครบเนาะOKประมาณนี้นะคะ วันนี้จะเป็นบทที่ 5เกี่ยวกับกระบวนการการปรับบรรทัดฐานขาภาษาอังกฤษก็จะเป็นนกอะไร Seasonมันก็จะมีความหมายแล้วก็จุดประสงค์ของการทำการปรับมาตรฐานนะคะ แล้วก็จะเกี่ยวกับฟังก์ชั่นการขึ้นต่อการและกระบวนการในการทำนมคาร์เนชั่นด้วยนะคะ มี 3 ข้อวันนี้โดยการประปาฐานนะคะ หรือว่านอนเมื่อไหร่แฟชั่นเนี่ยมันจะเป็นทฤษฎีที่คนที่จะต้องออกแบบฐานข้อมูลเขาจะต้องมาแปลงข้อมูลข้อมูลอาจจะเป็นข้อมูลที่ซับซ้อนนะคะ ให้มันง่ายเข้าใจก็ง่ายใช้งานก็ง่ายแล้วก็ต้องเป็นระบบที่หลังจากออกแบบแล้วนำไปใช้งานจริงต้องเกิดปัญหาน้อยที่สุดโดยกระบวนการทำงานนะคะ ในการปรับบรรทัดฐานเนี่ยมันจะมี 3 ระดับจริง ๆ เราก็จะเรียกสั้น ๆ ว่าระดับแรกนึกว่า 1nf2nf 3nfในระดับปริญญาตรีเนี่ยถึง 3ms ได้ก็ถือว่าเก่งมากแล้วนะคะ ถ้าเป็นระดับที่สูงขึ้นไปอีกก็จะถึงได้ถึง 5 nf เลยนะคะ อันนี้เป็นแผนภาพกระบวนการทำงานนะคะ ก่อนที่เราจะมาทำกระบวนการปรับบรรทัดฐานได้เนี่ยมันก็ต้องวิเคราะห์ความต้องการของผู้ใช้งานก่อนว่าเขาต้องการระบุการฐานข้อมูลแบบไหนมีความต้องการใช้ตารางกี่ตารางในฐานข้อมูลนะคะ หลังจากนั้นวาดรูปแผนที่โรงเรียนอาทิตย์ที่แล้วนะคะ ว่าเป็นแผนภาพเพื่อให้เข้าใจว่าสิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลมันตรงตามความต้องการหรือเปล่านะคะ แต่รูปแบบของรูปที่เราวันอาทิตย์ที่แล้วเนี่ยมันจะยังเป็นรูปแบบที่ยังไม่เป็นบรรทัดฐานหรือว่ายังไม่มีการจัดระเบียบความคิดข้อมูลที่ซ้ำซ้อนกันออกไปหรืออาจจะมีคีย์หลักที่มันขอนแก่นนะคะ เราก็เลยจะต้องเอาข้อมูลจากที่เราว่าอาทิตย์ที่แล้วเนี่ยเข้าสู่กระบวนการปรับพื้นฐานก่อนซึ่งอย่างที่บอกเราทำแค่ถึง 3S เนี่ยก็เก่งมากแล้วอย่างน้อย 2-3 นะคะ ไอ้บอยคอร์ดกับสีเนี่ยไม่ทำก็ก็ก็รักไว้ได้นะคะ แต่อย่างน้อยต้องถึงวัตถุประสงค์ของการปรับฐานนะคะ แน่นอนลดความซ้ำซ้อนของข้อมูลก็คือถ้าข้อมูลมันซ้ำกันเนี่ยเราก็ต้องตัดออกไปโครงสร้างเป็นสิ่งสำคัญมากเท่าไหร่เนื้อหาแล้วก็พื้นที่ในการเก็บข้อมูลอย่างมันก็จะเยอะก็ทำให้สิ้นเปลืองประมาณเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้องของข้อมูลข้อวันจันทร์อาจจะเกิดจากสาเหตุคือถ้าเหมือนที่ตัดกระจกทุกอย่างก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่นักศึกษาเก็บข้อมูคุณอาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้านก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลาแล้วคราวนี้ก็จะเป็นที่เถียงกันว่าสรุปแล้วเบอร์ไหนถูกเบอร์ไหนผิดโดยวัตถุประสงค์ของการปรับบรรทัดฐานก็คือข้อมูลจะถูกเก็บอยู่อย่างเดียวราคาเก็บไว้ที่เดียวแต่สามารถเรียกใช้และใช้งานได้หลาย ๆ ที่พร้อมกันได้แต่ถ้ามันมีการเปลี่ยนแปลงข้อมูลหรือมีการลบหรือการเพิ่มข้อมูลเพื่อให้ข้อมูลเป็นปัจจุบันที่สุดเราจะเก็บข้อมูลไว้ที่เดียวแเพราะฉะนั้นข้อมูลก็จะเป็นข้อมูลที่ถูกต้องแล้วก็ปัจจุบันด้วยแอย่างที่ใช้ในการเก็บข้อมูลที่เดียวเนี่ยมันก็จะลดความผิดพลาดที่เกิดจากการเปลี่ยนแปลงข้อมูลปรับปรุงข้อมูลนะคะ เหมือนที่บอกว่าคือถ้าเปลี่ยนเบอร์โทรศัพท์หรือเปลี่ยนบ้านเลขที่นะคะ ก็เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้พร้อมกันถ้าต้องการข้อมูลนะคะ ความซ้ำซ้อนกันของข้อมูลมันอาจจะเกิดความผิดพลาดของการปรับปรุงข้อมูลนะคะ แนวคิดที่สำคัญของการออกแบบฐานข้อมูลการออกแบบข้อมูลที่ซ้ำซ้อนกันน้อยที่สุดเพื่อประหยัดเนื้อที่ในการเก็บข้อมูลแล้วก็ลดปัญหาที่จะเกิดขึ้นถ้าสมมุติว่าข้อมูลมันซ้ำซ้อนกันมากเกินไปหรือปริมาณข้อมูลมันเยอะเกินไปอย่างเช่นตัวอย่างนะคะ ตารางด้านบนตารางสีเทาข้างบนจะเป็นตัวอย่างการออกแบบฐานข้อมูลที่ดีเดี๋ยวจะมาให้ดูว่าทำไมมันถึงดีกว่าในตารางข้างบนเนี่ยมันจะมีตารางของพนักงานแล้วก็ต่างสาขาจะเห็นได้ว่าตารางพนักงานจะมีส่วนหนึ่งที่เป็นข้อมูลของรหัสสาขาก้อยไม่อยู่ถามว่าทำไมไม่เอาข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะทำไมต้องแยกออกถ้าศึกษาดูคนแรกนะคะ พนักงานคนแรกรหัสสาขา b005ก็คือสาขาเชียงใหม่ถ้าสมมุติว่าพนักงานคนที่ 1 ลาออกก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ มีการลบข้อมูลบุคคลนี้หรอขีดฆ่าทิ้งฆ่าทิ้งสิ่งไหนที่หายไปบ้างแน่นอนสาขาเชียงใหม่จะหายไปด้วยถ้าสมมุติเราอยู่ด้วยกันแต่ถ้าสมมุติพนักงานคนนี้ลาออกสาขาเชียงใหม่ยังอยู่ไหมยังอยู่นะคะ ซึ่งแตกต่างจากด้านล่างด้านล่างเห็นไหมคำว่าถ้าสมมุติว่าจะลบทิ้งหมดเลยกากบาททิ้งสาขาเชียงใหม่หายไปด้วยแบบที่ไม่ดีเหมือนคนข้างล่างออกสาขาพิษณุโลกก็หายไปด้วยแต่ถ้าเป็นตารางด้านบนถ้าคนนี้ลาออกสาขายังอยู่ไหมยังอยู่เหมือนเดิมอันนี้คือการออกแบบฐานข้อมูลที่ดีถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อการเราจะต้องแยกตารางออกตัวอย่างนะคะ ถ้าการออกแบบที่ดีเนี่ยเราจะลดปัญหาความซ้ำซ้อนของข้อมูลได้เช่นตัวนี้อันนี้เป็นตารางที่ออกแบบที่ไม่ดีนะคะ เห็นไหมคะ ว่ามันจะมีรหัสสาขาแล้วก็ที่อยู่อยู่ในตารางเดียวกันถ้าสมมุติว่าอาจารย์เพิ่มเข้ามาใหม่อีก 1 คนนะคะ n e mถ้าต้องการเพิ่มพนักงานสาขาเชียงใหม่ก็ต้องมากรอกข้อมูลตรงนี้อีกเชียงใหม่ณโรงเรียนระโนดแต่ถ้าการออกแบบฐานข้อมูลที่ดีเนี่ยเราแค่ใส่รหัสสาขาไม่จำเป็นจะต้องพิมพ์ที่อยู่ทุกครั้งก็ได้เหมือนเวลาคุณไปธนาคารใช่ไหมคะ คุณก็แค่ยื่นบัตรประชาชนพนักงานธนาคารก็จะกรอกเลขบัตรประชาชนคุณนงไปหรืออาจจะเอาชิปการ์ดของคุณเนี่ยเสียบเข้าไปในเครื่องถามว่าตอนนี้เราได้กรอกข้อมูลไหมขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างที่คุณมีเขาจะดึงออกมาจากระบบให้เลยเราไม่ต้องมาเสียเวลาก่อนเหมือนเมื่อก่อนเนี่ยต้องเขียนใส่กระดาษและเลขบัตรประชาชนด้านรายชื่ออะไรนามสกุลอะไรที่อยู่ที่ไหนเบอร์โทรศัพท์อะไรเดี๋ยวนี้ไม่ต้องเลยขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างเราสามารถดึงขึ้นมาได้อยู่แล้วอันนี้ก็เช่นเดียวกันถ้าการออกแบบไม่ดีแต่เราต้องกรอกข้อมูลถูกต้องทุกช่องเลยเนี่ยมันทำให้อาจจะคนเดียวไม่เดือดร้อนค่ะ ถ้าเป็นพนักงานใหม่เป็นเหมือนโรงงานน่ะค่ะ ที่รักพันคนนั่งกรอกเชียงใหม่เป็นพันครั้งเนี่ยเสียเวลามาก ๆ อันนี้คือการออกแบบที่ไม่ดีนะคะ กลับอีกอย่างนึงถ้าสมมุติว่าเมื่อกี้อาจารย์เพิ่มพนักงานแล้วถ้ามันอยากเพิ่มแค่สาขาอย่าเพิ่งแค่สาขาซึ่งในตารางนี้กีฬาจำได้ไหมคะ ที่รักจะเป็นคีย์ที่ขีดเส้นใต้ซึ่งอาจารย์อยากเพิ่มสาขาสมุทรปราการจะเพิ่มบี100สกลนครละครนะคะ ถามว่าเพิ่มได้ไหม อาจจะเป็นการตั้งสาขาแต่ยังไม่มีพนักงานหรอกถ้าจากตารางนี้เราจะเพิ่มเฉพาะชื่อสาขาไม่ได้เรายังไม่มีรหัสพนักงานเพราะรหัสพนักงานเป็นคีย์หลักครีมคือคุณสมบัติมันคือเป็นค่าว่างไม่ได้ก็ทำให้เราเพิ่มสาขาไม่ได้ไม่มีพนักงานอันนี้ก็เป็นข้อผิดพลาดในการเพิ่มข้อมูลถ้าเราออกแบบตารางแบบนี้นะคะ ก็คือกันปัญหาที่เกิดขึ้นจากการออกแบบตารางที่ดีกลับหาโตมาเป็นปัญหาการลบข้อมูลที่อาจารย์บอกถ้าพนักงานคนนี้ออกสาขาเชียงใหม่หายไปด้วยลบไปกรณีความผิดพลาดจากการเปลี่ยนแปลงเหมือน b03 b03 นะคะ เป็นกรุงเทพฯใช่ไหมคะ แล้วคราวนี้ข้อมูลมันอยู่ในตารางเดียวกันถ้านักศึกษาจะแก้สมมุติว่าเราย้ายจากกรุงเทพฯไปอยู่นนทบุรีสมมุติมีพนักงาน 300 คนคุณต้องแก้กรุงเทพฯ 30 ครั้งนนทบุรีพนักงานมีคนส่งคนไม่ใช่ปัญหาค่ะ แต่ถ้าคุณเป็นโรงงานขนาดใหญ่นั่งแก้ทีละ 30 คนไม่ใช่เรื่องสนุกแน่ ๆ มันก็เป็นปัญหานะคะ เพราะฉะนั้นเราควรแยกตารางพนักงานกับตารางสาขาออกจากกันนะคะ มีเป็นเหตุผลนี่คือขนาดข้อมูลขนาดเล็กนะคะ แล้วยังเห็นปัญหาขนาดนี้ถ้าสมมุติว่าองค์กรขนาดใหญ่เป็นบริษัทเป็นโรงงานระดับโรงเรียนมีนักเรียนเป็น 2 302 3000 คนก็ได้นะคะ มีปัญหาเยอะมากถ้าสมมุติว่าเราจัดการตารางไม่ดีจากปัญหาที่เกิดขึ้นเมื่อกี้นะคะ อย่างที่บอกค่ะ เราจะแก้ปัญหาโดยการแยกตารางเป็น 2 ตารางแบบนี้นะคะ ฟังก์ชั่นการขึ้นต่อกันนะคะ อันนี้เดี๋ยวเป็นเกี่ยวกับตารางนึ่งนะคะ มีผลดีต่อราง 1 เราจะเรียกว่าเป็นฟังก์ชันการขึ้นต่อกันเดี๋ยวดูตัวอย่างเลยละกันอย่างเช่นทางนี้นะคะ ดูจากรหัสพนักงานนะคะ เขียนได้ว่ารหัสพนักงานจะส่งผลกับชื่อตำแหน่งสัญลักษณ์ของการขึ้นต่อกันนะคะ อันไหนเป็นตัวหลักชี้ไปที่ตัวรองราคาตามหัวลูกศรเลยดูทิศทางตามหัวลูกศรนะคะ อันไหนเป็นตัวหลักอันไหนเป็นตัวรองนะคะ เช่นตัวนี้ถามว่าตำแหน่งบัญชีที่รหัสพนักงานได้ไหม นะคะ ถามว่าไม่ได้เพราะการขึ้นต่อการจะต้องเป็นลักษณะหนึ่งต่อหนึ่งเท่านั้นเป็นหนึ่งต่อกลุ่มไม่ได้ชนิดของการขึ้นต่อกันนะคะ จะมีอยู่ 4 ชนิดนะคะ ชนิดแรกเป็นการขึ้นต่อกันโดยสมบูรณ์นะคะ ซึ่งอาจจะเป็นเกี่ยวกับตารางนะคะ จะมีคอลัมน์1 คอลัมน์หรือมากกว่า 1 คอลัมน์มาประกอบกันโดยในคอลัมน์นะเนี่ยค่าที่ระบุความพิเศษของแถว ๆ ได้อย่างชัดเจนaprilia จะเป็นค่าเฉพาะที่บอกเลยว่าคอร์ดข้อมูลแถวนั้นเนี่ยมันมีลักษณะพิเศษเฉพาะตัวยังไงโดยในทุกความสัมพันธ์เนี่ยจะต้องระบุค่าคีย์หลักไว้ด้วยครึ่งปีหลังนี้คือต้องเป็นค่าเอกลักษณ์คือไม่ซ้ำกันอยู่แล้วนะคะ อย่างเช่นการขึ้นต่อกันอย่างสมบูรณ์อันแรกนะคะ ก็คือคอลัมน์ที่ไม่ใช่คีย์หลักกีฬาจำได้ใช่ไหมคะ คีย์หลักจะเป็นคอลัมน์ที่มีขีดเส้นใต้คอลัมน์ที่ไม่ใช่คีย์หลักจะขึ้นตรงต่อคอลัมน์ที่เป็นคีย์หลักหมอลำเดียวเท่านั้นเช่นเลขบัตรประชาชนจะขึ้นจะเป็นเจ้าของชื่อนี้เท่านั้นนะคะ เพราะฉะนั้นการขึ้นตัวกันอย่างสมบูรณ์จะเป็นลักษณะแบบหนึ่งต่อหนึ่งนะคะ เลขบัตรประชาชน 1 เลขต้องเป็นของคนคนเดียวเท่านั้นไม่ใช่ว่าเลขประชาชนที่ใช้ 10 คนเป็นไปไม่ได้นะคะ ตัวอย่างนะคะ ตารางที่มี Column หลายตัวนะคะ ขึ้นอยู่กับคีย์หลักตัวเดียวเช่นคนหนึ่งคนเนี่ยก็จะมีข้อมูลชื่อนามสกุลวันเดือนปีเกิดวันที่ทำบัตรใช่ไหมคะ แต่ว่าเขาจะต้องขึ้นตรงกับเลขบัตรประชาชนเดียวเท่านั้นถามว่าสามคนนี้อาจจะเกิดวันเดียวกันก็ได้ค่ะ เลขบัตรประชาชนเขาจะไม่เหมือนกันหรือเขาอาจจะมาทำบัตรวันเดียวกันหมายเลขบัตรประชาชนเขาจะไม่ซ้ำกันคืออะไร ซ้ำกันได้ทุกอย่างค่ะ ยกเว้นหมายเลขบัตรประชาชนแต่บางตารางนะคะ ก็อาจจะเป็นการรวมตัวกันของกีฬามากกว่า 1 ปีหลักนะคะ มารวมกันเช่นนักศึกษาวันนี้เอกสารนี้ลงทะเบียนวิชานี้ได้เกรดอะไรอันนี้ก็เป็นความสัมพันธ์ที่เกิดขึ้นได้เหมือนกันค่ะ ว่าบัตรนักศึกษาซ้ำกันได้ไหม รหัสวิชาซ้ำกันได้ไหม เหมือนชื่อวิชาการรหัสนึงเชื่อใจคนอื่นก็รหัสวิชาอีกอันนึงนี้จะไม่ซ้ำกันอยู่แล้วนะคะ ต่อมาจะเป็นการขึ้นต่อกันบางส่วนมันก็จะเป็นอาศัยความสัมพันธ์ที่เกิดขึ้นจากวิธีผสมนะคะ อาจจะเป็นเส้นตรงจากตารางอื่นหรือส่งตารางมารวมกันอาจจะไม่ใช่คีย์หลักก็ได้แต่มันมีความหมายกับคอลัมน์นึงเดี๋ยวจะยกตัวอย่างเลยดีกว่าอย่างเช่นนึกว่าตารางเทียบไซส์ให้ดูเมื่อกี้นะคะ ก็จะมีรหัสนักศึกษารหัสวิชามีเกรดแล้วก็มีการบอกด้วยว่ารหัสวิชานี้เป็นชื่อวิชาอะไรนะคะ มันจะเป็นการเกิดขึ้นเมื่อกีฬาประกอบกันด้วยคอลัมน์หรือว่า Accident รวมกันโดยบางส่วนของคีย์หลักสามารถไประบุค่าอย่างอื่นที่ไม่ใช่คีย์หลักได้นะคะ อย่างเช่นในความสัมพันธ์นี้คีย์หลักจะมี 2 ตัวมีรหัสนักศึกษารหัสวิชาถามว่าถ้ามีแต่รหัสนักศึกษานะคะ รหัสวิชาแล้วเราจะรู้ไหมว่าชื่อวิชาที่เราเรียนไปเนี่ยวิชาอะไรบางคนรู้รหัสวิชาแต่จำชื่อวิชาไม่ได้ก็มีเพราะฉะนั้นรหัสวิชาเนี่ยมันเลยสามารถไปส่งผลกับชื่อวิชาได้เหมือนกันเพราะเป็นตัวระบุว่าไปหลายวิชาเนี่ยชื่อวิชาอะไรก็คือคีย์หลักในตารางนี้มี 2 อันแต่มีคีย์หลัก 1 ตัวเนี่ยไปมีผลกับแอตทริบิวต์ 1 ได้นะคะ อันนี้คือความขึ้นต่อกันบางส่วนอย่างเช่นตัวนี้ก็จะเป็นของจริงถ้าสูตรว่าอาจารย์ปัดรหัสนักศึกษาออกมีแค่ 5 วิชามีเกรดมีการวิชาเขียนโปรแกรมแล้วถามรู้ไหมคะ ว่าเกรดเอที่ของใครนะคะ หรือว่าอย่าลบไปเที่ยวก่อนนะหรือว่าการลบรหัสวิชาออกเหลือแต่นักศึกษาเหลือเกรดชื่อวิชาแล้วถามว่ารหัสวิชาอะไรล่ะที่เราได้เกรด Aเราก็ไม่ทราบอีกเหมือนกันนะคะ อันนี้ก็คือการขึ้นต่อกันบางส่วนเป็นการขึ้นต่อกันแบบส่งต่อก็จะเป็นความสัมพันธ์ที่เกิดขึ้นก็ต่อเมื่อมีแอตทริบิวต์หรือว่าคนอื่นที่ไม่ใช่ครีมแต่ไปสามารถขึ้นสามารถระบุค่าของแอตทริบิวต์อื่นใน Accord ได้ซึ่งเป็นการออกแบบที่ไม่เหมาะสมเพราะส่วนใหญ่แล้วในตารางเนี่ยถ้าเราจะระบุค่าอื่นให้กับคอลัมน์อื่นได้ควรจะต้องเป็นคีย์หลักเท่านั้นดูตัวอย่างนะคะ เช่นตารางเนี้ยเขาบอกว่าสิ่งที่เกิดขึ้นคือแอตทริบิวต์คือคอลัมน์ที่ไม่ใช่คีย์หลักหรือ Primary Key นะคะ ก็คือไม่ใช่คอลัมน์ที่มีเส้นขีดมันไประบุค่าอื่น ๆ ในตารางได้เช่นตารางนี้ก็คือเลขประจำตัวตัวเลขประจำตัวเนี่ยไปมีผลกับชื่อนามสกุลที่อยู่ตำแหน่งใช่ไหมคะ เขาเนี่ยรถประจำตำแหน่งมันไม่ถูกระบุโดยเลขประจำตัวมันถูกระบุโดยรหัสตำแหน่งเหมือนถ้าเป็นผู้จัดการเนี่ยแผนที่ผู้จัดการนะคะ จะรู้เลยว่ารถประจำตำแหน่งคืออะไร แต่เขาไปเช็คที่รหัสตำแหน่งแผนที่จะเช็คกับเลขประจําตัวการออกแบบที่ไม่ดีเพราะฉะนั้นถ้าสมมุติว่าจะให้รถประจำตำแหน่งวิธีการแก้ปัญหาก็คือเราควรจะแยกตารางนี้ออกไปสร้างตารางใหม่เลยค่ะ มันไม่ควรจะมาขึ้นกับตารางขี้มีกี่หลักแต่ไม่สามารถระบุค่าข้อมูลตรงนี้ได้เนี่ยมันไม่ควรทำกลับต่อมาเป็นการขึ้นต่อการเชิงกลุ่มนะคะ น่าจะเป็นความสัมพันธ์ระหว่างคอลัมน์ Matrixขึ้นต่อกันแบบสมบูรณ์นะคะ ก็ไปสามารถระบุค่าอื่นได้โดยที่อย่างเช่นตัวอย่างในตารางนี้นะคะ จะมีรหัสหลักสูตรสามารถระบุรหัสวิชาได้หลายวิชาเช่นจริง ๆ ในสถานศึกษาจะเห็นได้ว่ามีเลข122รหัสนักศึกษาB12 คืออะไร 12 ก็คือหลักสูตรที่เราเรียนอยู่ซึ่งในหลักสูตรที่โรงเรียนเนี่ยมันมีวิชามากกว่า 20 วิชานะคะ ก็คือรหัสหลักสูตรเนี่ยมันสามารถระบุรหัสวิชาได้หลากหลายรหัสวิชามาก ๆ ก็คือการขึ้นต่อกันแบบมีค่ามากกว่า 1รหัสหลักสูตรสามารถระบุรหัสวิชาได้หลายค่านั่นเองแล้วรหัสหลักสูตรก็สามารถระบุค่ารหัสนักศึกษาได้หลายคนเช่นกันเหมือนตอนนี้หลักสูตรที่โรงเรียนศึกษาเกือบ 100 คนรหัสหลักสูตรเดียวนะนะคะ นี่คือความสัมพันธ์แบบสามารถระบุค่าได้มากกว่า 1 นั้นเองแบบไหนค่าเพราะฉะนั้นวิธีการแก้ปัญหาของสิ่งที่เกิดขึ้นนะคะ เราเลยจะต้องมีการกระบวนการปรับบรรทัดฐานหรือว่ากระบวนการปรับปรุงโครงสร้างของฐานข้อมูลนะคะ ที่มีความซ้ำซ้อนกันให้อยู่ในรูปแบบที่เป็นบรรทัดฐานก็คือเป็นรูปแบบที่พร้อมที่จะเอาไปพัฒนาเป็นฐานข้อมูลได้โดยหลักการนะคะ ที่บอกมี 5 ระดับแต่ระดับที่ 3 เนี่ยก็ถือว่าเพียงพอสำหรับการออกแบบฐานข้อมูลในปัจจุบันแล้วโดยที่รักของการทำงานนะคะ ท่านที่ 1 นะคะ กำจัดกลุ่มของข้อมูลที่มีความซ้ำซ้อนกันออกไปขอแลกง่ายมาก ๆ ง่ายที่สุดก็คือ 1 nf นะคะ ต่อมาครั้งที่ 2 อยู่ 2 nfจะกำจัดการขึ้นต่อกันบางส่วนออกอันสุดท้าย 3nf นะคะ กำจัดการขึ้นต่อกันของแอตทริบิวต์ที่ไม่ใช่ครีมเดี๋ยวจะมาดูทีละขั้นมันจะต้องเป็นยังไงบ้างคนแรกง่ายที่สุดง่ายมาก ๆ นะคะ ให้นักศึกษาจำกระบวนการหลัก ๆ จะมี 3 ข้อนะคะ ขั้นตอนการแรกเลยดูก่อนว่าคำซ้อนกันไหมคำที่ 2 คือมันขึ้นต่อกันแค่บางส่วนหรือเปล่าอันที่ 3 อันไหนไม่ใช่ครีมแต่มันไปส่งผลกระทบกับข้อมูลอื่นได้หรือเปล่าดูอันดับที่ 1 ก่อนวันที่ 1 ได้มากนะคะ ทุก ๆ คอลัมน์ akashic Recordsจะต้องเป็นค่า Single Value คือมีค่าเดียวเท่านั้นจะใส่แบบนี้ไม่ได้เพราะฉะนั้นข้อมูลทุกแถวจะต้องไม่มีค่าที่ซ้ำกันอย่างเนี้ยนักศึกษาคนที่ 1แน่นอนทั้ง 31 เทอมเนี่ยคุณลงทะเบียนประมาณ 6-7 วิชาใช่ไหมคะ ข้อมูลมันก็จะเป็นแบบนี้ถ้าเราไม่มีการทำน้ำทะเลสั้นคราวนี้ขั้นตอนที่ 1เราจะข้อมูลที่ซ้ำซ้อนกันออกวิธีการง่ายมากค่ะ คือแจ้งข้อมูลออกเป็นอย่างละแถวที่ไม่ซ้ำกันดูตัวอย่างนะคะ วิธีการทำ 1 n f ง่ายมากค่ะ ถ้าข้อมูลตัวไหนเป็นกลุ่มนะคะ คนที่ 1 วิชาลงทะเบียนเรียน 3 วิชาใช่ไหมคะ คนที่ 2 มี 2 วิชาสามารถทำในรูปแบบ 1nf ก็คือเอามันจะตายออกมาค่ะ ย้ายข้อมูลพรุ่งนี้ออกมากระต่ายออกใช่ไหมคะ กระจายออกง่ายมากข้อมูลพรุ่งนี้ก็ทำซ้ำลงมาทำซ้ำลงมาสำโรงมาทำซ้ำลงมาถามว่าอ้าวตาเขาทำไมทำไม 001 มันซ้ำกันได้ล่ะแต่รหัสวิชาเขาไม่ซ้ำกันเห็นไหมค่ะ เด็ก ๆ เลยง่ายมากค่ะ ข้อมูลทำไมเป็นก้อนอย่างนี้เรากระจายออกมาเป็นแยกออกมาเป็นบรรทัดบรรทัดเลยแค่นั้นเองอย่างน้อยในข้อสอบต้องทำเน็ตให้ได้มันง่ายที่สุดแล้วนะคะ ไม่ใช่ตัวนี้นะคะ ก็กระจายออกมาแล้วคราวนี้ถ้าเรากระจายข้อมูลเรียบร้อยแล้วนะคะ ว่าจะมาดูว่าในตารางนี้ค่ะ มันมีตารางของพนักงานใช่ไหมคะ เขาจะมีคีย์หลัก 1 ตัวละแปลว่ามันจะมีตัวนี้ค่ะ ตัวที่ 1 ตัวที่ 2 ที่มีคุณสมบัติเป็นคีย์หลักได้เราต้องแยกมันออกควรการนะคะ ดูก่อนว่าตารางวิธีนะคะ สิ่งที่ขึ้นตรงกับคีย์หลักตัวนี้นะคะ ก็จะเป็นตัวที่ 1 ตัวที่ 2 ตัวที่ 3สังเกตเราว่าที่รักมีตัวเดียวข้อมูลมีเยอะมากนะคะ ออกมาได้อันแรกเลยรหัสโปรเจคนะคะ แล้วก็ชื่อโปรเจคนะคะ ใครเป็นผู้จัดการเงินเดือนเท่าไหร่งบประมาณเท่าไหร่คือมันจะเชื่อมโยงกับข้อมูลที่เป็นคีย์หลักก็คือ Project Code วันนี้ส่วนตัวนี้เป็นคีย์คู่แข่ง2 ตัว2 ตัวฉันสามารถทำหน้าที่เป็นคีย์หลักให้กับอย่างตัวนี้นะคะ มันจะเป็นคีย์หลักให้กับชื่อของพนักงานอย่างตัวนี้ว่าจะเป็นคีย์หลักสำหรับชื่อแผนกถามว่ามันขึ้นตรงกับโปรเจค Code ไหมไม่นะคะ ฉะนั้นการทำขั้นตอนต่อมานะคะ ส่ง EMSขั้นตอนที่ 1เราจะต้องทำ 1 f มาเรียบร้อยแล้วซึ่งได้ทักมาแล้วก็ต้องมาบัตรของการขึ้นต่อกันบางส่วนออกก็คือการกำจัดบิวตี้ไม่ขึ้นคีย์หลักของตารางนั้นเองจะออกนะคะ อย่างเช่นตัวนี้นะคะ การขึ้นต่อกันบางส่วนจะเห็นได้ว่ารหัสวิชากับชื่อวิชามันไม่ขึ้นตรงกับรหัสนักศึกษาใช่ไหมคะ นี้จำได้นะลูกเดิมหารูปเดิมวิธีกำจัดปัญหาเราก็ดึงสิ่งที่มันเป็นปัญหาสิ่งที่มันไม่ขึ้นตรงกับคีย์หลักตัวนั้นไปสร้างตารางใหม่สร้างตารางเพิ่มเอาสิ่งที่เป็นปัญหาออกมาไปใส่ตารางใหม่กำหนดคีย์หลักใหม่ในตารางเดิมนะคะ เราก็เอาคีย์หลักของตารางใหม่ไปใส่แค่นั้นเองวิธีการก็คือรูปนี้นะคะ สิ่งที่เป็นปัญหาที่จะยกตัวอย่างคือรหัสวิชาชิชาเพราะรหัสวิชามันไม่ได้ขึ้นตรงกับรหัสนักศึกษาเพราะฉะนั้นไอ้สองตัวนี้คือสิ่งที่เป็นปัญหาวิธีการแก้ปัญหาคือเราสร้างตารางผลการเรียนใหม่สร้างตารางวิชาใหม่เห็นไหมคะ ตารางใหม่เราจะตัดชื่อวิชาออกแต่ต้องเหลือรหัสวิชาไว้เพื่อให้เชื่อมโยงว่ารหัสวิชานี้มันชื่อวิชาอะไรตาราง 1แค่นั้นเองนะคะ ดีค่ะ อันนี้เป็นตัวอย่างของการสารในรูปแบบของส่ง EMSเดี๋ยววันนี้จะให้ทำการบ้านเดี๋ยวค่อยย้อนกลับมาแล้วกันนะคะ สอนภาษาเดี๋ยวแก้แล้วตาเมื่อกี้นะคะ ขั้นตอนสุดท้ายนะคะ 3nfนะคะ โดยความสัมพันธ์นะคะ ก่อนที่จะทำเป็นสามเณรได้จะต้องทำ 2 อย่างนี้มาก่อนหลักของการทำขั้นตอนที่ 3 คือต้องเอาความสัมพันธ์ที่ไม่ใช่คีย์หลักออกนะคะ เช่นไม่ใช่คีย์หลักแต่ไม่มีผลกับคนอื่นไม่ได้นะคะ ไม่ได้วิธีการแก้ปัญหาเช่นเดิมค่ะ สร้างตารางใหม่ขึ้นมาแก้ปัญหานาน ๆ อย่างเช่นในตัวอย่างนะคะ รหัสพนักงานนะคะ ชื่อสกุลรหัสแผนกชื่อแผนกเงินเดือนจะเห็นได้ว่าในตารางนี้เนี่ยคีย์หลักก็คือรหัสพนักงานวันนี้รหัสแผนกกับชื่อแผนกติดมาด้วยซึ่งมันไม่ได้เกี่ยวกับรหัสพนักงานเลยวิธีการแก้ปัญหาก็คือเอารหัสแผนกชื่อแผนกไปสร้างตารางใหม่แต่ต้องยังคงรหัสแผนกไว้ตารางเดิมนะคะ เพื่อให้มันเชื่อมโยงได้ว่าไอ้แผนก a001 เนี่ยคือแผนกอะไรอันนี้คือการแก้ปัญหาไม่ใช่คีย์หลักแต่ไปส่งผลกับคอลัมน์อื่น ๆ ในตารางนะคะ เ***จริง ๆ แล้วอยากให้ลองทำในห้องมากกว่าแต่ด้วยสัปดาห์นี้มันมีข้อจำกัดเนาะก็ไม่เป็นไรนี้เป็นตัวอย่างนะคะ สรุปนะคะ วิธีการทำนกในชาติหรือว่าการปรับบรรทัดฐานนะคะ ทุก ๆ ที่ทุก ๆ คนร่ำในแต่ละแถวจะต้องมีค่าของข้อมูลเพียงค่าเดียวเท่านั้นเช่นเวลาเรากรอกเบอร์โทรศัพท์เรามีโทรศัพท์ 3 เบอร์ก็จริงแต่เราจะกรอกได้แค่เบอร์เดียวถ้าอยากใส่เบอร์ที่ 2 ที่ 3 ก็ต้องเพิ่มข้อมูลแถวใหม่ขึ้นมาตอบมา2 SFก็ปัญหาคือถ้ามีข้อมูลนะคะ ขอข้อมูลทุกตัวในตารางนั้นจะต้องขึ้นกับคีย์หลักของตารางตัวเดียวเท่านั้นนะคะ ข้อที่ 3 ถ้าคอลัมน์ไหนที่ไม่ใช่คีย์หลักฟ้าส่งผลกับคอลัมน์อื่นในตารางไม่ได้เพราะฉะนั้นไปตลาดข้อ 1 นี้คือแค่กระต่ายตารางอันที่ 2 อันที่ 3 ถ้ามีปัญหาเราต้องสร้างตารางใหม่การบ้านเอางี้ดีกว่าอาจารย์จะให้ทำน่าจะส่งวันนี้เอาแค่ข้อเดียวนะคะ ข้อเดียวพอเพราะว่าจริง ๆ อยากให้ทำในห้องเดี๋ยวสัปดาห์หน้าค่อยทำในห้องจะให้ลองทำดูก่อนว่าที่เรียนไปวันนี้เข้าใจไหมถ้าทำเสร็จแล้วก็ค่อยเอามาส่งตู้ส่งงานอาจารย์เอาเฉพาะข้อดีนะข้อเดียวคนเดียวพอวันนี้คนเดียวพอนะคะ ส่งในเวลานี้แหละให้ลองทำดูว่าเข้าใจไหมข้อนี้ทำอย่างเงี้ยทำยังไงได้มาก ๆ เลยการเว้นช่องว่างให้แล้วเติมมา2 มิติคุณเห็นไหมว่ามันมีรหัสวิชาเนี่ยชาเนี่ยต้องทำยังไงกับมันแยกมันออกมาซิแยกยังไงเอาข้าวเหนียวก่อนนะคะ แล้วลองส่งมาให้อาจารย์ดูก่อนว่าเข้าใจมากน้อยขนาดไหนจริง ๆ อยากให้เรียนในห้องมากกว่าแต่วันนี้ก็เอามานี้ก่อนแล้วกันให้ทุกคนหายดีกลับมาอาทิตย์หน้าค่อยเดินดูในห้องดีกว่าวันนี้ก็ประมาณนี้นะคะ เดี๋ยวเวลาที่เหลือให้ทำข้อนี้แล้วมาส่งวันนี้เลยยิ่งดีเวลาที่เหลือทำใส่กระดาษมาส่งอาจารย์แล้วกันเนาะประมาณนี้ค่ะ เวลาที่เหลือทำให้เสร็จภายในวันนี้นะคะ ข้อเดียวเองนะคะ ข้อเดียวใครสงสัยไหมคะ อุ้ยสงสัยไหมเปิดไม่ได้หรือเปล่าไม่มีค่ะ อาจารย์เดี๋ยวถ้ายังไงเดี๋ยวให้อุบลไปส่งหรือยังไงคะเพราะว่าบนขึ้นไม่ ๆ ส่วนมากอยู่ในการอยู่หอนี่แหละตอนนี้เหลืออยู่ประมาณใส่ได้ก็เอามาOk Thank Youวันนี้ก็ประมาณนี้ค่ะ ขอบคุณทุกคนมากนะคะ พี่ยังตั้งใจเรียนอยู่แล้วก็งานอย่าลืมส่งวันนี้นะคะ อยู่ดี ๆ ก็ทำให้เสร็จแล้วก็ฝากเพื่อนมาส่งรวมกันมาส่งก็ได้นะคะ ถ้าใครอยู่หอก็จะมาทำอยู่ดี ๆ ก็ได้หรือว่าทำเสร็จแล้วมาส่งที่อาการก็ได้โอเคค่ะ วันนี้ก็ประมาณนี้ค่ะ ขอบคุณล่างด้วยนะคะ ค่าขอบคุณค่ะ วันนี้ครบเนาะOKประมาณนี้นะคะ วันนี้จะเป็นบทที่ 5เกี่ยวกับกระบวนการการปรับบรรทัดฐานขาภาษาอังกฤษก็จะเป็นนกอะไร Seasonมันก็จะมีความหมายแล้วก็จุดประสงค์ของการทำการปรับมาตรฐานนะคะ แล้วก็จะเกี่ยวกับฟังก์ชั่นการขึ้นต่อการและกระบวนการในการทำนมคาร์เนชั่นด้วยนะคะ มี 3 ข้อวันนี้โดยการประปาฐานนะคะ หรือว่านอนเมื่อไหร่แฟชั่นเนี่ยมันจะเป็นทฤษฎีที่คนที่จะต้องออกแบบฐานข้อมูลเขาจะต้องมาแปลงข้อมูลข้อมูลอาจจะเป็นข้อมูลที่ซับซ้อนนะคะ ให้มันง่ายเข้าใจก็ง่ายใช้งานก็ง่ายแล้วก็ต้องเป็นระบบที่หลังจากออกแบบแล้วนำไปใช้งานจริงต้องเกิดปัญหาน้อยที่สุดโดยกระบวนการทำงานนะคะ ในการปรับบรรทัดฐานเนี่ยมันจะมี 3 ระดับจริง ๆ เราก็จะเรียกสั้น ๆ ว่าระดับแรกนึกว่า 1nf2nf 3nfในระดับปริญญาตรีเนี่ยถึง 3ms ได้ก็ถือว่าเก่งมากแล้วนะคะ ถ้าเป็นระดับที่สูงขึ้นไปอีกก็จะถึงได้ถึง 5 nf เลยนะคะ อันนี้เป็นแผนภาพกระบวนการทำงานนะคะ ก่อนที่เราจะมาทำกระบวนการปรับบรรทัดฐานได้เนี่ยมันก็ต้องวิเคราะห์ความต้องการของผู้ใช้งานก่อนว่าเขาต้องการระบุการฐานข้อมูลแบบไหนมีความต้องการใช้ตารางกี่ตารางในฐานข้อมูลนะคะ หลังจากนั้นวาดรูปแผนที่โรงเรียนอาทิตย์ที่แล้วนะคะ ว่าเป็นแผนภาพเพื่อให้เข้าใจว่าสิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลมันตรงตามความต้องการหรือเปล่านะคะ แต่รูปแบบของรูปที่เราวันอาทิตย์ที่แล้วเนี่ยมันจะยังเป็นรูปแบบที่ยังไม่เป็นบรรทัดฐานหรือว่ายังไม่มีการจัดระเบียบความคิดข้อมูลที่ซ้ำซ้อนกันออกไปหรืออาจจะมีคีย์หลักที่มันขอนแก่นนะคะ เราก็เลยจะต้องเอาข้อมูลจากที่เราว่าอาทิตย์ที่แล้วเนี่ยเข้าสู่กระบวนการปรับพื้นฐานก่อนซึ่งอย่างที่บอกเราทำแค่ถึง 3S เนี่ยก็เก่งมากแล้วอย่างน้อย 2-3 นะคะ ไอ้บอยคอร์ดกับสีเนี่ยไม่ทำก็ก็ก็รักไว้ได้นะคะ แต่อย่างน้อยต้องถึงวัตถุประสงค์ของการปรับฐานนะคะ แน่นอนลดความซ้ำซ้อนของข้อมูลก็คือถ้าข้อมูลมันซ้ำกันเนี่ยเราก็ต้องตัดออกไปโครงสร้างเป็นสิ่งสำคัญมากเท่าไหร่เนื้อหาแล้วก็พื้นที่ในการเก็บข้อมูลอย่างมันก็จะเยอะก็ทำให้สิ้นเปลืองประมาณเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้องของข้อมูลข้อมูลเนี่ยนอกจากที่จะไม่เกิดความสอดคล้องกันแล้วเนี่ยวันจันทร์อาจจะเกิดจากสาเหตุคือถ้าเหมือนที่ตัดกระจกทุกอย่างก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่นักศึกษาเก็บข้อมูลที่คณะด้วยเก็บที่มหาลัยด้วยเก็บที่สาขาด้วยเนี่ยบางทีถ้าวันนึงคุณอาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้านก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลาแล้วคราวนี้ก็จะเป็นที่เถียงกันว่าสรุปแล้วเบอร์ไหนถูกเบอร์ไหนผิดโดยวัตถุประสงค์ของการปรับบรรทัดฐานก็คือข้อมูลจะถูกเก็บอยู่อย่างเดียวราคาเก็บไว้ที่เดียวแต่สามารถเรียกใช้และใช้งานได้หลาย ๆ ที่พร้อมกันได้แต่ถ้ามันมีการเปลี่ยนแปลงข้อมูลหรือมีการลบหรือการเพิ่มข้อมูลเพื่อให้ข้อมูลเป็นปัจจุบันที่สุดเราจะเก็บข้อมูลไว้ที่เดียวแก้ไขก็ที่เดียวเพราะฉะนั้นข้อมูลก็จะเป็นข้อมูลที่ถูกต้องแล้วก็ปัจจุบันด้วยแล้วก็อย่างที่ใช้ในการเก็บข้อมูลที่เดียวเนี่ยมันก็จะลดความผิดพลาดที่เกิดจากการเปลี่ยนแปลงข้อมูลปรับปรุงข้อมูลนะคะ เหมือนที่บอกว่าคือถ้าเปลี่ยนเบอร์โทรศัพท์หรือเปลี่ยนบ้านเลขที่นะคะ ก็เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้พร้อมกันถ้าต้องการข้อมูลนะคะ ความซ้ำซ้อนกันของข้อมูลมันอาจจะเกิดความผิดพลาดของการปรับปรุงข้อมูลนะคะ แนวคิดที่สำคัญของการออกแบบฐานข้อมูลการออกแบบข้อมูลที่ซ้ำซ้อนกันน้อยที่สุดเพื่อประหยัดเนื้อที่ในการเก็บข้อมูลแล้วก็ลดปัญหาที่จะเกิดขึ้นถ้าสมมุติว่าข้อมูลมันซ้ำซ้อนกันมากเกินไปหรือปริมาณข้อมูลมันเยอะเกินไปอย่างเช่นตัวอย่างนะคะตารางด้านบนตารางสีเทาข้างบนจะเป็นตัวอย่างการออกแบบจะเห็นได้ว่าตารางพนักงานจะมีส่วนหนึ่งที่เป็นข้อมูลของรหัสสาขาก้อยไม่อยู่ถามว่าทำไมไม่เอาข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะทำไมต้องแยกออกถ้าศึกษาดูคนแรกนะคะ พนักงานคนแรกรหัสสาขา b005ก็คือสาขาเชียงใหม่ถ้าสมมุติว่าพนักงานคนที่ 1 ลาออกก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ มีการลบข้อมูลบุคคลนี้หรอขีดฆ่าทิ้งฆ่าทิ้ง123123123สิ่งไหนที่หายไปบ้างแน่นอนสาขาเชียงใหม่จะหายไปด้วยถ้าสมมุติเราอยู่ด้วยกันแต่ถ้าสมมุติพนักงานคนนี้ลาออกสาขาเชียงใหม่ยังอยู่ไหมยังอยู่นะคะ ซึ่งแตกต่างจากด้านล่างด้านล่างเห็นไหมคำว่าถ้าสมมุติว่าจะลบทิ้งหมดเลยกากบาททิ้งสาขาเชียงใหม่หายไปด้วยแบบที่ไม่ดีเหมือนคนข้างล่างออกสาขาพิษณุโลกก็หายไปด้วยแต่ถ้าเป็นตารางด้านบนถ้าคนนี้ลาออกสาขายังอยู่ไหมยังอยู่เหมือนเดิมอันนี้คือการออกแบบฐานข้อมูลที่ดีถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อการเราจะต้องแยกตารางออกตัวอย่างนะคะ ถ้าการออกแบบที่ดีเนี่ยเราจะลดปัญหาความซ้ำซ้อนของข้อมูลได้เช่นตัวนี้อันนี้เป็นตารางที่ออกแบบที่ไม่ดีนะคะ เห็นไหมคะ ว่ามันจะมีรหัสสาขาแล้วก็ที่อยู่อยู่ในตารางเดียวกันถ้าสมมุติว่าอาจารย์เพิ่มเข้ามาใหม่อีก 1 คนนะคะ n e mถ้าต้องการเพิ่มพนักงานสาขาเชียงใหม่ก็ต้องมากรอกข้อมูลตรงนี้อีกเชียงใหม่ณโรงเรียนระโนดแต่ถ้าการออกแบบฐานข้อมูลที่ดีเนี่ยเราแค่ใส่รหัสสาขาไม่จำเป็นจะต้องพิมพ์ที่อยู่ทุกครั้งก็ได้เหมือนเวลาคุณไปธนาคารใช่ไหมคะ คุณก็แค่ยื่นบัตรประชาชนพนักงานธนาคารก็จะกรอกเลขบัตรประชาชนคุณนงไปหรืออาจจะเอาชิปการ์ดของคุณเนี่ยเสียบเข้าไปในเครื่องถามว่าตอนนี้เราได้กรอกข้อมูลไหมขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างที่คุณมีเขาจะดึงออกมาจากระบบให้เลยเราไม่ต้องมาเสียเวลาก่อนเหมือนเมื่อก่อนเนี่ยต้องเขียนใส่กระดาษและเลขบัตรประชาชนด้านรายชื่ออะไรนามสกุลอะไรที่อยู่ที่ไหนเบอร์โทรศัพท์อะไรเดี๋ยวนี้ไม่ต้องเลยขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างเราสามารถดึงขึ้นมาได้อยู่แล้วอันนี้ก็เช่นเดียวกันถ้าการออกแบบไม่ดีแต่เราต้องกรอกข้อมูลถูกต้องทุกช่องเลยเนี่ยมันทำให้อาจจะคนเดียวไม่เดือดร้อนค่ะ ถ้าเป็นพนักงานใหม่เป็นเหมือนโรงงานน่ะค่ะ ที่รักพันคนนั่งกรอกเชียงใหม่เป็นพันครั้งเนี่ยเสียเวลามากๆอันนี้คือการออกแบบที่ไม่ดีนะคะกลับอีกอย่างนึงถ้าสมมุติว่าเมื่อกี้อาจารย์เพิ่มพนักงานแล้วถ้ามันอยากเพิ่มแค่สาขาอย่าเพิ่งแค่สาขาซึ่งในตารางนี้กีฬาจำได้ไหมคะที่รักจะเป็นคีย์ที่ขีดเส้นใต้ซึ่งอาจารย์อยากเพิ่มสาขาสมุทรปราการจะเพิ่มบี100สกลนครละครนะคะถ้าจากตารางนี้เราจะเพิ่มเฉพาะชื่อสาขาไม่ได้เรายังไม่มีรหัสพนักงานเพราะรหัสพนักงานเป็นคีย์หลักครีมคือคุณสมบัติมันคือเป็นค่าว่างไม่ได้ก็ทำให้เราเพิ่มสาขาไม่ได้ไม่มีพนักงานอันนี้ก็เป็นข้อผิดพลาดในการเพิ่มข้อมูลถ้าเราออกแบบตารางแบบนี้นะคะ ก็คือกันปัญหาที่เกิดขึ้นจากการออกแบบตารางที่ดีกลับหาโตมาเป็นปัญหาการลบข้อมูลที่อาจารย์บอกถ้าพนักงานคนนี้ออกสาขาเชียงใหม่หายไปด้วยลบไปกรณีความผิดพลาดจากการเปลี่ยนแปลงเหมือน b03 b03 นะคะ เป็นกรุงเทพฯใช่ไหมคะแล้วคราวนี้ข้อมูลมันอยู่ในตารางเดียวกันถ้านักศึกษาจะแก้สมมุติว่าเราย้ายจากกรุงเทพฯไปอยู่นนทบุรีสมมุติมีพนักงาน 300 คนคุณต้องแก้กรุงเทพฯ 30 ครั้งนนทบุรีพนักงานมีคนส่งคนไม่ใช่ปัญหาค่ะแต่ถ้าคุณเป็นโรงงานขนาดใหญ่นั่งแก้ทีละ 30 คนไม่ใช่เรื่องสนุกแน่ๆมันก็เป็นปัญหานะคะเพราะฉะนั้นเราควรแยกตารางพนักงานกับตารางสาขาออกจากกันนะคะมีเป็นเหตุผลนี่คือขนาดข้อมูลขนาดเล็กนะคะแล้วยังเห็นปัญหาขนาดนี้ถ้าสมมุติว่าองค์กรขนาดใหญ่เป็นบริษัทเป็นโรงงานระดับโรงเรียนมีนักเรียนเป็น 2 302 3000 คนก็ได้นะคะมีปัญหาเยอะมากถ้าสมมุติว่าเราจัดการตารางไม่ดีจากปัญหาที่เกิดขึ้นเมื่อกี้นะคะอย่างที่บอกค่ะเราจะแก้ปัญหาโดยการแยกตารางเป็น 2 ตารางแบบนี้นะคะฟังก์ชั่นการขึ้นต่อกันนะคะอันนี้เดี๋ยวเป็นเกี่ยวกับตารางนึ่งนะคะมีผลดีต่อราง 1 เราจะเรียกว่าเป็นฟังก์ชันการขึ้นต่อกันเดี๋ยวดูตัวอย่างเลยละกันอย่างเช่นทางนี้นะคะดูจากรหัสพนักงานนะคะเขียนได้ว่ารหัสพนักงานจะส่งผลกับชื่อตำแหน่งสัญลักษณ์ของการขึ้นต่อกันนะคะอันไหนเป็นตัวหลักชี้ไปที่ตัวรองราคาตามหัวลูกศรเลยดูทิศทางตามหัวลูกศรนะคะอันไหนเป็นตัวหลักอันไหนเป็นตัวรองนะคะเช่นตัวนี้ถามว่าตำแหน่งบัญชีที่รหัสพนักงานได้ไหมนะคะถามว่าไม่ได้เพราะการขึ้นต่อการจะต้องเป็นลักษณะหนึ่งต่อหนึ่งเท่านั้นเป็นหนึ่งต่อกลุ่มไม่ได้ชนิดของการขึ้นต่อกันนะคะจะมีอยู่ 4 ชนิดนะคะชนิดแรกเป็นการขึ้นต่อกันโดยสมบูรณ์นะคะซึ่งอาจจะเป็นเกี่ยวกับตารางนะคะจะมีคอลัมน์1 คอลัมน์หรือมากกว่า 1 คอลัมน์มาประกอบกันโดยในคอลัมน์นะเนี่ยค่าที่ระบุความพิเศษของแถวๆได้อย่างชัดเจนaprilia จะเป็นค่าเฉพาะที่บอกเลยว่าคอร์ดข้อมูลแถวนั้นเนี่ยมันมีลักษณะพิเศษเฉพาะตัวยังไงโดยในทุกความสัมพันธ์เนี่ยจะต้องระบุค่าคีย์หลักไว้ด้วยครึ่งปีหลังนี้คือต้องเป็นค่าเอกลักษณ์คือไม่ซ้ำกันอยู่แล้วนะคะอย่างเช่นการขึ้นต่อกันอย่างสมบูรณ์อันแรกนะคะก็คือคอลัมน์ที่ไม่ใช่คีย์หลักกีฬาจำได้ใช่ไหมคะคีย์หลักจะเป็นคอลัมน์ที่มีขีดเส้นใต้คอลัมน์ที่ไม่ใช่คีย์หลักจะขึ้นตรงต่อคอลัมน์ที่เป็นคีย์หลักหมอลำเดียวเท่านั้นเช่นเลขบัตรประชาชนจะขึ้นจะเป็นเจ้าของชื่อนี้เท่านั้นนะคะเพราะฉะนั้นการขึ้นตัวกันอย่างสมบูรณ์จะเป็นลักษณะแบบหนึ่งต่อหนึ่งนะคะเลขบัตรประชาชน 1 เลขต้องเป็นของคนคนเดียวเท่านั้นไม่ใช่ว่าเลขประชาชนที่ใช้ 10 คนเป็นไปไม่ได้นะคะตัวอย่างนะคะตารางที่มี Column หลายตัวนะคะขึ้นอยู่กับคีย์หลักตัวเดียวเช่นคนหนึ่งคนเนี่ยก็จะมีข้อมูลชื่อนามสกุลวันเดือนปีเกิดวันที่ทำบัตรใช่ไหมคะแต่ว่าเขาจะต้องขึ้นตรงกับเลขบัตรประชาชนเดียวเท่านั้นถามว่าสามคนนี้อาจจะเกิดวันเดียวกันก็ได้ค่ะเลขบัตรประชาชนเขาจะไม่เหมือนกันหรือเขาอาจจะมาทำบัตรวันเดียวกันหมายเลขบัตรประชาชนเขาจะไม่ซ้ำกันคืออะไรซ้ำกันได้ทุกอย่างค่ะยกเว้นหมายเลขบัตรประชาชนแต่บางตารางนะคะก็อาจจะเป็นการรวมตัวกันของกีฬามากกว่า 1 ปีหลักนะคะมารวมกันเช่นนักศึกษาวันนี้เอกสารนี้ลงทะเบียนวิชานี้ได้เกรดอะไรอันนี้ก็เป็นความสัมพันธ์ที่เกิดขึ้นได้เหมือนกันค่ะว่าบัตรนักศึกษาซ้ำกันได้ไหมรหัสวิชาซ้ำกันได้ไหมเหมือนชื่อวิชาการรหัสนึงเชื่อใจคนอื่นก็รหัสวิชาอีกอันนึงนี้จะไม่ซ้ำกันอยู่แล้วนะคะต่อมาจะเป็นการขึ้นต่อกันบางส่วนมันก็จะเป็นอาศัยความสัมพันธ์ที่เกิดขึ้นจากวิธีผสมนะคะอาจจะเป็นเส้นตรงจากตารางอื่นหรือส่งตารางมารวมกันอาจจะไม่ใช่คีย์หลักก็ได้แต่มันมีความหมายกับคอลัมน์นึงเดี๋ยวจะยกตัวอย่างเลยดีกว่าอย่างเช่นนึกว่าตารางเทียบไซส์ให้ดูเมื่อกี้นะคะก็จะมีรหัสนักศึกษารหัสวิชามีเกรดแล้วก็มีการบอกด้วยว่ารหัสวิชานี้เป็นชื่อวิชาอะไรนะคะมันจะเป็นการเกิดขึ้นเมื่อกีฬาประกอบกันด้วยคอลัมน์หรือว่า Accident รวมกันโดยบางส่วนของคีย์หลักสามารถไประบุค่าอย่างอื่นที่ไม่ใช่คีย์หลักได้นะคะอย่างเช่นในความสัมพันธ์นี้คีย์หลักจะมี 2 ตัวมีรหัสนักศึกษารหัสวิชาถามว่าถ้ามีแต่รหัสนักศึกษานะคะรหัสวิชาแล้วเราจะรู้ไหมว่าชื่อวิชาที่เราเรียนไปเนี่ยวิชาอะไรบางคนรู้รหัสวิชาแต่จำชื่อวิชาไม่ได้ก็มีเพราะฉะนั้นรหัสวิชาเนี่ยมันเลยสามารถไปส่งผลกับชื่อวิชาได้เหมือนกันเพราะเป็นตัวระบุว่าไปหลายวิชาเนี่ยชื่อวิชาอะไรก็คือคีย์หลักในตารางนี้มี 2 อันแต่มีคีย์หลัก 1 ตัวเนี่ยไปมีผลกับแอตทริบิวต์ 1 ได้นะคะอันนี้คือความขึ้นต่อกันบางส่วนอย่างเช่นตัวนี้ก็จะเป็นของจริงถ้าสูตรว่าอาจารย์ปัดรหัสนักศึกษาออกมีแค่ 5 วิชามีเกรดมีการวิชาเขียนโปรแกรมแล้วถามรู้ไหมคะว่าเกรดเอที่ของใครนะคะหรือว่าอย่าลบไปเที่ยวก่อนนะหรือว่าการลบรหัสวิชาออกเหลือแต่นักศึกษาเหลือเกรดชื่อวิชาแล้วถามว่ารหัสวิชาอะไรล่ะที่เราได้เกรด Aเราก็ไม่ทราบอีกเหมือนกันนะคะอันนี้ก็คือการขึ้นต่อกันบางส่วนเป็นการขึ้นต่อกันแบบส่งต่อก็จะเป็นความสัมพันธ์ที่เกิดขึ้นก็ต่อเมื่อมีแอตทริบิวต์หรือว่าคนอื่นที่ไม่ใช่ครีมแต่ไปสามารถขึ้นสามารถระบุค่าของแอตทริบิวต์อื่นใน Accord ได้ซึ่งเป็นการออกแบบที่ไม่เหมาะสมเพราะส่วนใหญ่แล้วในตารางเนี่ยถ้าเราจะระบุค่าอื่นให้กับคอลัมน์อื่นได้ควรจะต้องเป็นคีย์หลักเท่านั้นดูตัวอย่างนะคะเช่นตารางเนี้ยเขาบอกว่าสิ่งที่เกิดขึ้นคือแอตทริบิวต์คือคอลัมน์ที่ไม่ใช่คีย์หลักหรือ Primary Key นะคะก็คือไม่ใช่คอลัมน์ที่มีเส้นขีดมันไประบุค่าอื่นๆในตารางได้เช่นตารางนี้ก็คือเลขประจำตัวตัวเลขประจำตัวเนี่ยไปมีผลกับชื่อนามสกุลที่อยู่ตำแหน่งใช่ไหมคะเขาเนี่ยรถประจำตำแหน่งมันไม่ถูกระบุโดยเลขประจำตัวมันถูกระบุโดยรหัสตำแหน่งเหมือนถ้าเป็นผู้จัดการเนี่ยแผนที่ผู้จัดการนะคะจะรู้เลยว่ารถประจำตำแหน่งคืออะไรแต่เขาไปเช็คที่รหัสตำแหน่งแผนที่จะเช็คกับเลขประจําตัวการออกแบบที่ไม่ดีเพราะฉะนั้นถ้าสมมุติว่าจะให้รถประจำตำแหน่งวิธีการแก้ปัญหาก็คือเราควรจะแยกตารางนี้ออกไปสร้างตารางใหม่เลยค่ะมันไม่ควรจะมาขึ้นกับตารางขี้มีกี่หลักแต่ไม่สามารถระบุค่าข้อมูลตรงนี้ได้เนี่ยมันไม่ควรทำ