ファクト テーブル
更新 : 2007 年 11 月
データ ウェアハウスには、それぞれ 1 つ以上のファクト テーブルが含まれます。"スター" スキーマや "スノーフレーク" スキーマの柱であるファクト テーブルは、チームの運営を測定するためのデータを取り込みます。通常、ファクト テーブルには (大規模なチーム プロジェクトで 1 年から数年の履歴がある場合は特に) 大量の行が含まれます。
ファクト テーブルの重要な特徴の 1 つは、組織運営の履歴に関して情報を提供するために要約できる数値データ (ファクト) が含まれることです。各ファクト テーブルには、関連するディメンション テーブルの主キー、およびファクト レコードの属性を含む主キーを外部キーとして持つマルチパート インデックスも含まれます。ファクト テーブルには記述情報を格納しません。また、数値測定フィールドや、ファクトをディメンション テーブル内の対応するエントリに関連付けるインデックス フィールド以外のどのようなデータも格納しないでください。
データ キューブのファクト テーブル
以下の表に、Team System のリレーショナル データベースに含まれるファクト テーブルを示します。
テーブル |
説明 |
---|---|
ビルド変更セット |
このビルドに含まれるが、同じ種類の以前のビルドには含まれない変更セットごとに 1 つの行が作成されます。これにより、ビルド情報をチェックインに関連付けることができます。また、チェックインに関連付けられた作業項目に関連付けることも可能です。 |
ビルド カバレッジ |
ビルドに対して測度が集められたときのタイム コードごとに 1 つの行が作成されます。 |
ビルドの詳細 |
ビルドが実行された時刻ごとに 1 つの行が作成されます。 |
ビルド プロジェクト |
ビルド内部のプロジェクトがビルドされる時刻ごとに 1 つの行が作成されます。 |
コード チャーン |
任意のファイルのリビジョンごとに、新しい行が 1 つ作成されます。 |
現在の作業項目 |
システムに現在含まれる作業項目ごとに 1 つの行が作成されます。 |
ロード テスト カウンタ |
実行された各ロード テストで読み取られた、パフォーマンス カウンタ値ごとの要約情報です。カウンタ ID、値、および値のソースであるコンピュータを含みます。 |
ロード テストの詳細 |
ロード テストが実行された時刻ごとに 1 つの行が作成されます。 |
ロード テストのページ概要 |
各ロード テストの間に訪問した URL ごとに 1 つの行が作成されます。最上位のページごとに情報を要約しますが、たとえばイメージなどの依存要求に関する詳細情報は含まれません。 |
ロード テストの概要 |
ロード テストの一部であるテストの実行ごとに 1 つの行が作成されます。テストが実行された回数、そのうちの失敗した回数、実行にかかった時間の平均などが含まれます。 |
ロード テストのトランザクション |
各トランザクションの平均時間が含まれます。たとえば、ロード下で単体テストを実行する場合、テストのタイマが各トランザクションの平均所要時間としてここに報告されます。 |
実行カバレッジ |
コード カバレッジの測度を収集するためのテストの実行が行われた時刻ごとに 1 つの行が作成されます。 |
テスト結果 |
各テストの実行ごとに 1 つの行が作成されます。テストの結果、開始時間と終了時間、テストに関するメタデータ (カテゴリ、CSS ノードなど) が含まれます。 |
作業項目変更セット |
作業項目のリビジョンと変更セットの間のリレーションシップごとに 1 つの行が作成されます。 |
作業項目の履歴 |
ある時点での情報を移行数とレコード数を使用して集計した、作業項目のバージョン付きファイルです。 |
すべてのファクト テーブルに、以下の 5 つのフィールドが含まれます。
ID
論理トラッキング ID
LastUpdatedTime
LastUpdatedBy
TrackingId
また、ディメンション テーブルにリンクする外部キーのセットも含まれます。
ファクト テーブル内の履歴のトラック
作業項目やテスト結果に伴うファクトは、それぞれ時間と共に変化します。これらの項目に関する情報を集計して、長期間での合計の傾向を参照すること、または、ある時点で存在する項目を参照することには価値があります。Team System データ ウェアハウスは、作業項目の各リビジョンやテストの各実行を、OLAP キューブでの計算によって、指定した任意の時点の情報を集計できるような方法で取り込みます。以下の表に、変更をトラックするリレーショナル データベース内の、2 つの整数の列を示します。
列 |
説明 |
---|---|
レコード数 |
レコードの変更 (バグの優先度の変更など) が行われるたびに、データベースに 2 つのレコードが書き込まれます。1 つ目のレコードは補正レコードと呼ばれ、"レコード数" 列に -1 を設定します。これによって前回のイベント時刻がキャンセル、つまり補正されます。2 つ目のレコードはファクトに関連する新しい値を記録し、レコード数に 1 をセットします。キューブ内では、2 つの時点の間にあるすべてのレコードが集計されるため、結果として、その時点で最新のレコードを除くすべてのレコードがキャンセルされます。レコード数は 1 日の現在高を示すためのベースとして使用できます。 |
状態の変更数 |
状態の変更はレポートの対象において重要な側面であるため、作業項目の状態やテスト結果の状態が変わるたびに、"状態の変更数" と呼ばれる特別なフラグが true に設定されます。"状態の変更数"は 1 日のアクティビティを示すためのベースとして使用できます。 |