First Normal Form (1NF)
ต้องมี Domain ใน relation หรือตารางเป็น Atomic เท่านั้นหรือก็คือ Attribute ทุกตัวต้องไม่สามารถแยกย่อยลงไปได้อีก
Attribute ที่ชื่อว่า Content ไม่เป็น Atomic
ปรับ Table ใหม่ให้ Attribute Content มีความ Atomic
Second Normal Form (2NF)
Prime attribute : Attribute ที่เป็นส่วนหนึ่งของ candidate key
non-Prime attribute : Attribute ที่ไม่ได้เป็นเป็นส่วนหนึ่งของ candidate key
สำหรับ 2NF non-Prime attribute ทุกตัวต้องขึ้นอยู่กับ Primary key ครบทุกตัวในตาราง ไม่สามารถขึ้นอยู่กับ Candidate key ตัวใดตัวหนึ่งได้
non-prime attribute ไม่ได้ขึ้นอยู่กับ Primary key ครบทุกตัว
แก้ให้เป็น 2NF ได้โดยการแยกตารางออกโดยมี
จำนวณตามความสัมพันย่อยๆที่พบในตอนแรก
Third Normal Form (3NF)
ส่วนเงื่อนไขของ 3NF คือ
- Relation เป็นไปตาม เงื่อนไขของ 2NF
- ไม่มี non-key attribute ตัวได้ ขึ้นอยู่กับ non-key attribute ตัวใด (หรือ set ของ non-key)
- ไม่มีความสัมพันธ์แบบ transitive dependency
Table มี non-key attribute ที่ขึ้นอยู่กับ non-key attribute
และ มีความสัมพันธ์แบบ Transitive dependency
( Stu_ID => City => Zip )
สามารถแก้ให้เป็น 3NF ได้โดยแยกตารางออกเพื่อไม่ให้เกิด transitive dependency
และให้ non-key attribute ที่เป็นตัวโดเมนใน functionally dependent เป็น primary key ของ Table ใหม่
อ้างอิง