リレーションシップでジョインを効率化

Sigma におけるデータモデリング

Ben Harris

Technical Instructional Designer at Sigma

リレーションシップとは?

  • ジョインを事前定義
  • 誰でもジョインロジックを使って列を追加可能

リレーションシップの例

Sigma におけるデータモデリング

リレーションシップとは?

  • 関連テーブルの列が追加されるまでジョインは実行されない
  • ウェアハウスコストを削減 → 必要時のみジョイン
  • アドホックジョインによるエラーを削減

リレーションシップの例

Sigma におけるデータモデリング

リレーションシップ vs. ジョイン

比較:リレーションシップ | ジョイン

  • リレーションシップが常にジョインより優れているわけではない
  • 関連データを必要とする場面が限られる場合に最適
Sigma におけるデータモデリング

リレーションシップ vs. ジョイン

比較:リレーションシップ | ジョイン

  • 例:ニッチなトランザクションデータ
  • 主な用途:トランザクションの分析
  • 場合によってアカウントや顧客情報が必要
Sigma におけるデータモデリング

リレーションシップ vs. ジョイン

比較:リレーションシップ | ジョイン

  • 例:ニッチなトランザクションデータ
  • 3テーブルすべてをジョイン → 常に利用可能
  • ただし処理が遅く、多くの用途でクエリコストが高い
Sigma におけるデータモデリング

リレーションシップ vs. ジョイン

比較:リレーションシップ | ジョイン

  • 例:ニッチなトランザクションデータ
  • リレーションシップが適切:多くの場合ジョイン不要
  • ユーザーが必要時にアカウント/顧客列を追加
Sigma におけるデータモデリング

リレーションシップ vs. ジョイン

比較:リレーションシップ | ジョイン

  • ベーステーブルにジョインとリレーションシップのどちらを使うか決定
Sigma におけるデータモデリング

デモ

Sigma におけるデータモデリング

デモ

Sigma におけるデータモデリング

デモ

Sigma におけるデータモデリング

デモ

Sigma におけるデータモデリング

リレーションシップのベストプラクティス

  • リレーションシップには方向性がある

リレーションシップの図

Sigma におけるデータモデリング

リレーションシップのベストプラクティス

例:

  • トランザクション→アカウント:多対一(N:1)リレーションシップ
  • アカウント→トランザクション:一対多(1:N)リレーションシップ

リレーションシップの図

Sigma におけるデータモデリング

リレーションシップのベストプラクティス

  • 本コース:N:1 および 1:1 リレーションシップのみ

リレーションシップの図

Sigma におけるデータモデリング

では、練習しましょう!

Sigma におけるデータモデリング

Preparing Video For Download...