Dördüncü normal form - Fourth normal form

Dördüncü normal form (4NF) bir normal form kullanılan veritabanı normalleştirme. Tarafından tanıtıldı Ronald Fagin 1977'de 4NF, sonraki normalleşme seviyesidir. Boyce – Codd normal formu (BCNF). Oysa ikinci, üçüncü, ve Boyce – Codd normal formlar ile ilgilidir işlevsel bağımlılıklar 4NF, daha genel bir bağımlılık türü ile ilgilidir. çok değerli bağımlılık. Bir masa 4NF içinde ancak ve ancak önemsiz olmayan çok değerli bağımlılıklarının her biri için X Y, X bir süper -yani, X ya bir aday anahtar veya bunun bir üst kümesi.[1]

Birden çok değerli bağımlılıklar

İlişkisel veritabanı tablosundaki sütun başlıkları üç ayrık gruba bölünürse X, Y, ve Z, daha sonra, belirli bir satır bağlamında, her başlık grubunun altındaki verilere şu şekilde başvurabiliriz: x, y, ve z sırasıyla. Bir çok değerli bağımlılık X Y herhangi birini seçersek x tabloda gerçekten meydana geliyor (bu seçeneği arayın xc) ve tüm xcyz Tabloda oluşan kombinasyonlar, bunu bulacağız xc aynı ile ilişkili y ne olursa olsun girişler z. Dolayısıyla, esasen z'nin varlığı, olası değerleri sınırlamak için hiçbir yararlı bilgi sağlamaz. y.

Bir önemsiz çok değerli bağımlılık X Y biri nerede Y alt kümesidir Xveya X ve Y birlikte ilişkinin tüm niteliklerini oluşturur.

Bir işlevsel bağımlılık çok değerli bağımlılığın özel bir durumudur. İşlevsel bir bağımlılıkta XY, her x belirler tam olarak bir y, asla birden fazla.

Misal

Aşağıdaki örneği düşünün:

Pizza Teslimatı Permütasyonları
RestoranPizza ÇeşitliliğiTeslim alanı
A1 PizzaKalın kabukSpringfield
A1 PizzaKalın kabukShelbyville
A1 PizzaKalın kabukBaşkent
A1 PizzaDoldurulmuş KabukSpringfield
A1 PizzaDoldurulmuş KabukShelbyville
A1 PizzaDoldurulmuş KabukBaşkent
Elit Pizzaİnce kabukBaşkent
Elit PizzaDoldurulmuş KabukBaşkent
Vincenzo PizzaKalın kabukSpringfield
Vincenzo PizzaKalın kabukShelbyville
Vincenzo Pizzaİnce kabukSpringfield
Vincenzo Pizzaİnce kabukShelbyville

Her satır, belirli bir restoranın belirli bir alana belirli bir pizza çeşidi sunabileceğini gösterir.

Tablonun anahtar olmayan nitelikleri yoktur, çünkü tek anahtarı {Restoran, Pizza Çeşitliliği, Teslimat Alanı}. Bu nedenle BCNF'ye kadar tüm normal formları karşılar. Bununla birlikte, bir restoranın sunduğu pizza çeşitlerinin teslimat alanından etkilenmediğini varsayarsak (yani bir restoran yaptığı tüm pizza çeşitlerini tedarik ettiği tüm alanlara sunar), o zaman 4NF'yi karşılamaz. Sorun, tablonun {Restaurant} özniteliğinde (bir süper anahtar olmayan) önemsiz olmayan çok değerli iki bağımlılık içermesidir. Bağımlılıklar şunlardır:

  • {Restoran} {Pizza Çeşitliliği}
  • {Restoran} {Teslim alanı}

