事實資料表
更新:2007 年 11 月
每個資料倉儲都包括一或多個事實資料表。事實資料表是「星狀」或「雪花」結構描述的中心,可以擷取用來度量小組作業的資料,通常包含大量的資料列,特別是當 Team 專案為包含一或多年的記錄之大型專案時。
事實資料表的重要特性是其包含的數值資料 (Fact) 可以進行摘要,以提供組織作業記錄的相關資訊。每個事實資料表還包含多重索引,此索引會以外部索引鍵的形式包含相關維度資料表的主索引鍵,而這些資料表則含有事實 (Fact) 之記錄的屬性 (Attribute)。事實資料表不應包含描述性的資訊,或與數值度量欄位及索引欄位 (用於建立 Fact 與對應之維度資料表項目間的關係) 無關的資料。
資料 Cube 中的事實資料表
下表顯示包含在 Team System 關聯式資料庫中的事實資料表。
資料表 |
描述 |
---|---|
Build Changeset |
包含於本組建 (但未包含於相同類型的前一個組建) 的每個變更集都會有一個資料列。如此可以在組建資訊與簽入項目 (以及與簽入項目相關聯之工作項目) 之間建立關聯。 |
Build Coverage |
收集組建度量資訊時每個時間代碼都會有一個資料列。 |
Build Details |
每次執行組建都會有一個資料列。 |
Build Project |
每次在組建內建置專案都會有一個資料列。 |
Code Churn |
任何檔案的每次修訂都會有一個新資料列。 |
Current Work Item |
目前系統中的每個工作項目都會有一個資料列。 |
Load Test Counter |
針對每個已執行之負載測試所讀取的每個效能計數器值的摘要資訊。包含計數器 ID、值及其來源電腦。 |
Load Test Details |
每次執行負載測試都會有一個資料列。 |
Load Test Page Summary |
在每次負載測試期間所造訪的每個 URL 都會有一個資料列。摘要每個最上層頁面的資訊,但不包含相依要求的詳細資訊,例如,影像。 |
Load Test Summary |
每個當做負載測試之一部分而加以執行的測試回合都會有一個資料列。包含測試執行的次數、失敗次數,以及執行所花的平均時間等等。 |
Load Test Transaction |
包含每次交易的平均時間。例如,如果單元測試是在負載的情況下執行,則測試中的計時器在此會回報為每次交易所花的平均時間。 |
Run Coverage |
每次執行收集程式碼涵蓋範圍度量資訊的測試回合都會有一個資料列。 |
Test Result |
每個測試的每次執行都會有一個資料列。包含測試的結果、開始和結束時間,以及測試的相關中繼資料 (分類、CSS 節點等等)。 |
Work Item Changeset |
工作項目修訂和變更集之間的每個關聯性 (Relationship) 都會有一個資料列。 |
Work Item History |
已建立版本的工作項目檔案,使用交易計數和記錄計數以彙總 (Aggregate) 某一時間點的資訊。 |
所有的事實資料表都會顯示五個欄位:
ID
Logical Tracking ID
LastUpdatedTime
LastUpdatedBy
TrackingId
此外,還有一組連結至維度資料表的外部索引鍵。
事實資料表中的追蹤記錄
工作項目和測試結果都含有隨時間而改變的事實。彙整這些項目的相關資訊,並檢視總計隨時間而變的趨勢,或者檢視項目在單一時間點的存在狀態,是很有用的。Team System 資料倉儲會擷取工作項目的每次修訂或測試的每次執行,使您可以在 OLAP Cube 中進行計算以彙整任何時間點的資訊。下表說明追蹤變更之關聯式資料庫中的兩個整數資料行。
資料行 |
描述 |
---|---|
記錄計數 |
每次記錄發生變更時 (例如,當 Bug 的優先權變更時),資料庫中就會寫入兩筆記錄。第一筆記錄 (稱為補償性記錄) 會將「記錄計數」資料行設定為 -1,因而抵銷 (或補償) 之前發生的事件。第二筆記錄則會記錄與事實關聯的新值,並將記錄計數設定為 1。在 Cube 中彙整兩個時間點之間的所有記錄可以有效地抵銷該時間點的所有記錄 (最新的記錄除外)。您可以根據「記錄計數」來顯示某日的執行總數。 |
狀態變更計數 |
由於狀態變更是報告的重要依據,所以每次工作項目的狀態或測試結果變更時,稱為「狀態變更計數」的特殊旗標都會設定為 true。您可以根據「狀態變更計數」來顯示某日的活動。 |