Normal Biçimler
Normal biçimler, ilişkisel şemalar üzerindeki koşulların bir hiyerarşisidir; işlevsel ve çok değerli bağımlılıklar (multivalued dependencies) açısından tanımlanır ve her biri belirli bir yedeklilik sınıfını ve neden olduğu anormallikleri ortadan kaldırmaktadır.
Tanım
Normal biçim, bir ilişki şemasının, işlevsel veya çok değerli bağımlılıkları açısından ifade edilen bir özelliğidir; bu özelliğin sağlanması, belirli bir tür yedekliliğin ve ilişkili güncelleme, ekleme ve silme anormalliklerinin yokluğunu garanti etmektedir.
Kapsam
Bu konu, normal biçimleri ve her birinin giderdiği yedekliliği kapsamaktadır: birinci normal biçim (atomik öznitelik değerleri), ikinci ve üçüncü normal biçim (aday anahtarlar üzerindeki kısmi ve geçişli bağımlılıkları ortadan kaldırma), Boyce-Codd normal biçimi (her önemsiz olmayan işlevsel bağımlılığın sol tarafında bir süper anahtar bulunması) ve dördüncü normal biçim (önemsiz olmayan çok değerli bağımlılıkları ortadan kaldırma). Bağımlılıklar kullanılarak her bir biçime üyeliğin nasıl test edildiğini açıklamaktadır. Bir şemayı normal biçime ulaştırmak için ayrıştırma mekaniğini dışlamaktadır; bu konu şema iyileştirme başlığı altında ele alınmaktadır.
Temel sorular
- Her normal biçim hangi koşulu dayatır ve hangi yedekliliği ortadan kaldırır?
- Kısmi ve geçişli bağımlılıklar ikinci ve üçüncü normal biçimle nasıl ilişkilidir?
- Bir şema ne zaman Boyce-Codd normal biçiminde olur ancak daha düşük biçimlerde olmaz veya tam tersi?
- Çok değerli bağımlılıklar dördüncü normal biçimi nasıl motive eder?
- Bir ilişki, belirli bir normal biçime üyeliği açısından nasıl test edilir?
Anahtar kavramlar
- birinci normal biçim (atomiklik)
- ikinci normal biçim (kısmi bağımlılık yokluğu)
- üçüncü normal biçim (geçişli bağımlılık yokluğu)
- Boyce-Codd normal biçimi
- asal ve asal olmayan öznitelikler
- çok değerli bağımlılıklar
- dördüncü normal biçim
- anormalliklerin giderilmesi
Temel kuramlar
- Birinci ila üçüncü normal biçim
- 1NF atomik öznitelik değerleri gerektirir; 2NF, asal olmayan özniteliklerin bir aday anahtarın bir kısmına olan bağımlılıklarını ortadan kaldırır; 3NF ek olarak geçişli bağımlılıkları ortadan kaldırır, böylece asal olmayan öznitelikler yalnızca aday anahtarlara bağlı olur.
- Boyce-Codd normal biçimi
- Bir şema, her önemsiz olmayan işlevsel bağımlılık X → Y için X bir süper anahtar ise BCNF'dedir; BCNF, işlevsel bağımlılıklardan kaynaklanan tüm yedekliliği ortadan kaldırır ancak bir BCNF ayrıştırması tüm bağımlılıkları koruyamayabilir.
- Dördüncü normal biçim ve çok değerli bağımlılıklar
- Fagin'in dördüncü normal biçimi, BCNF'yi çok değerli bağımlılıklara genelleştirir; her önemsiz olmayan çok değerli bağımlılığın sol tarafında bir süper anahtar bulunmasını gerektirerek, işlevsel bağımlılıkların açıklayamadığı yedekliliği ortadan kaldırır.
Klinik önem
Normal biçimler, veritabanı tasarımcılarına yedeklilikten kaynaklanan anormalliklerden arınmış şemalar üretmek için somut bir kontrol listesi sunmaktadır; pratikte çoğu operasyonel veritabanı üçüncü normal biçimi veya BCNF'yi hedeflemektedir, tasarımcılar ise analitik ve raporlama iş yüklerinde performans için bu biçimleri bilerek gevşetebilmektedir.
Tarihçe
Codd, 1970'lerin başında 1NF, 2NF ve 3NF'yi tanımlamıştır; daha güçlü olan BCNF ise kısa bir süre sonra Boyce ve Codd tarafından geliştirilmiştir. Ronald Fagin, çok değerli bağımlılıklar için 4NF'yi (1977) tanıtmış ve daha sonra birleştirme bağımlılıkları için 5NF'yi sunarak öğretimde ve pratikte kullanılan klasik hiyerarşiyi tamamlamıştır.
Öne çıkan isimler
- Edgar F. Codd
- Raymond F. Boyce
- Ronald Fagin
İlgili konular
Temel eserler
- codd1972
- fagin1977
- silberschatz2019
Sıkça sorulan sorular
- Hangi normal biçimi hedeflemeliyim?
- Çoğu işlemsel tasarım, işlevsel bağımlılıkların neden olduğu yedekliliği ortadan kaldıran üçüncü normal biçimi veya Boyce-Codd normal biçimini hedeflemektedir. Dördüncü ve beşinci normal biçimler, daha nadir görülen çok değerli ve birleştirme bağımlılıklarını ele almaktadır. Pratikte daha yüksek her zaman daha iyi değildir: tasarımcılar bazen 3NF'de durmakta veya okuma performansı için denormalizasyon yapmaktadır.
- Bir şema daha yüksek bir normal biçimde olup da daha düşük bir biçimde olamaz mı?
- 1NF'den BCNF'ye kadar olan klasik biçimler iç içe geçmiştir, bu nedenle BCNF'de olmak, 3NF, 2NF ve 1NF'de olmayı ima eder. Ancak bir şema, BCNF'yi karşılamazken 3NF'yi sağlayabilir; bu durum, tasarımcıların BCNF ile tüm işlevsel bağımlılıkları koruma arasında seçim yapması gereken yaygın bir durumdur.