Normalization
วัตถุประสงค์ของนอร์มัลไลซ์
- ลดความซ้ำซ้อนของข้อมูล เมื่อลดความซ้ำซ้อนก็ทำให้ลดเนื้อหาที่ใช้ในการจัดเก็บข้อมูล
- ลดปัญหาความไม่ถูกต้องของข้อมูล เมื่อข้อมูลไม่เกิดความซ้ำซ้อนทำให้การปรับปรุงข้อมูลสามารถทำได้จากแหล่งข้อมูลเพียงแหล่งเดียว
- ลดความผิดพลาดที่อาจเกิดจากการปรับปรุงข้อมูล (update anomalies)
Normalization คือ กระบวนการปรับปรุงโครงสร้างข้อมูลของฐานข้อมูลที่มีความซ้ำซ้อนให้อยู่ในรูปแบบที่เป็นบรรทัดฐาน (Normal Form) โดยการนอร์มัลไลเซชันมีได้ถึง 5 ระดับ ซึ่งในระดับที่ 3 ก็จัดว่าเพียงพอสำหรับการออกแบบฐานข้อมูลในปัจจุบัน
- 1NF - กำจัด repeating group (กำจัดกลุ่มของข้อมูลที่มีความซ้ำซ้อน)
- 2NF - กำจัด partial dependency (กำจัดการขึ้นต่อกันบางส่วน)
- 3NF - กำจัด transitive dependency (กำจัดการขึ้นต่อกันของแอตทริบิวท์ที่ไม่ใช่คีย์หลัก)
First Normal Form (1NF)
- ทุก Attribute ในแต่ละ record จะเป็น single value ไม่มี ค่าของกลุ่ม ข้อมูลที่ซ้ำกัน (Repeating Group)
- ข้อมูลทุกแถว (Tuple) ต้องมีค่าไม่ซ้ำกัน
Second Normal Form (2NF)
- ต้องเป็น First Normal Form (1NF) มาก่อน
- ต้องไม่มี Partial Dependency (การขึ้นต่อกันบางส่วน)
นอร์มัลไลเซชันระดับที่ 2 (Second normal form : 2NF) เป็นการลบ Attribute ที่ไม่ขึ้นกับทั้งส่วนของคีย์หลักออกไป เพื่อให้Attribute อื่นทั้งหมดขึ้นตรงกับส่วนที่เป็นคีย์หลักทั้งหมดเท่านั้น
เราสามารถทำให้อยู่ในรูป 2NF ได้ดังนี้
Third Normal Form (3NF)
- Relation นั้นจะต้องมีคุณสมบัติ 2NF
- ต้องไม่มีความสัมพันธ์ระหว่าง Non-key Attribute หรือไม่มี Transitive Dependency
- แอททริบิวต์ที่ไม่ใช่คีย์หลัก ต้องไม่ขึ้นต่อกันเอง
- 1NF ทุกแอททริบิวต์ในแต่ละแถวมีค่าของข้อมูลเพียงค่าเดียว
- 2NF รีเลชันนั้นต้องไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบบางส่วน (แอททริบิวต์ทุกตัวต้องขึ้นกับคีย์หลักทุกตัว ไม่ขึ้นอยู่กับตัวใดตัวหนึ่ง)
- 3NF ทุกแอททริบิวต์ที่ไม่ใช่คีย์หลักไม่มีคุณสมบัติในการกำหนดค่าของแอททริบิวต์อื่น
Reference
ไม่มีความคิดเห็น:
แสดงความคิดเห็น