Please enable JavaScript.
Coggle requires JavaScript to display documents.
กระบวนการปรับบรรทัดฐาน - Coggle Diagram
กระบวนการปรับบรรทัดฐาน
การทำให้เป็นบรรทัดฐาน(Normalization)
ถือว่าเป็นเทคนิคที่ที่นิยมใช้เป็นแนวทางในการออกแบบฐานข้อมูลเชิงสัมพันธ์
โดยการปรับตารางข้อมูลที่มีความผิดปกติ(Anormaly)โดยอาศัยหลักการและกฏเกณฑ์ของรูปแบบบรรทัดฐาน(Normal Form)รูปต่าง ๆซึ่งมีการนิยามรูปแบบบรรทัดฐานขั้นต่างๆ ไว้ 6 รูปแบบดังนี้
รูปแบบบรรทัดฐานขั้นที่ 1(First Normal Form :1NF)
รูปแบบบรรทัดฐานขั้นที่ 2(Second Normal Form : 2NF)
รูปแบบบรรทัดฐานขั้นที่ 3(Third Normal Form :3NF)
รูปแบบบรรทัดฐานขั้นบอยซ์คอดด์(Boyce/Codd Normal Form : BCNF)
รูปแบบบรรทัดฐานขั้นที่ 4(Fourth Normal Form : 4NF)
รูปแบบบรรทัดฐานขั้นที่ 5(Fifth Normal Form :5NF)
ฟังก์ชันการขึ้นต่อกัน(Functional Dependency)
นิยาม
ฟังก์ชันการขึ้นต่อกันเป็นการแสดงความสัมพันธ์ระหว่างแอททริบิวต์ต่างๆในรีเลชัน ว่ามีความสัมพันธ์กันอย่างไร
กำหนด X , Y , Z เป็น แอททริบิวต์ของรีเลชัน R
ถ้าทราบค่าของข้อมูลในแอททริบิวต์ X แล้วสามารถบอกค่าข้อมูลในแอททริบิวต์ Y , Z ได้
แสดงว่าแอททริบิวต์ Y , Z มีฟังก์ชันการขึ้นต่อกันกับ แอททริบิวต์ X
เขียนแทนด้วยสัญลักษณ์ X Y , Z
ชนิดของฟังก์ชันการขึ้นต่อกัน
การขึ้นต่อกันแบบบางส่วนกับคีย์หลัก(Partial Dependency)
ในกรณีที่รีเลชันมีคีย์หลักที่ประกอบด้วยแอททริบิวต์มากกว่า 1 แอททริบิวต์ แล้วมีแอททริบิวต์อื่นๆ ที่ไม่ใช่คีย์หลัก(Nonkey attribute)
มีฟังก์ชันการขึ้นต่อกันกับบางส่วนของคีย์หลัก
เรียกว่า การขึ้นต่อกันกับบางส่วนของคีย์หลัก
การขึ้นต่อกันแบบทุกส่วนกับคีย์หลัก(Full Functional Dependency)
ถ้าแอททริบิวต์ที่ไม่ได้เป็นคีย์หลัก(Nonkey attribute) มีฟังก์ชันการขึ้นต่อกันกับแอททริ
บิวต์ที่ตัวที่ประกอบกันเป็นคีย์หลัก หรือไม่มีฟังก์ชันการขึ้นกับบางส่วนของคีย์หลัก
แสดงว่าเป็นการขึ้นต่อกันแบบขึ้นต่อกันแบบทุกส่วนของคีย์หลัก
การขึ้นต่อกันแบบทรานซิทีฟ (Transitive Dependency)
ในกรณีที่แอททริบิวต์ที่ไม่ได้เป็นคีย์หลัก(Nonkey attribute) สามารถมีฟังก์ชันการขึ้นต่อกันเองได้ จะเรียกฟังก์ชันการขึ้นต่อกันแบบนี้ว่า การขึ้นต่อกันแบบทรานซิทีฟ
การปรับให้เป็นบรรทัดฐาน(Normalization)
จากที่กล่าวไปแล้วว่า การปรับให้เป็นบรรทัดฐานมีจุดประสงค์เพื่อ ขจัดความผิดปกติลดความ
ซับซ้อนของข้อมูล อันเนื่องมาจากการออกแบบตารางข้อมูลที่ไม่ถูกต้อง แบ่งเป็นระดับพื้นฐาน 3
ระดับ
รูปแบบบรรทัดฐานระดับที่ 1 (1NF)
นิยาม
รีเลชันที่อยู่ในรูปแบบบรรทัดฐานขั้นที่ 1 ก็ต่อเมื่อ รีเลชันนั้นไม่มีกลุ่มข้อมูลซํ้า(Repeating Group)
หลักการแปลงเป็น 1NF
หากพบว่ามีกลุ่มข้อมูลซํ้า ให้แยกข้อมูลออกให้เป็นเอกเทศเป็นแต่ละทูเพิล
กำหนดคีย์หลักให้กับรีเลชัน
ผลจากการกำจัดกลุ่มข้อมูลซํ้า ทำให้สามารถกำหนดหาฟังก์ชันการขึ้นต่อกัน(Functional
Dependency) จากความสัมพันธ์ของแอททริบิวต์ในตารางข้อมูล
ระดับที่ 2(2NF)
นิยาม
รีเลชันที่อยู่ในรูปแบบบรรทัดฐานขั้นที่ 2 ก็ต่อเมื่อ
รีเลชันนั้นต้องอยู่ในรูปแบบบรรทัดฐานขั้นที่ 1
ไม่มีแอททริบิวต์ที่มีการขึ้นต่อบางส่วนของคีย์หลัก(Partial Dependency)
หลักกํารแปลงเป็น 2NF
หากมีรีเลชันใดที่มีแอททริบิวต์มีการขึ้นต่อกันกับบางส่วนของคีย์หลัก ให้ตัดแอททริบิวต์ดังกล่าวออกไปไว้ในรีเลชันใหม่ในรีเลชันเดิมให้คงแอททริบิวต์ที่ขึ้นกับทุกส่วนของคีย์หลักไว้
สร้างรีเลชันใหม่ โดยดึงแอททริบิวต์ที่ขึ้นกับบางส่วนของคีย์หลัก และกำหนดคีย์หลักของรีเลชันจากแอททริบิวต์ที่เป็นส่วนประกอบของรีเลชันที่แอททริบิวต์เหล่านี้มีฟังก์ชันการขึ้นต่อกัน
ระดับที่ 3(3NF)
นิยาม
รีเลชันที่อยู่ในรูปแบบบรรทัดฐานขั้นที่ 3 ก็ต่อเมื่อ
รีเลชันนั้นต้องอยู่ในรูปแบบบรรทัดฐานขั้นที่ 2
ไม่มีแอททริบิวต์ที่ไม่ใช่คีย์หลักสามารถระบุค่าแอททริบิวต์ที่ไม่ใช่คีย์หลักอื่น
ได้(Transitive Dependency)
หลักการแปลงให้เป็น 3NF
หากในรีเลชันมีการขึ้นต่อกันแบบทรานซิทีฟ ให้ตัดเอาแอททริบิวต์ที่ขึ้นต่อกันแบบทรานซิทีฟออกไปสร้างรีเลชันใหม่
สร้างรีเลชันใหม่ โดยนำเอาแอททริบิวต์ที่ขึ้นต่อกันแบบทรานซิทีฟจากรีเลชันเดิมมาและกำหนดคีย์หลักโดยเลือกเอาแอททริบิวต์ที่สามารถกำหนดค่าของแอททริบิวต์อื่นๆ ได้
ในรีเลชันเดิมให้คง แอททริบิวต์ที่สามารถเลือกค่าแอททริบิวต์ที่ไม่ใช่คีย์หลักไว้เป็นคีย์นอก (Foreign key) เพื่อใช้ในการเชื่อมโยงกับรีเลชันใหม่