【スタースキーマ】
スタースキーマ とは?
最終更新:
💡 分析する出来事を中心に、商品・日付などの切り口をつなぐ
分析向けのテーブル設計パターン。売上などの出来事を記録するファクトテーブルを中心に、商品・顧客・日付などのディメンションテーブルを結び、絞り込みや集計を行いやすくする。
📌 このページのポイント
- ファクトテーブルは出来事や観測を、ディメンションテーブルは分析の切り口となる属性を表す
- ファクトにはディメンションへのキーや、金額・数量などの集計対象を持たせる
- 1行が何を表すかという粒度を決め、同じ粒度でデータを記録する
- 分析しやすい構造だが、速度や容量はデータ量・実装・問い合わせによって変わる
スタースキーマって星形のデータベース?
テーブルの関係図が星形に見える設計だよ。中心のファクトに売上などの出来事を記録し、商品・顧客・日付といったディメンションを周囲につなぐ。実際の記憶装置が星形になるわけではないよ。
ファクトは数字だけのテーブルなの?
金額や数量などの集計対象だけでなく、どの商品・顧客・日付に対応するかを示すキーも持つよ。ディメンションには商品名やカテゴリ、地域などを置き、絞り込みやグループ分けに使うんだ。
1行が何を表すかも決めるの?
それが粒度だよ。たとえば「注文の明細1行」なのか「月ごとの商品別売上」なのかを決める。同じファクトに異なる粒度を不用意に混ぜると、集計を誤る原因になるので、粒度をそろえて記録するんだ。
BIツールではどう使うの?
ディメンションで「どの商品カテゴリか」「どの月か」と絞り込み、ファクトの金額などを集計する。分析の切り口と集計対象を分けた構造なので、Power BIなどのモデルを整理するのに役立つよ。
スノーフレークスキーマより必ず速い?
まとめ:ざっくりこれだけ覚えればOK!
「スタースキーマ」って出てきたら「分析する出来事を中心に、属性のテーブルをつなぐ設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Star Schema」 = 星形スキーマ
💬 ER図を描くとファクトテーブルを中心にディメンションテーブルが放射状につながって、星(Star)のように見えるからこう呼ばれるんだよ