SORU
8 Aralık 2011, PERŞEMBE


3NF arasındaki fark ve basit bir dille BCNF (bir 8 yaşındaki açıklamak gerekir)

Alıntı okudum : veri anahtarı [1NF] tüm anahtar [2NF] ve hiçbir şey ama anahtarı [3NF] bağlıdır.

Ancak, sorun 3.5 NF ya da denir olarak BCNF anlama yaşıyorum. Şunu anladım :

  • BCNF 3NF daha sıkı
  • tabloda herhangi FD sol tarafı süper (ya da en azından bir aday anahtar) olması gerekir

Neden bazı 3NF tablolar BCNF değildir o zaman, öyle mi? , 3NF alıntı açıkça "hiçbir şey ama anahtar tüm özellikler birincil anahtar. üzerinde sadece bağımlı" anlamında söylüyor yani Birincil anahtar birincil anahtar olarak seçilmiş olana kadar her bir aday anahtar sonra.

Eğer bir şey yanlış benim şimdiye kadar anlamak ile ilgili ise, lütfen sağlayabilir herhangi bir yardım için bana teşekkür düzeltin.

CEVAP
8 Aralık 2011, PERŞEMBE


Pizza tam olarak üç tepesi türleri vardır:

  • peynir türü
  • et türü
  • sebze türü

Biz iki pizza sipariş ve aşağıdaki garnitürler seçin:

Pizza    Topping    Topping Type
-------- ---------- -------------
1        mozarella  cheese
1        pepperoni  meat
1        olives     vegetable
2        mozarella  meat
2        sausage    cheese
2        peppers    vegetable

Bir saniye, mozarella peyniri ve et de olamaz bekleyin! Sosis ve peynir değil!

Hata bu tür, mozarella yapmak önlememiz lazımher zamanpeynir. Sadece tek bir yerde bu gerçeği yazıyoruz yani bunun için ayrı bir tablo kullanmanız gerekir.

Pizza    Topping
-------- ----------
1        mozarella
1        pepperoni
1        olives
2        mozarella 
2        sausage
2        peppers

Topping    Topping Type
---------- -------------
mozarella  cheese
pepperoni  meat
olives     vegetable
sausage    meat
peppers    vegetable

Re yorumunuz:

Soru 8 yaşındaki bir açıklama anlayabileceği gerekli. :-)

BCNF farklı birden fazla var sadece 3NF aday tuşları üst üste görür.

Sebebi işlevsel bağımlılık X -> Y Y X bir alt kümesi ise elbette doğrudur. Yani herhangi bir tablo, tek bir aday anahtar ve 3NF, BCNF zaten yoktur çünkü sütun (anahtar veya anahtar olmayan) işlevsel bağımlı bir şey ayrıca o anahtar.

Her pizza tepesi her tür tam olarak bir olması gerekir, çünkü, o (Pizza, Türü Tepesi) bir aday anahtar olduğunu biliyoruz. Biz verilen tepesi olamaz farklı türleri aynı anda ait olduğunu da sezgisel olarak biliyoruz. (Pizza Sosu) benzersiz olması gerekir ve bu nedenle de bir aday anahtardır. Üst üste gelen iki aday anahtarları var.

Yanlış tepesi türü olarak mozarella biz işaretlenmiş bir anormallik gösterdim. Bunun yanlış olduğunu biliyoruz, ama yanlış yapan kural bir bağımlılıktır bu tablonun BCNF için geçerli bir bağımlılık değildir Topping -> Topping Type. Bir şey bütün aday bir anahtardan başka bir bağımlılık.

Yani bu sorunu çözmek için, biz Pizza tablosunu Tepesi Yazın alıp Soslar bir tablodaki anahtar olmayan özniteliği olun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • Strata1000

    Strata1000

    28 EYLÜL 2009
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010