ความแตกต่างระหว่าง 3NF และ BCNF

ความแตกต่างระหว่าง 3NF และ BCNF
ความแตกต่างระหว่าง 3NF และ BCNF

วีดีโอ: ความแตกต่างระหว่าง 3NF และ BCNF

วีดีโอ: ความแตกต่างระหว่าง 3NF และ BCNF
วีดีโอ: ขอบคุณที่มอบความสุขในวัยเด็กนะครับ #สปอยหนัง #ขึ้นฟีดเถอะ #ขึ้นฟีด #rip 2024, พฤศจิกายน
Anonim

3NF เทียบกับ BCNF

การทำให้เป็นมาตรฐานเป็นกระบวนการที่ดำเนินการเพื่อลดความซ้ำซ้อนที่มีอยู่ในข้อมูลในฐานข้อมูลเชิงสัมพันธ์ กระบวนการนี้จะแบ่งตารางขนาดใหญ่ออกเป็นตารางขนาดเล็กโดยมีความซ้ำซ้อนน้อยลง ตารางขนาดเล็กเหล่านี้จะเกี่ยวข้องกันผ่านความสัมพันธ์ที่กำหนดไว้อย่างดี ในฐานข้อมูลที่มีการทำให้เป็นมาตรฐาน การเปลี่ยนแปลงหรือแก้ไขข้อมูลใดๆ จะต้องมีการแก้ไขเพียงตารางเดียว Third Normal Form (3NF) เปิดตัวในปี 1971 โดย Edgar F. Codd ซึ่งเป็นผู้ประดิษฐ์แบบจำลองเชิงสัมพันธ์และแนวคิดของการทำให้เป็นมาตรฐาน Boyce-Codd Normal Form (BCNF) เปิดตัวในปี 1974 โดย Codd และ Raymond F.บอยซ์

3NF คืออะไร

3NF เป็นรูปแบบปกติที่สามที่ใช้ในการทำให้เป็นมาตรฐานของฐานข้อมูลเชิงสัมพันธ์ ตามคำจำกัดความของ Codd ตารางถูกกล่าวว่าอยู่ใน 3NF ถ้าหากว่าตารางนั้นอยู่ในรูปแบบปกติที่สอง (2NF) และทุกแอตทริบิวต์ในตารางที่ไม่ได้เป็นของรหัสตัวเลือกควรขึ้นอยู่กับ รหัสผู้สมัครทุกคนของตารางนั้น ในปี 1982 Carlo Zaniolo ได้ให้คำจำกัดความ 3NF ที่แตกต่างกัน ตารางที่สอดคล้องกับ 3NF โดยทั่วไปไม่มีความผิดปกติที่เกิดขึ้นเมื่อแทรก ลบ หรืออัปเดตระเบียนในตาราง

BCNF คืออะไร

BCNF (หรือเรียกอีกอย่างว่า 3.5NF) เป็นอีกรูปแบบหนึ่งที่ใช้ในการสร้างมาตรฐานฐานข้อมูลเชิงสัมพันธ์ ได้รับการแนะนำให้รู้จักกับความผิดปกติบางอย่างที่ 3NF ไม่ได้แก้ไข กล่าวกันว่าตารางอยู่ใน BCNF ถ้าหากว่าสำหรับแต่ละการอ้างอิงของรูปแบบ A → B ที่ไม่สำคัญ A เป็นซุปเปอร์คีย์ การสลายตัวของตารางที่ไม่ได้อยู่ในรูปแบบปกติของ BCNF ไม่ได้รับประกันการสร้างตารางในรูปแบบ BCNF (ในขณะที่คงไว้ซึ่งการขึ้นต่อกันซึ่งมีอยู่ในตารางต้นฉบับ)

3NF กับ BCNF ต่างกันอย่างไร

ทั้ง 3NF และ BCNF เป็นรูปแบบปกติที่ใช้ในฐานข้อมูลเชิงสัมพันธ์เพื่อลดความซ้ำซ้อนในตาราง ในตารางที่อยู่ในรูปแบบปกติของ BCNF สำหรับการพึ่งพาฟังก์ชันที่ไม่สำคัญของรูปแบบ A → B ทุกครั้ง A เป็น super-key ในขณะที่ตารางที่สอดคล้องกับ 3NF ควรอยู่ใน 2NF และทุก non-prime แอตทริบิวต์ควรขึ้นอยู่กับคีย์ตัวเลือกทุกรายการของตารางนั้นโดยตรง BCNF ถือเป็นรูปแบบปกติที่แข็งแกร่งกว่า 3NF และได้รับการพัฒนาขึ้นเพื่อจับภาพความผิดปกติบางอย่างที่ 3NF จับไม่ได้ การรับตารางที่สอดคล้องกับแบบฟอร์ม BCNF จะต้องแยกตารางที่อยู่ใน 3NF การสลายตัวนี้จะส่งผลให้มีการดำเนินการเข้าร่วมเพิ่มเติม (หรือผลิตภัณฑ์คาร์ทีเซียน) เมื่อดำเนินการค้นหา สิ่งนี้จะเพิ่มเวลาในการคำนวณ ในทางกลับกัน ตารางที่สอดคล้องกับ BCNF จะมีความซ้ำซ้อนน้อยกว่าตารางที่สอดคล้องกับ 3NF เท่านั้น นอกจากนี้ โดยส่วนใหญ่แล้ว สามารถรับตารางที่สอดคล้องกับ 3NF ได้โดยไม่ขัดขวางการรักษาการพึ่งพาและการเข้าร่วมแบบไม่สูญเสียแต่สิ่งนี้ไม่สามารถทำได้เสมอไปกับ BCNF

แนะนำ: