관계 정의하기

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가 조인을 활용하는 방법

Show me transaction totals by customer region

nanobanana: full: 세 단계 흐름 - 관계 확인, 조인 키 식별, 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?
  • 여러 번의 조인이 필요합니다

주의할 점:

  • 조인 방향과 카디널리티 - 일대다를 지정하지 않으면 Genie가 값을 중복 생성할 수 있습니다(팬아웃)
  • 브리지 테이블 누락 - 다대다 관계에는 중간 테이블이 필요합니다(예: Line Items)

mermaid: datacamp-purple: 관계가 포함된 wanderbricks 스타 스키마

Databricks Genie 입문

연습해 봅시다!

Databricks Genie 입문

Preparing Video For Download...