Normalization
คือ การทำให้ข้อมูลในฐานข้อมูลไม่มีความ ผิดปกติในการ insert, update, delete
Example of 1NF , 2NF , 3NF
First Normal Form(1NF)
column แต่ละ column ควรเก็บค่า แค่ค่าเดียว(single value) ไม่ควรไม่ค่าหลายๆค่า(multi value)
จากภาพด้านบนจะเห็นได้ว่า subject มีการเก็บค่าไว้มากกว่า 1 ค่า สามารถแก้ไขได้โดยการแยก column
roll_no ออกจากกัน จะได้ผลดังนี้
Second Normal Form(2NF)
การที่จะเป็น second normal form นั้นมีอยู่ 2 เงื่อนไขดังนี้
1. ต้องเป็น first normal form ก่อน
2. ตัว Attribute ที่เป็น non- prime ค่าของมันจะต้องไม่ ขึ้นอยู่กับ candidate key ในตาราง
จากภาพตารางด้านบนนั้นจะกำหนดให้คอลัมน์ teacher_id กับ subject นั้นเป็น Candidate Key และ teacher_age เป็น non-prime attribute และจะเห็นได้ว่าค่าของ teacher_age นั้นจะขึ้นอยู่กับ teacher_id เพราะคุณครูแต่ละคนจะมีอายุของตัวเอง แก้ไขได้ดดยการแยกเป็นสองตาราง ดังนี้
third Normal Form(3NF)
การที่จะเป็น third normal form นั้นมีอยู่ 2 เงื่อนไขดังนี้
1. ต้องเป็น second normal form ก่อน
2. ต้องไม่มี Transitive Dependency
สามารถแก้ไข Transitive Dependency ได้โดย ทำการแยกเป็นสองตารางดังนี้




