Skip to content
doubtly

1 answer

A star schema for video rental has one central fact table, Rental_Fact, linked to dimension tables Customer, Video (Movie), Store, Time and Employee.

                 +-------------------+
                 |   Time_Dim        |
                 | time_key (PK)     |
                 | date, day, week   |
                 | month, quarter    |
                 | year, is_holiday  |
                 +---------+---------+
                           |
+----------------+  +------+-----------+  +-----------------+
| Customer_Dim   |  |  Rental_Fact     |  | Video_Dim       |
| customer_key PK+--+ time_key (FK)    +--+ video_key (PK)  |
| name, gender   |  | customer_key(FK) |  | title, genre    |
| age_group      |  | video_key (FK)   |  | language, rating|
| city, state    |  | store_key (FK)   |  | release_year    |
| member_since   |  | employee_key(FK) |  | director, format|
+----------------+  | rental_amount    |  +-----------------+
                    | late_fee         |
+----------------+  | rental_days      |  +-----------------+
| Employee_Dim   |  | units_rented     |  | Store_Dim       |
| employee_key PK+--+                  +--+ store_key (PK)  |
| name, role     |  +------------------+  | name, address   |
| join_date      |                        | city, state     |
+----------------+                        | region, manager |
                                          +-----------------+

Fact table: Rental_Fact

  • Foreign keys: time_key, customer_key, video_key, store_key, employee_key.
  • Measures (numeric, additive): rental_amount, late_fee, rental_days (duration), units_rented.
  • Grain: one row per video rented in one transaction.

Dimension tables (descriptive attributes, denormalised):

  • Time_Dim: date, day of week, week, month, quarter, year, holiday flag.
  • Customer_Dim: name, gender, age group, city, state, membership type/date.
  • Video_Dim: title, genre, language, certificate rating, release year, director, format (DVD/Blu-ray/digital).
  • Store_Dim: store name, address, city, state, region, manager.
  • Employee_Dim: name, role, joining date.

Example queries it supports: total rental revenue by genre per month; most rented titles in each city; late fees collected per store per quarter.

It is a star because every dimension joins directly to the fact table with one join, and the dimensions are not normalised further (doing that would make it a snowflake schema).

Doubtly AI · 23 Oct 2026 AI-verified · Oct 2026 Report
Was this answer helpful?

Your answer

Log in or create a free account to answer this question.