Определение связей

Введение в Databricks Genie

Gang Wang

Senior Data Scientist

Зачем нужны связи

nanobanana: full: Три изолированные таблицы базы данных без связей — Transactions, Customers, Franchises — расположены отдельно

Введение в Databricks Genie

Когда автоопределение не работает

$$

nanobanana: full: Три изолированные таблицы базы данных без связей — Transactions, Customers, Franchises — расположены отдельно

Автоматическое определение даёт сбой, если:

  • Неоднозначные имена: creator_id, updater_id, owner_id — какое из них связано с Users?
  • Несоответствие имён: client_no vs customer_id — Genie видит несвязанные острова

Явные связи = карта с GPS, а не догадки

Введение в Databricks Genie

Как Genie использует JOIN

Show me transaction totals by customer region

nanobanana: full: Трёхэтапный процесс — проверка связей, определение ключей соединения, генерация SQL с JOIN

Введение в Databricks Genie

Screenshot 2026-04-15 at 14.48.24.png

Введение в Databricks Genie

Анимированный GIF с межтабличным запросом в Genie — email-адреса 5 главных покупателей с SQL JOIN

Введение в Databricks Genie

Типичные паттерны связей

Which customers in Chicago haven't 
visited us in 10 days?
  • Требует нескольких JOIN

Обратите внимание:

  • Направление и кардинальность JOIN — без указания «один-ко-многим» Genie может дублировать значения (fan-out)
  • Отсутствующие промежуточные таблицы — связь «многие-ко-многим» требует промежуточной таблицы (например, Line Items)

mermaid: datacamp-purple: звёздная схема wanderbricks со связями

Введение в Databricks Genie

Давайте потренируемся!

Введение в Databricks Genie

Preparing Video For Download...