3NF ve BCNF Arasındaki Fark

3NF ve BCNF

Normalleştirme, ilişkisel veritabanlarındaki verilerde bulunan fazlalıkları en aza indirmek için gerçekleştirilen bir işlemdir. Bu işlem büyük tabloları daha az yedekli küçük tablolara böler. Bu daha küçük tablolar, iyi tanımlanmış ilişkiler yoluyla birbirleriyle ilişkilendirilecektir. İyi normalleştirilmiş bir veritabanında, verilerdeki herhangi bir değişiklik veya değişiklik yalnızca tek bir tablonun değiştirilmesini gerektirir. Üçüncü Normal Form (3NF), aynı zamanda ilişkisel modelin ve normalleşme kavramının mucidi olan Edgar F. Codd tarafından 1971'de tanıtıldı. Boyce-Codd Normal Formu (BCNF) 1974 yılında Codd ve Raymond F. tarafından tanıtıldı..

3NF nedir?

3NF ilişkisel veritabanı normalleştirmesinde kullanılan üçüncü normal formdur. Codd'un tanımına göre, bir tablonun 3NF'de olduğu ve ancak bu tablonun ikinci normal formda (2NF) olduğu ve tablodaki bir aday anahtara ait olmayan her niteliğin doğrudan tablonun her aday anahtarı. 1982'de Carlo Zaniolo, 3NF için farklı ifade edilen bir tanım üretti. 3NF ile uyumlu tablolar genellikle tabloya kayıt eklerken, silerken veya güncellerken oluşan anormallikleri içermez.

BCNF nedir?

BCNF (3.5NF olarak da bilinir) ilişkisel veritabanı normalleştirmesinde kullanılan diğer bir normal formdur. 3NF tarafından ele alınmayan bazı anomalileri yakalamak için tanıtıldı. Bir tablonun BCNF'de olduğu ve sadece A → B formunun önemsiz olmayan her bağımlılığı için A'nın bir süper anahtar olması durumunda olduğu söylenir. BCNF normal formunda olmayan bir tablonun ayrıştırılması, BCNF formundaki tabloların üretimini garanti etmez (orijinal tabloda mevcut olan bağımlılıkları korurken).

3NF ve BCNF arasındaki fark nedir?

Hem 3NF hem de BCNF, ilişkisel veritabanlarında tablolardaki fazlalıkları en aza indirmek için kullanılan normal formlardır. BCNF normal formundaki bir tabloda, A → B formunun her önemsiz fonksiyonel bağımlılığı için A süper bir anahtar iken, 3NF ile uyumlu bir tablo 2NF'de olmalı ve her asal olmayan özellik doğrudan bu tablonun her aday anahtarına bağlı olmalıdır. BCNF, 3NF'den daha güçlü bir normal form olarak kabul edilir ve 3NF tarafından yakalanamayan bazı anomalileri yakalamak için geliştirilmiştir. BCNF formuna uygun bir tablo elde etmek için 3NF'de bulunan bir tablonun ayrıştırılması gerekir. Bu ayrışma, sorgular yürütülürken ek birleştirme işlemlerine (veya Kartezyen ürünlere) neden olur. Bu hesaplama süresini artıracaktır. Öte yandan, BCNF ile uyumlu tablolar, yalnızca 3NF ile uyumlu tablolardan daha az yedekliliğe sahip olacaktır. Ayrıca, çoğu zaman, bağımlılık korunmasını ve kayıpsız birleşmeyi engellemeden 3NF ile uyumlu bir tablo elde etmek mümkündür. Ancak BCNF ile bu her zaman mümkün değildir.