リレーションシップの定義

Databricks Genie 入門

Gang Wang

Senior Data Scientist

リレーションシップが重要な理由

nanobanana: full: 接続のない3つの独立したデータベーステーブル(Transactions、Customers、Franchisesが別々に浮かんでいる)

Databricks Genie 入門

推論が失敗するとき

$$

nanobanana: full: 接続のない3つの独立したデータベーステーブル(Transactions、Customers、Franchisesが別々に浮かんでいる)

推論が失敗するケース:

  • 曖昧な名前: creator_idupdater_idowner_id — どれが Users と対応する?
  • 名前の不一致: client_nocustomer_id — Genie は別々のデータとして認識

明示的なリレーションシップ = GPSマップ(推測ではなく)

Databricks Genie 入門

Genie による JOIN の活用

Show me transaction totals by customer region

nanobanana: full: 3ステップのフロー(リレーションシップの確認、結合キーの特定、JOINを使ったSQLの生成)

Databricks Genie 入門

Screenshot 2026-04-15 at 14.48.24.png

Databricks Genie 入門

Genie でのクロステーブルクエリのアニメーションGIF — SQL JOINを使って上位5名の購入者のメールアドレスを取得

Databricks Genie 入門

よくあるリレーションシップのパターン

Which customers in Chicago haven't 
visited us in 10 days?
  • 複数の JOIN が必要

注意点:

  • JOIN の方向とカーディナリティ — 1対多を指定しないと、Genie が値を重複させる場合がある(ファンアウト)
  • 中間テーブルの欠落 — 多対多には中間テーブルが必要(例:明細テーブル)

mermaid: datacamp-purple: リレーションシップ付きの wanderbricks スタースキーマ

Databricks Genie 入門

練習しましょう!

Databricks Genie 入門

Preparing Video For Download...