畅享博客 > 航行日志——理论与实践并行 > Adventure Works 历险 > [原创]3.怎樣理清AW DW的數據結構關係
2007-1-9 10:22:03

[原创]3.怎樣理清AW DW的數據結構關係

安裝完SQL2005及SSAS後,選擇示例的安裝。這時SQL2005中會有AdventureWorks和AdventureWorksDW兩個資料庫。

通過資料庫圖表,我們可以看到整個資料庫的關聯關係。(AdventureWorks和AdventureWorksDW都建立的比較完備的FK

了解AdventureWorksDW架構是後面工作的重點。不用急於一下子了解所有情況,分部分析。

如前文所說,AdventureWorks DW 資料庫是一個設計完善的維度資料庫。這一點看表的命名即可,維度表以Dim前缀,事實表以Fact前缀。那麼這些表顯然是重點。其中有表ProspectiveBuyer,和其他表沒有FK關係,從命名來看是潛在客戶,很有可能其中的資料在未來會轉為客戶,或者這個表是用來做DataMining的分析之用,暫且不管。沒有發現預存程式(存儲過程),沒有自訂資料類型,有少量View。

AdventureWorks和AdventureWorksDW兩者從結構上也可以看出前者更注重業務邏輯,而後者更注重資料。


客戶和銷售相關資訊是 AdventureWorks 範例資料庫中的重要部份。此主題提供關於範例資料庫中出現之客戶的詳細資料、主要客戶及銷售資料表的結構描述,以及示範資料表關聯性的範例查詢。

客戶類型 

Adventure Works Cycles 是一家自行車製造公司,擁有兩種類型的客戶:

  • 個人。這些是從 Adventure Works Cycles 線上商店購買產品的消費者。

  • 商店。這些是從 Adventure Works Cycles 銷售代表購買產品的零售商或批發商。

Customer 資料表為每個客戶包含一個記錄。CustomerType 資料行指定客戶是否為個人消費者 (CustomerType = ’I’) 或是商店 (CustomerType = ’S’)。這些客戶類型專屬的資料分別存放在 Individual 與 Store 資料表中。

 

客戶類型 主要資料表 客戶人數 其他資訊

Individual

Person.Contact

Sales.Customer

Sales.Individual

Sales.SalesOrderHeader

Sales.SalesOrderDetail

18,484

已進行銷售及人數統計資料的趨勢分析,以做為資料採礦案例。

統計資料 (收入、嗜好、擁有車輛數等) 是以 xml 資料格式,儲存於 Individual 資料表的 Demographics 資料行。

Store

Person.Contact

Sales.Customer

Sales.Store

Sales.StoreContact

Sales.SalesOrderHeader

Sales.SalesOrderDetail

701

已進行資料的趨勢分析,以做為 Analysis Services 案例。

依規模分類商店:大型、中型和小型。

統計資料儲存為 xml 資料。

商店連絡人是與 Adventure Works Cycles 銷售代表有業務往來的商店員工。例如,商店老闆或採購經理通常是 Adventure Works Cycles 銷售員的連絡人。

 


有關產品資訊的詳細資料,這些資料是以 AdventureWorks 範例資料庫、產品相關資料表清單,以及展示一般資料表關係的範例查詢來呈現。

產品概觀

Adventure Works Cycles 是一家自行車製造公司,擁有下列四條生產線:

  • 在 Adventure Works Cycles 公司製造的自行車。

  • 屬於替換零件的自行車元件,如車輪、踏板或剎車組件。

  • 從供應商採購的自行車運動服,再轉售給 Adventure Works Cycles 的客戶。

  • 從供應商採購的自行車配件,再轉售給 Adventure Works Cycles 的客戶。

產品資料表

下表包含產品相關資料表內儲存之資料的簡短說明。

 

Schema.Table 包含這種內容 註解

Production.BillOfMaterials

用於製造自行車與自行車子組件之所有元件的清單。

ProductAssemblyID 資料行表示父產品或主要產品,而 ComponentID 表示用來組成父組件的子零件或個別零件。

Production.Culture

用來說明產品的當地語言。

產品說明有阿拉伯文、英文、法文、希伯來文、簡體中文和泰文。

Production.Location

Adventure Works Cycles 中的位置清單,而產品與零件在這些位置上會存為存貨。例如,油漆儲存在倉庫的 Paint Storage 位置與製造工作中心的 Paint Shop 中,而 Paint Shop 即自行車架上漆所在。

 

Production.Product

有關 Adventure Works Cycles 售出的每一個產品或用於製造 Adventure Works Cycles 自行車與自行車元件的資訊。

FinishedGoodsFlag 資料行指出產品是否已售出。未售出的產品是已售出之產品的元件。例如,自行車會售出,但是用於製作自行車架的鐵板則不會售出。

Production.ProductCategory

產品最常見的分類。例如,自行車或配件。

 

Production.ProductCostHistory

一段時間內產品的成本。

 

Production.ProductDescription

各種語言的產品完整說明。

產品說明有阿拉伯文、英文、法文、希伯來文、簡體中文和泰文。

Production.ProductInventory

產品依位置區分的存貨層級。請參閱前面提到的 Production.Location。

 

Production.ProductListPriceHistory

一段時間內產品的定價。

 

Production.ProductModel

與產品相關聯的產品型號。例如,Mountain-100 或 LL Touring Frame。

CatalogDescription 資料行包含其他產品資訊,其資料類型為 xml。Instructions 資料行包含產品製造指示,其資料類型為 xml。

ProductModelProductDescriptionCulture

產品型號、產品說明以及翻譯成當地語言之說明之間的交互參考。

 

Production.ProductPhoto

Adventure Works Cycles 銷售的產品影像。

用來儲存影像的資料類型為 varbinary(max)。

Production.ProductReview

客戶對 Adventure Works Cycles 產品的評價。

 

Production.ProductSubcategory

產品類別的子類別。例如,"Bike" (自行車) 類別下的子類別為 "Mountain" (登山越野車)、"Road" (公路競賽車)、"Touring" (休閒車)。

 


在 Adventure Works Cycles 中,採購部門會購買用來製造 Adventure Works Cycles 自行車的原料和零件;而且 Adventure Works Cycles 也會購買要零售的產品,例如自行車運動服,以及水壺及打氣筒之類的自行車配備。關於這些產品及向其購買之供應商的資訊都存放在 AdventureWorks 範例資料庫。

此主題提供關於範例資料庫中出現之供應商的詳細資料、主要供應商相關資料表的結構描述圖表,以及示範資料表關聯性的範例查詢。

供應商與採購資料表

下表包含這些資料表內儲存之資料的簡短說明。

 

Schema.Table 包含這種內容 註解

Person.Address

所有客戶的街道地址。

客戶可能會有多個地址。例如,一個客戶可能會有一個帳單寄送地址和一個不同的送貨地址。

關聯式資料表 VendorAddress 對應供應商與其地址。

Address 資料表也包含 Adventure Works Cycles 員工及客戶的地址資訊。

Person.Contact

Adventure Works Cycles 採購代理人向其訂購產品的供應商員工姓名。

一個供應商可以有好幾位連絡人。例如,銷售代理人及銷售經理。Adventure Works Cycles 採購代理人可能將銷售代理人視為主要的客戶連絡人,而將銷售經理視為第二連絡人。

關聯式資料表 VendorContact 對應連絡人與供應商。

AdditionalContactInfo 資料行包含專屬於連絡人的其他電話號碼 (手機、傳真等)。此資料行為 xml 資料類型。如需詳細資訊,請參閱<關於 Contact.AdditionalContactInfo XML 資料行>。

Production.ProductVendor

對應供應商與其提供的產品。

一種產品可能有多個供應商提供,而一個供應商可能提供多項產品。

 

Purchasing.PurchaseOrderDetail

採購訂單的詳細資料,如已訂購的產品、數量和單位價格。

 

Purchasing.PurchaseOrderHeader

採購訂單的摘要資訊,如總金額、訂單日期和訂單狀態。

PurchaseOrderHeader 與 PurchaseOrderDetail 資料表一起建立一對多的關聯性。

Purchasing.ShipMethod

用來維護標準運送產品方法的查閱資料表。

ShipMethodID 資料行包含於 PurchaseOrderHeader 資料表內。

Purchasing.Vendor

關於供應商的詳細資料,如供應商的名稱和帳戶號碼。

 

Purchasing.VendorAddress

連結客戶與 Address 資料表中的地址資訊。

地址可以依類型進行分類,如帳單地址、住家地址、送貨地址等。AddressTypeID 資料行對應到 AddressType 資料表。

Purchasing.VendorContact

所有客戶的街道地址。

客戶可能會有多個地址。例如,一個客戶可能會有一個帳單寄送地址和一個不同的送貨地址。

這是關聯式資料表。請參閱 Contact 與 Vendor 資料


Adventure Works Cycles 製造資訊詳細資料,這些資料是以 AdventureWorks 範例資料庫、製造業相關資料表清單,以及展示一般資料表關係的範例查詢來呈現。

製造業概觀

AdventureWorks 範例資料庫內提供的資料表,可以支援下列常見製造相關案例:

  • 製造流程:

    • 用料表:列出產品上所使用或包含的其他產品。

    • 工作順序:工作中心的製造順序。

    • 地點:定義主要的製造及存貨區域,例如骨架組裝、油漆、局部裝配等等。

    • 工作中心提供的製造和產品組裝指示。

  • 產品存貨:倉庫或製造區域內產品的實際存放位置,以及該區域內可用的數量。

  • 工程文件:自行車或自行車零件的技術規格及維修方面的文件。

製造資料表

下列資料表包含製造資料表內儲存之資料的簡短說明。

 

Schema.Table 包含這種內容 註解

Production.BillOfMaterials

用於製造自行車與自行車子組件之所有元件的清單。

用料表結構中有一個原有的循環關係,指出父產品與組成該產品之元件之間的關聯性。例如,如果父產品是自行車,首先組裝的元件是車輪。車輪組件有自己的元件,像是反光燈、輪框、輪輻、輪胎和內胎。

ProductAssemblyID 資料行表示父產品或主要產品,而 ComponentID 表示用來組成父組件的子零件或個別零件。

BOM_Level 資料行表示與 ProductAssemblyID 相關的 ComponentID 的階層。在前述範例中,車輪組件的 BOM_Level 可能是 1,而車輪組件的元件的 BOM_Level 可能是 2,依此類推。

Production.Document

工程規格及其他技術文件。

DocumentSummary 資料行使用 varchar(max) 資料類型。Document 資料行使用 varbinary(max) 資料類型。

Production.Illustration

自行車製造的圖解。

圖解是以製造指示來呈現的,包含於 ProductModel 資料表內。此資料行使用 xml 資料類型。

Production.Location

Adventure Works Cycles 內存貨和製造區域的清單,其中產品和零件當作存貨或組件儲存。例如,油漆儲存在倉庫的 Paint Storage 位置與製造工作中心的 Paint Shop 中,而 Paint Shop 即自行車架上漆所在。

 

Production.Product

有關 Adventure Works Cycles 售出的每一個產品或用於製造 Adventure Works Cycles 自行車與自行車元件的資訊。

FinishedGoodsFlag 資料行指出產品是否已售出。未售出的產品是已售出之產品的元件。例如,自行車會售出,但是用於製作自行車架的鐵板則不會售出。

Production.ProductInventory

產品依位置區分的存貨層級。請參閱前面提到的 Production.Location。

 

Production.ProductModel

與產品相關聯的產品型號。例如,Mountain-100 或 LL Touring Frame。

CatalogDescription 資料行包含其他產品資訊,其資料類型為 xml。Instructions 資料行包含產品製造指示,其資料類型為 xml

Production.ScrapReason

製造流程中自行車或自行車零件的常見被拒原因清單。例如,Paint (油漆) 工作中心以 ’Paint failed’ (油漆不合格) 作為被拒原因,表示自行車車架的上漆處理方式不恰當。

WorkOrderRouting 資料表會記錄被拒的數量,並依產品記錄被拒原因。

根據問題的嚴重程度,必須修正或替換產品,才能將產品送到下一個工作中心。

Production.WorkOrder

定義符合目前及預估銷售所需生產的產品及數量。

 

Production.WorkOrderRouting

每份工作順序的詳細資料;其中包括產品在製造或組裝流程中產品所需經過之工作中心的順序。例如,自行車把手是在 Frame Forming (骨架組裝) 工作中心製造的。接著進入 Frame Welding (骨架熔接) 工作中心繼續作業,然後再進入 Subassembly (局部裝配) 工作中心,鑲嵌到自行車骨架上。

 


推荐到鲜果: 查阅更多相关主题的帖子: BI 实战商业智能

评论

您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)