วันจันทร์ที่ 2 เมษายน พ.ศ. 2561

Normalization - 1NF 2NF 3NF

- 1NF หรือ Fisrt Normal Form มีเงื่อนไขอยู่ว่า ต้องไม่มีคอลลัมน์ใดในตารางที่มีค่ามากกว่า 1 ค่า หรือที่เรียกว่า Atomic ซึ่งหมายถึง ข้อมูลที่เก็บไว้ในแต่ละคอลลัมน์ต้องมีลักษณะเป็น Single Value ไม่สามารถแยกย่อยได้อีก

ตัวอย่าง
จะเห็นว่าคอลลัมน์วิชาที่ชอบและวิชาที่ไม่ชอบมีมากกว่า 1 ค่า จึงไม่เป็น Atomic ถือว่าไม่เป็น 1NF

ดังนั้น เมื่อผ่านการทำ Normalization จะได้ตารางออกมาดังนี้
โดยวิธีการทำคือ แยกคอลลัมน์ที่มีมากกว่า 1 ค่า ออกเป็นแถวใหม่

- 2NF หรือ Second Normal Form มีเงื่อนไขอยู่ว่า ต้องมีคุณสมบัติของ 1NF และ ทุก Nonprime Attribute ต้องขึ้นกับ Prime (Primary Key) ทุกตัว โดยการขึ้นต่อกันก็คือ ต้องสามารถเขียนอยู่ในรูปฟังก์ชันของ X ---> Y ได้ (อ่านว่า ถ้า X แล้ว Y) ซึ่งหมายถึง ทุกๆค่าของ X ที่เลือกมา จะต้องแสดงถึงค่า Y ที่สัมพันธ์กับค่า X นั้นๆได้

ตัวอย่าง
ถ้าถามว่านักศึกษาคนใดที่มีรหัสนักศึกษา 5801012630106 ก็สามารถทราบได้ว่า เป็นนักศึกษาที่มีชื่อเล่นว่า เฟรม เพราะรหัสนักศึกษาเป็น Primary key ซึ่งเราสามารถเขียนเป็นเงื่อนไขได้ว่า

รหัสนักศึกษา(X) ---> ชื่อเล่น(Y)

หากพิจารณาตารางผลการเรียนของนักศึกษาต่อไปนี้ ว่าเป็น 2NF หรือไม่
จะเห็นได้ว่า ตารางดังกล่าวมีคุณสมบัติของ 1NF คือทุกคอลลัมน์มีข้อมูลเป็น Atomic ทั้งหมด แต่ทุกๆ Nonprime Attribute ไม่ขึ้นกับทุก Prime ดังนี้

ชื่อนักศึกษา กับ ระดับชั้น ขึ้นกับ รหัสนักศึกษาเท่านั้น และ ชื่อวิชา หน่วยกิต ขึ้นกับ รหัสวิชาเท่านั้น
ดังนั้น จึงแยกตารางออกมาเป็น 2 ตารางตามฟังก์ชันการขึ้นต่อกันดังนี้

ตารางที่ 1 ตารางข้อมูลนักศึกษา

ตารางที่ 2 ตารางข้อมูลวิชา

ตารางที่ 3 ตารางผลการเรียน

- 3NF หรือ Third Normal Form มีเงื่อนไขว่า ต้องมีคุณสมบัติของ 2NF และ Nonprime ต้องไม่ขึ้นกับ Nonprime

ตัวอย่าง พิจารณาตารางข้อมูลผลการเรียนของนักศึกษา
จากตารางจะเห็นว่า มีคุณสมบัติของ 2NF แล้ว กล่าวคือ รหัสนักศึกษาเป็น Primary key ที่ใช้บอกข้อมูลต่างๆในตารางได้ แต่ เกรดขึ้นอยู่กับคะแนนที่ได้ ซึ่งเป็น Nonprime เหมือนกัน ดังนั้นจึงแยกตารางออกให้เป็น 3NF ดังนี้

ตารางข้อมูลนักศึกษา

ตารางข้อมูลผลการเรียนนักศึกษา

แหล่งอ้างอิงข้อมูล และที่มาของตัวอย่าง: https://www.slideshare.net/ceokhankluay/first-normal-form

Link Video Presentation Resort Managemant System Project.

Video Presentation Resort Managemant System Project. จัดทำโดย พากษ์เสียง: คุณาสิน  ทองมณี  5801012620011 ลำดับภาพ: สุพิชชา  ศรีศิริ...