2012-11-04 9 views
7

Microsoft'un Adventure Works 2012 veritabanına bakıyorum. Tabloların neden oluşturulduğunu açıklayan herhangi bir bilgi varsa çok ilgilenirim. Bir çeşit şema genel bakışını tahmin ediyorum.Adventure Works Açıklama

Örneğin

: onlar Kişi, Çalışan temel sınıf bir tür olarak bir BusinessEntity tablo oluşturmak seçme nedeniniz

vb

onlar CountryRegionCode koymak seçtim verilerin çoğu bu yüzden normalize edilir

Bir ID yerine ayrı bir tabloya StateProvince tablosuna girin.

Her neyse, veritabanlarının tasarımına giren kararlar hakkında daha fazla bilgi edinmek istiyorum. Bu tür bir şeye giren bir kaynak bilen var mı?

cevap

7

AdventureWorks'ün resmi tasarım belgelerinin farkında değilim, ancak antrenör olmak ve demolar ve laboratuarlar için kapsamlı bir şekilde AdventureWorks veritabanlarını kullanıyorum, bu yüzden oldukça tanıdık.

BusinessEntity tablosu, SuperType/SubType tasarımının klasik bir örneğidir, bu da veri yedekliliğini azaltır, çünkü müşteriler aynı zamanda satıcı olabilir, çalışanlar müşteri olabilir ve diğer tüm kombinasyonlar olabilir. Ayrıca, kod değişiklikleri durumunda çabayı en aza indirerek, ayrı ayrı tablolarda tüm varlıklar ile ilgili ayrıntıları tekrar tekrar saklamadığınız anlamına gelir.

CountryRegionCode ben ilgili olumlu değilim ama üç nedenlerinden biri şüpheli olacaktır:

  1. performans raporlama pahasına ek tablo gerektirecek kadar belirgin kombinasyonlar bulunmamaktadır (Bu onaylayabilir gelecekte onlar hierarchyid ile hiyerarşi yapısını (Bu azından likeley seçenektir)
  2. bir normalizasyon oldu modellemek için esneklik vardı ki ifadeleri TARAFINDAN bazı basit COUNT (*) GRUBU)
  3. onlar aynı tabloda istediği hata! (Param bu seçeneği olduğunu!)
+0

Analizleriniz için teşekkür ederiz. – user1705507

3

Bu görüntü bana yardımcı, bu İşte

+0

Şemaları arıyordum ve bunu resmi sitede buldum (aynı sürümün aynı olup olmadığından emin değil): http://www.microsoft.com/en-us/download/details.aspx?id=10331 –