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
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.
Kurallı, isim, basit isim ve Java Ders...
Python soyut sınıf ve arayüz arasındak...
R, arasındaki fark nedir? [] [[]] list...
Seçmek arasındaki fark Nedir ve Nerede...
Türü kesin belirlenmiş bir dil ve bir ...