Manage joins efficiently with relationships

Data Modeling in Sigma

Ben Harris

Technical Instructional Designer at Sigma

What are relationships?

  • Predefine joins
  • Anyone can add columns using your join logic

Relationship Example

Data Modeling in Sigma

What are relationships?

  • Join not performed until user adds a column from related table
  • Reduce warehouse cost → join only when necessary
  • Fewer errors from ad hoc joins

Relationship Example

Data Modeling in Sigma

Relationships vs. Joins

comparison: Relationships | Joins

  • Relationships are not always better than Joins
  • Relations are best when you only need related data sometimes
Data Modeling in Sigma

Relationships vs. Joins

comparison: Relationships | Joins

  • Example: niche transaction data
  • Main use: analyze transactions
  • Sometimes need account or customer info
Data Modeling in Sigma

Relationships vs. Joins

comparison: Relationships | Joins

  • Example: niche transaction data
  • Join all three tables → always available
  • But slower, higher query cost for most use
Data Modeling in Sigma

Relationships vs. Joins

comparison: Relationships | Joins

  • Example: niche transaction data
  • Relationship fits: most of the time no join
  • Users add account/customer columns when needed
Data Modeling in Sigma

Relationships vs. Joins

comparison: Relationships | Joins

  • Decide: join or relationship for your base table
Data Modeling in Sigma

Demo

Data Modeling in Sigma

Demo

Data Modeling in Sigma

Demo

Data Modeling in Sigma

Demo

Data Modeling in Sigma

Best practices for relationships

  • Relationships are directional

relationship image

Data Modeling in Sigma

Best practices for relationships

Examples:

  • Transactions to accounts: many-to-one (N:1) relationship
  • Accounts to transactions: one-to-many (1:N) relationship.

relationship image

Data Modeling in Sigma

Best practices for relationships

  • This course: N:1 and 1:1 relationships only

relationship image

Data Modeling in Sigma

Let's practice!

Data Modeling in Sigma

Preparing Video For Download...