]Normalization (นอร์มัลไลเซชัน) คือ วิธีการหนึ่งที่ช่วยลดความซ้ำซ้อนของข้อมูลจากดาต้าเบส อ่านต่อ... ซึ่งการทำนอร์มัลไลเซชันจะประกอบไปด้วย Normal Form (นอร์มัลฟอร์ม) แบบต่างที่มีเงื่อนไขการทำให้อยู่ในรูปแบบนอร์มัลฟอร์มที่แตกต่างกันไป โดยส่วนใหญ่พบว่าการทำถึง 3NF ก็เพียงพอที่จะแก้ปัญหาความผิดปกติ และความซ้ำซ้อนของข้อมูลได้แล้ว
1. First Normal Form : 1NF (เฟิร์ส นอร์มัลฟอร์ม)
เงื่อนไข : ไม่มีคอลัมน์ใดในตารางที่มีค่ามากกว่า 1 ค่า คือ ค่าในแต่ละคอลัมน์ต้องเป็น Atomic หรือไม่อยู่ในรูปของ Rapeating Group
กล่าวคือ ทุกแอททริบิวต์ในแต่ละแถวมีค่าข้อมูบเพียงค่าเดียว ดังนั้นจะต้องกำจัดกลุ่มข้อมูลซ้ำออกไปแล้วทำการหาคีย์หลักของรีเลชัน
วิธีการที่จะทำให้เป็น 1NF
1. แยกคอลัมน์ที่มีค่ามากกว่า 1 ออกเป็นแถวใหม่
2. เพิ่มข้อมูลที่เหมาะสมเข้าไปในคอลัมน์ที่ว่าอยู่ของแถวที่เกิดขึ้นใหม่
2. Second Normal Form : 2NF (เซค’เคินดฺ นอร์มัลฟอร์ม)
เงื่อนไข ต้องมีคุณสมบัติของ 1NF และทุก Norprime Attibute จะต้องขึ้นกับ Primary key ทุกตัว
กล่าวคือ จะเข้าสู่ขบวนการ 2NF ได้ต้องเป็น 1NF มาก่อน และจะต้องมีคีย์หลักเพียงตัวเดียวต่อหนึ่งตาราง หากมีคีย์หลักซ้ำกันในหนึ่งตารางให้ทำการแยกตารางออกเป็สองตาราง แล้วดูว่าคีย์หลักแต่ละตัวเชื่อมไปหาข้อมูลตัวไหนบ้าง ให้จัดทำตารางตามความสัมพันธ์นั้น เพื่อขจัด Attibute ที่ไม่ขึ้นกับคีย์หลักทั้งสองออกไป
วิธีการที่จะทำให้เป็น 2NF
1. ตรวจสอบว่าคุณสมบัติของ 1NF หรือไม่
2. ทำการแยกคีย์หลักจากกัน โดยการสร้างตารางใหม่
3. ดูความสัมพันธ์ของคีย์หลักว่าสามารถเชื่อมไปที่คอลัมน์ใดได้บ้าง
3. Third Normal Form : 3NF (เธิร์ด นอร์มัลฟอร์ม)
เงื่อนไข ต้องมีคุณสมบัติของ 2NF และ Nonprime ต้องไม่ขึ้นกับ Nonprime
กล่าวคือ จะเข้าสู่กระบวนการ 3 NF ได้จะต้องเป็น 2NF มาก่อน และ Attibute ที่ไม่ใช่คีย์หลักต้องขึ้นกับคีย์หลักของรีเลชันเท่านั้น โดยจะต้องไม่มีการขึ้นต่อกันระหว่าง Attibute ด้วยกันเอง
วิธีการที่จะทำให้เป็น 3NF
1. ตรวจสอบว่าคุณสมบัติของ 2NF หรือไม่
2. ตรวจสอบว่าคีย์หลักว่าสามารถเชื่อมไปหา Attibute ใดได้บ้าง
3. สร้างตารางขึ้นมาใหม่ตามความสัมพันธ์
3. Boyce-Codd Normal Form : BCNF (บอยซ์คอดด์นอร์มัลฟอร์ม) เป็นนอร์มัลฟอร์มที่ได้รับการปรับมาจาก 3NF โดยเพิ่มการกำหนดคีย์รองในตาราง
4. Fourth Normal Form : 4NF (ฟอร์ธ นอร์มัลฟอร์ม) เป็นนอร์มัลฟอร์มที่ได้รับการปรับมาจาก BCNF โดยจะต้องไม่มีการขึ้นต่อกันเชิงกลุ่มภายใจรีเลชัน
5. Fifth Normal Form : 5NF (ฟิฟธฺ นอร์มัลฟอร์ม) เป็นนอร์มัลฟอร์มที่ได้รับการปรับมาจาก 4NF โดยจะต้องไม่มีคุณสมบัติของการขึ้นต่อกันแบบเชื่อมโยง (Join)
[/size]
Normal Form ของ Normalization มีอะไรบ้าง
Moderator: mindphp, ผู้ดูแลกระดาน
-
- PHP Hero Member
- โพสต์: 114
- ลงทะเบียนเมื่อ: 09/04/2018 10:04 am
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
- 1 ตอบกลับ
- 984 แสดง
-
โพสต์ล่าสุด โดย Losa
16/11/2019 5:02 pm
-
-
โพสต์ใหม่ Normalization (นอร์มัลไลเซชัน) ลดปัญหาการซ้ำซ้อนของข้อมูลในฐานข้อมูล
โดย bom_002 » 08/03/2017 2:55 pm » ใน Programming - C/C++ & java & Python - 0 ตอบกลับ
- 806 แสดง
-
โพสต์ล่าสุด โดย bom_002
08/03/2017 2:55 pm
-
-
-
โพสต์ใหม่ Normalization (นอร์มัลไลเซชั่น) คืออะไร
โดย md040 » 28/11/2016 10:02 am » ใน SQL - Database - 0 ตอบกลับ
- 1397 แสดง
-
โพสต์ล่าสุด โดย md040
28/11/2016 10:02 am
-
-
-
โพสต์ใหม่ form มันซ้อนกันอยู่ทำให้ form ที่อยู่ด้านในส่งข้อมูลไม่ได้ทำยังไงดี ครับ
โดย jamepiyawat » 19/09/2019 3:57 pm » ใน Programming - PHP - 2 ตอบกลับ
- 3025 แสดง
-
โพสต์ล่าสุด โดย jamepiyawat
19/09/2019 4:20 pm
-
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 32