Shikata Ga Nai

Private? There is no such things.

第8回:スター型スキーマって何?データベースの設計図①

Hello there, ('ω')ノ

データ分析において、「データがどのように整理されているか」は非常に重要なポイントです。 複雑なデータベースでも、ある一定の「型」に従って整理されていることが多く、 それがいわゆる「スキーマ(schema)」と呼ばれるものです。


✅ スキーマって何?

スキーマ(schema) とは、ざっくり言えば「データベースの設計図」のようなものです。

  • どんな表(テーブル)があるのか
  • それぞれの表がどうつながっているのか
  • どの列がキー(識別子)なのか

…といった構造やルールを視覚的に表現したものです。


⭐ スター型スキーマとは?

スター型スキーマ(Star Schema)は、中心にひとつの「主テーブル(ファクトテーブル)」があり、 その周りに複数の「補助テーブル(ディメンションテーブル)」が放射状に並んでいる構造です。

見た目が“星(スター)”の形に見えることから、そう呼ばれています。

🔷 図でイメージすると…

      顧客テーブル
          ↑
商品 ← 売上テーブル → 日付
          ↓
        店舗テーブル

この中央の「売上テーブル」が主テーブル(ファクトテーブル)で、 周囲の「商品」「顧客」「日付」「店舗」が補助テーブル(ディメンション)です。


🧩 各テーブルの役割

テーブル 役割
主テーブル(ファクト) 実績データ(例:売上、数量などの数値)を記録する
補助テーブル(ディメンション) 説明情報(例:商品名、顧客属性、日付など)を持つ

例:

「売上テーブル」にある“顧客ID”を使って、「顧客テーブル」から名前や年齢を参照する、という使い方です。


✅ スター型スキーマの特徴とメリット

✔ 特徴

  • 中心のテーブルから、放射状に各テーブルが接続されている
  • 各補助テーブルは、主テーブルとキーで接続されている
  • テーブル構造がシンプルで視覚的に理解しやすい

✔ メリット

  • 分析処理が高速
  • クエリ(SQL文)が書きやすい
  • 初心者や非エンジニアにも扱いやすい構造
  • BIツール(例:Power BI, Tableau)との相性も抜群

✔ デメリット

  • 同じ情報が複数の場所に重複して保存される(=冗長性が高い
  • 大規模なデータには非効率な場合もある

📊 スター型の具体例(売上データ)

中央にある主テーブル:

売上ID 顧客ID 商品ID 店舗ID 日付ID 売上金額
1001 A001 P001 S001 D2025 1200

補助テーブルの一部(例:顧客テーブル):

顧客ID 名前 年齢 地域
A001 田中 34 東京

▶ 分析時には「売上テーブル」と「顧客テーブル」をJOIN(結合)して、 「東京に住む30代の顧客の売上は?」といった分析が可能になります。


👩‍💼 スター型はどんな場面で使うの?

スター型スキーマは、次のような用途に特に向いています:

  • ✅ BIツールでのダッシュボード作成
  • ✅ マーケティングレポート
  • ✅ 顧客ごとの売上分析
  • ✅ 商品別の月次集計

特に「誰でも簡単にレポートを作れる仕組みをつくりたい」という場面では、スター型が最適です。


✨ まとめ:スター型は「わかりやすさ」と「スピード」が魅力

項目 内容
スター型とは 主テーブルを中心に、補助テーブルが放射状に接続された構造
特徴 シンプルで初心者向き、クエリが書きやすい
向いている場面 レポート作成、ダッシュボード分析など

スター型スキーマは、構造が明快な「データ分析の入門設計図」とも言えます。

Best regards, (^^ゞ