datasets real and made-up data to practise on
Datasets
Data for the Playground, Database Lab and Performance Lab. Pick one and open its files.
A fictional film catalogue with users’ half-star ratings and free-text tags.
4,810 ratings6 tablesJan 2015 – Dec 2025
what to watch for
Tricky rows
- Titles with the year appended, e.g. "Glass Harbor (2019)"106 rows
- Titles with stray spaces64 rows
- The same rating exported twice29 rows
- Ratings outside 0.5–5 (0, 5.5, 10) from an old 10-point import19 rows
files
Open a file to see what one row means, its columns and a preview. Open in Playground starts a new file there with code that loads it.
movies2,123 rows · 10 columns · CSV
One film. Titles can repeat across years (remakes).
In your code: data/movies.csv
- movie_id
Film ID
- title
Title (not unique)
- release_year
Year of release
- release_date
Release date
- runtime_min
Running time, minutes
- original_language
Two-letter language code (en, fr, …)
- country
Production country
- director
Invented director
- budget_usd
Budget, USD; often unknown
- revenue_usd
Box-office revenue, USD; often unknown
genres18 rows · 2 columns · CSV
One genre.
In your code: data/genres.csv
- genre_id
Genre ID
- name
Genre name
movie_genres3,673 rows · 2 columns · CSV
A film belongs to one to three genres.
In your code: data/movie_genres.csv
- movie_id
Film
- genre_id
Genre
users120 rows · 4 columns · CSV
One user account. Some users never rate anything.
In your code: data/users.csv
- user_id
User ID
- joined_at
Sign-up time, UTC
- country
Country
- age_band
Age band; empty if not given
ratings4,810 rows · 4 columns · CSV
One user’s rating of one film (0.5 to 5 in half stars). A user rates a film at most once.
In your code: data/ratings.csv
- user_id
Who rated
- movie_id
Film
- rating
0.5–5.0
- rated_at
When, UTC
tags91 rows · 4 columns · CSV
A free-text tag a user put on a film. Same idea, different spellings: "sci-fi", "Sci-Fi", "scifi".
In your code: data/tags.csv
- user_id
Who tagged
- movie_id
Film
- tag
Tag as typed
- tagged_at
When, UTC
relationships
How to join these tables. Left column matches the right column.
- movie_genres.movie_id → movies.movie_id
- movie_genres.genre_id → genres.genre_id
- ratings.user_id → users.user_id
- ratings.movie_id → movies.movie_id
- tags.user_id → users.user_id
- tags.movie_id → movies.movie_id