Süper olmayan birine olan bu önemsiz olmayan çok değerli bağımlılıklar, bir restoranın sunduğu pizza çeşitlerinin, restoranın sunduğu alanlardan bağımsız olduğu gerçeğini yansıtır. Bu durum yol açar fazlalık Tabloda: örneğin, A1 Pizza'nın Doldurulmuş Hamur sunduğunu ve A1 Pizza'nın Peynir Kabuklu pizza üretmeye başlaması durumunda A1 Pizza'nın teslimat alanlarının her biri için bir tane olmak üzere birden fazla satır eklememiz gerekeceği söylendi. Dahası, bunu yanlış yapmamızı engelleyecek hiçbir şey yok: A1 Pizza'nın teslimat alanlarından biri hariç tümü için Cheese Crust satırları ekleyebiliriz ve bu nedenle çok değerli bağımlılığa uymayabiliriz {Restaurant} {Pizza Çeşitliliği}.

Bu anormalliklerin olasılığını ortadan kaldırmak için, sunulan çeşitlerle ilgili gerçekleri teslimat alanları hakkındaki gerçeklerden farklı bir tabloya yerleştirmeli ve her ikisi de 4NF'de olan iki tablo vermeliyiz:

Restorana Göre Çeşitler
RestoranPizza Çeşitliliği
A1 PizzaKalın kabuk
A1 PizzaDoldurulmuş Kabuk
Elit Pizzaİnce kabuk
Elit PizzaDoldurulmuş Kabuk
Vincenzo PizzaKalın kabuk
Vincenzo Pizzaİnce kabuk
Restorana Göre Teslimat Alanları
RestoranTeslim alanı
A1 PizzaSpringfield
A1 PizzaShelbyville
A1 PizzaBaşkent
Elit PizzaBaşkent
Vincenzo PizzaSpringfield
Vincenzo PizzaShelbyville

Aksine, bir restoran tarafından sunulan pizza çeşitleri bazen bir teslimat alanından diğerine yasal olarak farklılık gösteriyorsa, orijinal üç sütunlu tablo 4NF'yi karşılayacaktır.

Ronald Fagin, 4NF'ye ulaşmanın her zaman mümkün olduğunu gösterdi.[2] Rissanen teoremi şunlara da uygulanabilir çok değerli bağımlılıklar.

Uygulamada 4NF

Margaret S. Wu'nun 1992 tarihli bir makalesi, veritabanı normalleştirme öğretiminin tipik olarak 4NF'nin altında kaldığını, belki de 4NF'yi ihlal eden (ancak tüm düşük normal formları karşılayan) tabloların iş uygulamalarında nadiren karşılaşıldığına dair bir inanç nedeniyle durduğunu belirtiyor. Ancak bu inanç doğru olmayabilir. Wu, kırk örgütsel veritabanı üzerinde yapılan bir çalışmada,% 20'den fazlasının, tüm düşük normal formları karşılarken 4NF'yi ihlal eden bir veya daha fazla tablo içerdiğini bildirdi.[3]

4NF'nin ötesinde normalizasyon

Sadece nadir durumlarda 4NF masası daha yüksek normal forma uymaz 5NF. Bunlar, 4NF tablosundaki öznitelik değerlerinin geçerli kombinasyonlarını yöneten karmaşık bir gerçek dünya kısıtlamasının bu tablonun yapısında örtük olmadığı durumlardır.

Ayrıca bakınız


Referanslar

  1. ^ "Bir ilişki şeması R * dördüncü normal formdadır (4NF) eğer, önemsiz olmayan çok değerli bir bağımlılık X Y, R * için geçerlidir, bu durumda, R * 'nin her A sütun adı için işlevsel bağımlılık X → A da geçerlidir. Sezgisel olarak tüm bağımlılıklar anahtarların sonucudur. " Fagin, Ronald (Eylül 1977). "Çok Değerli Bağımlılıklar ve İlişkisel Veritabanları için Yeni Bir Normal Biçim" (PDF). Veritabanı Sistemlerinde ACM İşlemleri. 2 (1): 262–278. CiteSeerX  10.1.1.69.1872. doi:10.1145/320557.320571. Arşivlenen orijinal (PDF) 2007-11-29 tarihinde. Alındı 2008-04-26.
  2. ^ Fagin, s. 268
  3. ^ Wu, Margaret S. (Mart 1992). "Dördüncü Normal Biçim İçin Pratik İhtiyaç". ACM SIGCSE Bülteni. 24 (1): 19–23. doi:10.1145/135250.134515.

daha fazla okuma