ประมาณนี้นะคะ วันนี้จะเป็นบทที่ 5เกี่ยวกับ2nf 3nfในระดับปริญญาตรีเนี่ยถึง 3ms ได้ก็ถือว่าเก่งมากแล้วนะคะ ถ้าเป็นระดับที่สูงขึ้นไปอีกก็จะถึงได้ถึง 5 nf เลยนะคะ อันนี้เป็นแผนภาพกระบวนการทำงานนะคะ ก่อนที่เราจะมาทำกระบวนการปรับบรรทัดฐานได้เนี่ยมันก็ต้องวิเคราะห์ความต้องการของผู้ใช้งานก่อนว่าเขาต้องการระบุการฐานข้อมูลแบบไหนมีความต้องการใช้ตารางกี่ตารางในฐานข้อมูลนะคะ หลังจากนั้นวาดรูปแผนที่โรงเรียนอาทิตย์ที่แล้วนะคะ ว่าเป็นแผนภาพเพื่อให้เข้าใจว่าสิ่งที่เรากำลังจะออกแบบหรือสิ่งที่เรากำลังจะทำฐานข้อมูลมันตรงตามความต้องการหรือเปล่านะคะ แต่รูปแบบของรูปที่เราวันอาทิตย์ที่แล้วเนี่ยมันจะยังเป็นรูปแบบที่ยังไม่เป็นบรรทัดฐานหรือว่ายังไม่มีการจัดระเบียบความคิดข้อมูลที่ซ้ำซ้อนกันออกไปหรืออาจจะมีคีย์หลักที่มันՐขอนแก่นนะคะ เราก็เลยจะต้องเอาข้อมูลจากที่เราว่าอาทิตย์ที่แล้วเนี่ยเก่งมากแล้วอย่างน้อย 2-3 นะคะ ไอ้บอยคอร์ดกับสีเนี่ยไม่ทำก็ก็ก็รักไว้ได้นะคะ แต่อย่างน้อยต้องถึงวัตถุประสงค์ของการปรับฐานนะคะ แน่นอนลดความซ้ำซ้อนของข้อมูลก็คือถ้าข้อมูลมันซ้ำกันเนี่ยเราก็ต้องตัดออกไปโครงสร้างเป็นสิ่งสำคัญมากเท่าไหร่เนื้อหาแล้วก็พื้นที่ในการเก็บข้อมูลอย่างมันก็จะเยอะก็ทำให้สิ้นเปลืองประมาณเหมือนกันรวมถึงลดปัญหาความไม่ถูกต้องของข้อมูลข้อมูลเนี่ยนอกจากที่จะไม่เกิดความสอดคล้องกันแล้วเนี่ยวันจันทร์อาจจะเกิดจากสาเหตุคือถ้าเหมือนที่ตัดกระจกทุกอย่างก็คือถ้าเราเก็บข้อมูลหลาย ๆ ที่นักศึกษาเก็บข้อมูลที่คณะด้วยเก็บที่มหาลัยด้วยเก็บที่สาขาด้วยเนี่ยบางทีถ้าวันนึงคุณอาจจะเปลี่ยนแปลงเบอร์โทรศัพท์ที่บ้านก็ต้องไปตามเปลี่ยนทุกที่เลยนะคะ ซึ่งเสียเวลาแล้วคราวนี้ก็จะเป็นที่เถียงกันว่าสรุปแล้วเบอร์ไหนถูกเบอร์ไหนผิดโดยวัตถุประสงค์ของการปรับบรรทัดฐานก็คือข้อมูลจะถูกเก็บอยู่อย่างเดียวราคาเก็บไว้ที่เดียวแต่สามารถเรียกใช้และใช้งานได้หลาย ๆ ที่พร้อมกันได้แต่ถ้ามันมีการเปลี่ยนแปลงข้อมูลหรือมีการลบหรือการเพิ่มข้อมูลเพื่อให้ข้อมูลเป็นปัจจุบันที่สุดเราจะเก็บข้อมูลไว้ที่เดียวแก้ไขก็ที่เดียวเพราะฉะนั้นข้อมูลก็จะเป็นข้อมูลที่ถูกต้องแล้วก็ปัจจุบันด้วยแล้วก็อย่างที่ใช้ในการเก็บข้อมูลที่เดียวเนี่ยมันก็จะลดความผิดพลาดที่เกิดจากการเปลี่ยนแปลงข้อมูลปรับปรุงข้อมูลนะคะ เหมือนที่บอกว่าคือถ้าเปลี่ยนเบอร์โทรศัพท์หรือเปลี่ยนบ้านเลขที่นะคะ ก็เปลี่ยนแปลงที่เดียวเราสามารถเรียกใช้ข้อมูลได้พร้อมกันถ้าต้องการข้อมูลนะคะ ความซ้ำซ้อนกันของข้อมูลมันอาจจะเกิดความผิดพลาดของการปรับปรุงข้อมูลนะคะ แนวคิดที่สำคัญของการออกแบบฐานข้อมูลการออกแบบข้อมูลที่ซ้ำซ้อนกันน้อยที่สุดเพื่อประหยัดเนื้อที่ในการเก็บข้อมูลแล้วก็ลดปัญหาที่จะเกิดขึ้นถ้าสมมุติว่าข้อมูลมันซ้ำซ้อนกันมากเกินไปหรือปริมาณข้อมูลมันเยอะเกินไปอย่างเช่นตัวอย่างนะคะ ตารางด้านบนตารางสีเทาข้างบน จะเป็นตัวอย่างการออกแบบฐานข้อมูลที่ดีเดี๋ยวจะมาให้ดูว่าทำไมมันถึงดีกว่าในตารางข้างบนเนี่ยมันจะมีตารางของพนักงานแล้วก็ต่างสาขาจะเห็นได้ว่าตารางพนักงานจะมีส่วนหนึ่งที่เป็นข้อมูลของรหัสสาขาก้อยไม่อยู่ถามว่าทำไมไม่เอาข้อมูลสาขามาไว้ในตารางพนักงานทีเดียวเลยล่ะทำไมต้องแยกออกถ้าศึกษาดูคนแรกนะคะ พนักงานคนแรกรหัสสาขา b005ก็คือสาขาเชียงใหม่ถ้าสมมุติว่าพนักงานคนที่ 1 ลาออกก็จะมีการลบข้อมูลเกิดขึ้นใช่ไหมคะ มีการลบข้อมูล ลบนี้ออก ขีดฆ่าทิ้งนะคะ ฆ่าทิ้ง สิ่งไหนที่หายไปบ้าง แน่นอนสาขาเชียงใหม่จะหายไปด้วยนะคะ ถ้าสมมุติเราอยู่ด้วยกันแต่ถ้าสมมุติพนักงานคนนี้ลาออกสาขาเชียงใหม่ยังอยู่ไหมยังอยู่นะคะ ซึ่งแตกต่างจากด้านล่างด้านล่างเห็นไหมคำว่าถ้าสมมุติว่าจะลบทิ้งหมดเลยกากบาททิ้งสาขาเชียงใหม่หายไปด้วยออกแบบที่ไม่ดีเหมือนคนข้างล่างออกสาขาพิษณุโลกก็หายไปด้วย แต่ถ้าเป็นตารางด้านบนนะคะ ถ้าคนนี้ลาออก สาขายังอยู่ไหมยังอยู่เหมือนเดิมนะคะ อันนี้คือการออกแบบฐานข้อมูลที่ดี ถ้าข้อมูลตัวไหนที่มันมีผลกระทบต่อกัน เราจะต้องแยกตารางออกนะคะ ตัวอย่าง นะคะ ถ้าการออกแบบที่ดีเนี่ยเราจะลดปัญหาความซ้ำซ้อนของข้อมูลได้เช่นตัวนี้ อันนี้เป็นตารางที่ออกแบบที่ไม่ดีนะคะ เห็นไหมคะ ว่ามันจะมีรหัสสาขาแล้วก็ที่อยู่อยู่ในตารางเดียวกันถ้าสมมุติว่าอาจารย์เพิ่มเข้ามาใหม่อีก 1 คน นะคะ n e mถ้าต้องการเพิ่มพนักงานสาขา ดกดกด เชียงใหม่ก็ต้องมา กรอกข้อมูลตรงนี้อีก เชียงใหม่ ณ โรงเรียนระโนด แต่ถ้างการออกแบบฐานข้อมูลที่ดีเนี่ยเราแค่ใส่รหัสสาขา ไม่จำเป็นจะต้องพิมพ์ที่อยู่ทุกครั้งก็ได้ เหมือนเวลาคุณไปธนาคารใช่ไหมคะ คุณก็แค่ยื่นบัตรประชาชนพนักงานธนาคารก็จะกรอกเลขบัตรประชาชนคุณนงไป หรืออาจจะเอาชิปการ์ดของคุณเนี่ยเสียบเข้าไปในเครื่องถามว่าตอนนี้เราได้กรอกข้อมูลไหม ขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างที่คุณมีเขาจะดึงออกมาจากระบบให้เลยเราไม่ต้องมาเสียเวลาก่อน เหมือนเมื่อก่อนเนี่ยต้องเขียนใส่กระดาษและเลขบัตรประชาชนด้านรายชื่ออะไรนามสกุลอะไรที่อยู่ที่ไหนเบอร์โทรศัพท์อะไรเดี๋ยวนี้ไม่ต้องเลยขอแค่มีเลขบัตรประชาชนข้อมูลทุกอย่างเราสามารถดึงขึ้นมาได้อยู่แล้วอันนี้ก็เช่นเดียวกันถ้าการออกแบบไม่ดีแต่เราต้องกรอกข้อมูลถูกต้องทุกช่องเลยเนี่ยมันทำให้อาจจะคนเดียวไม่เดือดร้อนค่ะ ถ้าเป็นพนักงานใหม่เป็นเหมือนโรงงานน่ะค่ะ ที่รักพันคนนั่งกรอกเชียงใหม่เป็นพันครั้งเนี่ยเสียเวลามาก ๆ อันนี้คือการออกแบบที่ไม่ดีนะคะ กลับอีกอย่างนึงถ้าสมมุติว่าเมื่อกี้อาจารย์เพิ่มพนักงานแล้วถ้ามันอยากเพิ่มแค่สาขาอย่าเพิ่งแค่สาขาซึ่งในตารางนี้กีฬาจำได้ไหมคะที่รักจะเป็นคีย์ที่ขีดเส้นใต้ซึ่งอาจารย์อยากเพิ่มสาขาสมุทรปราการจะเพิ่มบี