Skip to main content

Boyce-Codd Normal Form (BCNF) คืออะไร?

Boyce-Codd Normal Form (BCNF) | Database Normalization | DBMS (อาจ 2025)

Boyce-Codd Normal Form (BCNF) | Database Normalization | DBMS (อาจ 2025)
Anonim

เป้าหมายของ Boyce-Codd Normal Form (BCNF) คือการเพิ่มความสมบูรณ์ของข้อมูลด้วยการจัดคอลัมน์และตารางของฐานข้อมูลเชิงสัมพันธ์เพื่อให้ได้มาตรฐานของฐานข้อมูล การทำให้ปกติฐานข้อมูลเกิดขึ้นเมื่อมีการสร้างความสัมพันธ์ระหว่างตารางและเมื่อตารางได้กำหนดกฎเพื่อให้ฐานข้อมูลมีความยืดหยุ่นมากขึ้นและเพื่อรักษาข้อมูลไว้

เป้าหมายของการทำให้เป็นบรรทัดฐานของฐานข้อมูลคือการกำจัดข้อมูลที่ซ้ำซ้อนและเพื่อให้แน่ใจว่าการอ้างอิงข้อมูลมีความสมเหตุสมผล

ฐานข้อมูลถูกทำให้เป็นมาตรฐานเมื่อข้อมูลเดียวกันไม่ได้ถูกเก็บไว้ในมากกว่าหนึ่งตารางและเมื่อข้อมูลที่เกี่ยวข้องจะถูกเก็บไว้ในตารางเท่านั้น

ต้นกำเนิดของฟอร์มปกติ Boyce-Codd

ต่อไปนี้เป็นแนวทางเพื่อให้แน่ใจว่าฐานข้อมูลเป็นปกติ หลักเกณฑ์เหล่านี้เรียกว่ารูปแบบปกติและมีเลขตั้งแต่หนึ่งถึงห้า ฐานข้อมูลเชิงสัมพันธ์จะอธิบายเป็นนัยหากตรงกับรูปแบบสามรูปแบบแรกคือ 1NF, 2NF และ 3NF

BCNF ถูกสร้างขึ้นเพื่อเป็นการขยายไปสู่รูปแบบปกติที่สามหรือ 3NF ในปีพ. ศ. 2517 โดย Raymond Boyce และ Edgar Codd คนเหล่านี้กำลังทำงานเพื่อสร้างแผนผังฐานข้อมูลที่ลดความซ้ำซ้อนของงานโดยมีเป้าหมายเพื่อลดเวลาในการคำนวณ ฟอร์มปกติที่สามจะเอาคอลัมน์ที่ไม่ได้ขึ้นอยู่กับคีย์หลักนอกเหนือจากการปฏิบัติตามหลักเกณฑ์ในรูปแบบปกติแรกและที่สอง BCNF ซึ่งบางครั้งเรียกว่า 3.5NF ซึ่งเป็นไปตามข้อกำหนดทั้งหมดของ 3NF และกำหนดให้คีย์ candidate ไม่ได้ขึ้นอยู่กับแอตทริบิวต์อื่น ๆ ในตาราง

ในช่วงเวลาแห่งการสร้างสรรค์ของ BCNF บอยซ์เป็นหนึ่งในนักพัฒนาที่สำคัญของ Structured English Query Language (SQL) ซึ่งปรับปรุงข้อมูลโดยใช้โมเดลเชิงสัมพันธ์ของ Codd ในรูปแบบนี้ Codd posited ว่าโครงสร้างซับซ้อนของฐานข้อมูลอาจจะลดลงซึ่งหมายความว่าแบบสอบถามอาจมีประสิทธิภาพและยืดหยุ่น

ใช้ข้อมูลเชิงลึกเกี่ยวกับฐานข้อมูลเชิงสัมพันธ์ของเขา Codd กำหนดแนวทาง 1NF, 2NF และ 3NF เขาร่วมกับ Boyce เพื่อกำหนด BCNF

คีย์ผู้สมัครและ BCNF

คีย์ผู้สมัครคือคอลัมน์หรือชุดค่าผสมของคอลัมน์ในตารางที่สร้างคีย์เฉพาะในฐานข้อมูล สามารถใช้แอตทริบิวต์ร่วมกันเพื่อระบุระเบียนฐานข้อมูลโดยไม่อ้างอิงกับข้อมูลอื่น ๆ แต่ละตารางสามารถมีคีย์ผู้สมัครหลายคนซึ่งหนึ่งในนั้นสามารถมีคุณสมบัติเป็นคีย์หลักได้ ตารางมีเพียงคีย์หลักเดียวเท่านั้น

คีย์ผู้สมัครต้องไม่ซ้ำกัน

ความสัมพันธ์อยู่ใน BCNF ถ้าทุกปัจจัยเป็นคีย์ผู้สมัคร พิจารณาตารางฐานข้อมูลที่เก็บข้อมูลพนักงานและมีคุณลักษณะ <> >, , , และ .

ในตารางนี้ฟิลด์ กำหนด ชื่อจริง และ นามสกุล . ในทำนองเดียวกัน tuple ( , ) กำหนด .

รหัสพนักงานชื่อจริงนามสกุลหัวข้อ
13133เอมิลี่ช่างเหล็กผู้จัดการ
13134จิมช่างเหล็กภาคี
13135เอมิลี่โจนส์ภาคี

คีย์ผู้สมัครสำหรับฐานข้อมูลนี้คือ เนื่องจากเป็นค่าเดียวที่ไม่สามารถใช้โดยแถวอื่นได้