Please enable JavaScript.
Coggle requires JavaScript to display documents.
การปรับบรรทัดฐาน - Coggle Diagram
การปรับบรรทัดฐาน
2 NF (Second Normal Form)
ปัญหาของ 1 NF - ไม่ได้วิเคราะห์ความสัมพันธ์ระหว่างฟิลด์อาจจะเกิดปัญหาความซ้ำซ้อนได้
นิยาม
ความสัมพันธ์ใด ๆ กล่าวได้ว่ามีคุณสมบัติอยู่ใน 2NF ก็ต่อเมื่อ
มีคุณสมบัติของ 1 NF
ต้องไม่มี Non-Key ที่ขึ้นอยู่กับส่วนหนึ่งส่วนใดของ Key (Non-Key คือ ฟิลด์ที่ไม่ใช่ PK)
(ภาษาพูด) ถ้าPK มีเพียงฟิลด์เดียว จะเป็น 2 NF โดยอัตโนมัติ
(ภาษาพูด) ถ้าPK มี 2 ฟิลด์ขึ้นไป จะต้องพิจารณา 2 NF
3 NF (Third Normal Form)
ถ้ายังเกิดปัญหาความซ้ำช้อนอยู่
นิยาม
ความสัมพันธ์ใด ๆ กล่าวได้ว่ามีคุณสมบัติอยู่ใน 3NF ก็ต่อเมื่อ
มีคุณสมบัติของ 2 NF
ต้องไม่มี Non-Key ที่ขึ้นกับ Non-Key
ปัญหาที่เกิดกับการจัดเก็บข้อมูล
เกิดความซ้ำซ้อน (Data Redundancy)
เกิดความขัดแย้งของข้อมูล (Data Inconsistency)
ปัญหาการแก้ไข (Update Anomalies)
การผูกติดกับข้อมูล (Data Dependency)
2 NF (Second Normal Form) (แบบที่ถูกต้อง)
พบว่า หลังจากแตกตารางใหม่แล้ว เราไม่สามารถทราบถึงความสัมพันธ์ของตารางเดิมได้ ดังนั้นวิธีการแตกตารางที่ถูกต้องคือ
หลังจากแตกตารางใหม่แล้ว ความสัมพันธ์ของข้อมูลยังคงต้องเป็นเหมือนเดิม
เมื่อมีการแตกตารางใหม่ ท่านต้องเริ่มตรวจสอบตารางใหม่ที่ได้ตั้งแต่1 NF, 2 NF และ 3 NF ทุกครั้ง
วิธีการคือหลังจากแตกตารางแล้ว ให้นำฟิลด์ที่เป็น PK ของตารางใหม่ที่ แตกได้ มาใส่ไว้ในตารางเดิมก่อนแตก แล้วตัดฟิลด์ ที่เป็น Non-Key ที่อยู่ใน ตารางใหม่ ออกจากตารางเดิม
ความซ้ำซ้อน และข้อผิดพลาดจากการปรับปรุงข้อมูล
(Data Redundancy and Update Anomalies)
ข้อผิดพลาดจากการเพิ่มข้อมูล (Insertion Anomalies)
ข้อผิดพลาดจากการลบข้อมูล (Deletion Anomalies)
ข้อผิดพลาดจากการเปลี่ยนแปลงข้อมูล (Modification Anomalies)
การนอร์มัลไลเซชัน (Normalization)
-เป็นทฤษฎีการออกแบบฐานข้อมูลที่ตรวจสอบและแก้ไขปัญหาด้านความซ้ำซ้อนของข้อมูล
-เป็นทฤษฎีช่วยในการประเมินการออกแบบ
-ใช้เทคนิคการวิเคราะห์ความสัมพันธ์ระหว่างฟิลด์ว่าฟิลด์ใดควรอยู่ตารางใดโดยการแตกตารางใหญ่ให้เป็นตารางย่อยโดยมีขั้นตอนการทำที่ชัดเจนเพื่อขจัดปัญหาความซ้ำช้อนให้เหลือน้อยที่สุดหรือหมดไป
จุดประสงค์การนอร์มัลไลเซชัน คือ
ลดเนื้อที่ในการจัดเก็บข้อมูลกระบวนการนอร์มัลไลเชชันเป็นการออกแบบเพื่อลดความช้ำซ้อนในข้อมูลดังนั้นการลดความซ้ำซ้อนในข้อมูลย่อมทำให้ลดเนื้อที่ในการจัดเก็บข้อมูลตามมาด้วยลดปัญหาที่ไม่ถูกต้องเมื่อข้อมูลไม่มีความซ้ำซ้อนในการปรับปรุงข้อมูลก็สามารถปรับปรุงข้อมูลได้จากแหล่งข้อมูลเพียงแห่งเดียวจึงช่วยลดปัญหาการปรับปรุงข้อมูลไม่ถูกต้อง(inconsistency)ซึ่งหมายรวมถึงการลดปัญหาจากการเพิ่มข้อมูล ลบข้อมูล และการปรับปรุงข้อมูล
ฟังก์ชันการขึ้นต่อกัน (Functional Dependencies)
คือ ความสัมพันธ์ระหว่างแอตตริบิวต์ซึ่งหมายถึงการที่ค่าของแอตตริบิวต์หนึ่งหรือแอตตริบิวต์ตั้งแต่หนึ่งตัวขึ้นไปมาประกอบกันแล้วสามารถทำการระบุค่าของแอตตริบิวต์อื่นๆในทูเพิลเดียวกันของรีเลชันนั้นได้โดยแอตตริบิวต์ที่เป็นตัวระบุค่าในแอตตริบิวต์อื่นๆเราเรียกว่า determinant ในขณะที่แอตตริบิวต์อื่นๆ ที่ถูกระบุจาก determinant นั้น เราเรียกว่า dependent
กระบวนการนอมอลไลเซชัน
(The Process of Normalization)
การนอร์มัลไลเซชันนั้นจะมีกระบวนการในแต่ละขั้นตอนโดยจะเป็นรูปแบบคุณสมบัติของนอร์มัลฟอร์มในระดับต่างๆนอร์มับฟอร์มในระดับบที่สูงขึ้นไปจะมีคุณสมบัติที่แข็งแกร่งขึ้นกล่าวคือความซ้ำซ้อนในข้อมูลย่อมน้อยกว่าหรือไม่มีเลยในขณะที่นอร์มัลฟอร์มในขั้นที่ต่ำลงมาอาจมีความซ้ำช้อนในข้อมูลอยู่แต่อย่างไรก็ตามความซ้ำซ้อนในข้อมูลในระดับที่ยอมรับได้นั้นจะส่งผลดีในด้านของความรวดเร็วในการเรียกดูข้อมูลซึ่งจะอยู่ในกระบวนการ denormalization