Netflix
Full database schema for a Netflix-like video streaming platform with content management, multi-profile support, subscription billing, watch history, ratings, recommendations engine, and download features.
streamingvideosubscriptioncontentrecommendation
MySQL9 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique user account identifier
Account email used for billing and login
Hashed password for authentication
Optional phone number for account recovery
ISO 3166-1 alpha-2 country code for content availability
Whether account is currently active
Timestamp when email was verified
Account creation timestamp
Last account update timestamp
IXUQCK|💬
MySQL9 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique profile identifier
Parent account this profile belongs to
Profile display name
Profile avatar image URL
Whether this is a kids profile with content restrictions
Preferred language for UI and subtitles
Content maturity setting: kids, teen, adult
Profile creation timestamp
Last update timestamp
IXUQCK|💬
MySQL8 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique plan identifier
Plan name: Basic, Standard, Premium
Monthly subscription price in USD
Maximum number of profiles allowed
Simultaneous streams allowed
Max video quality: SD, HD, UHD
Plan creation timestamp
Last update timestamp
IXUQCK|💬
MySQL10 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique subscription record identifier
Subscribed user account
Active subscription plan
Status: active, cancelled, paused, past_due
Current billing period start date
Current billing period end date
Timestamp when subscription was cancelled
Payment method type: card, paypal
Subscription creation timestamp
Last update timestamp
IXUQCK|💬
MySQL5 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique genre identifier
Genre display name e.g. Action, Drama
URL-friendly genre identifier
Genre creation timestamp
Last update timestamp
IXUQCK|💬
MySQL14 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique content item identifier
Content display title
Original language title if different
Content type: movie or series
Content synopsis
Year of original release
Age rating: G, PG, PG-13, R, TV-MA
Total duration in minutes for movies
Poster/thumbnail image URL
Wide backdrop image URL
Trailer video URL
Whether this is Netflix Original content
Content record creation timestamp
Last update timestamp
IXUQCK|💬
MySQL5 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique content-genre junction identifier
Content item
Associated genre
Record creation timestamp
Last update timestamp
IXUQCK|💬
MySQL8 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique season identifier
Parent series this season belongs to
Season number starting from 1
Season title if different from series
Season synopsis
Number of episodes in this season
Season record creation timestamp
Last update timestamp
IXUQCK|💬
MySQL10 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique episode identifier
Season this episode belongs to
Episode number within the season
Episode title
Episode synopsis
Episode duration in minutes
Episode thumbnail image URL
CDN URL to stream the episode video
Episode record creation timestamp
Last update timestamp
IXUQCK|💬
MySQL9 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique watch history record identifier
Profile that watched
Content item watched
Specific episode watched, null for movies
Playback position in seconds
Total content duration in seconds
Whether content was watched to completion
Timestamp of last watch activity
Last update timestamp
IXUQCK|💬
MySQL6 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique watchlist entry identifier
Profile who added to watchlist
Content added to watchlist
When content was added to watchlist
Record creation timestamp
Last update timestamp
IXUQCK|💬
MySQL7 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique rating record identifier
Profile who submitted rating
Content being rated
Rating value 1-5 stars
Thumbs up or thumbs down
When rating was submitted
Last update timestamp
IXUQCK|💬
MySQL8 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique person record identifier
Full name of actor, director, or crew member
Short biography
Date of birth
Country of origin
Profile photo URL
Record creation timestamp
Last update timestamp
IXUQCK|💬
MySQL7 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique cast credit identifier
Content this credit belongs to
Person credited
Role type: actor, director, writer, producer
Character name for actors
Billing/credit order number
Record creation timestamp
IXUQCK|💬
MySQL9 cols
Num
PK
AI
FK
Null
Physical Name
Type
Default
Comment
Unique download record identifier
Profile that downloaded
Downloaded content
Specific episode if series
Download quality: SD, HD
Download file size in megabytes
When the download license expires
Download timestamp
Last update timestamp
IXUQCK|💬
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
Created with ERD Studio
Tables in this template
usersUsers
9 colsprofilesProfiles
9 colssubscription_plansSubscription Plans
8 colssubscriptionsSubscriptions
10 colsgenresGenres
5 colscontentContent
14 colscontent_genresContent Genres
5 colsseasonsSeasons
8 colsepisodesEpisodes
10 colswatch_historyWatch History
9 colswatchlistWatchlist
6 colsratingsRatings
7 colspeoplePeople
8 colscontent_castContent Cast
7 colsdownloadsDownloads
9 colsRelated Templates
View all templates →GitHub
CloneCode hosting platform with repositories, issues, pull requests, and CI/CD
PostgreSQL16 tables
developer-toolsgitcollaboration+2
Web App
Spotify
CloneMusic streaming platform with tracks, artists, albums, playlists, and social features
PostgreSQL18 tables
musicstreamingplaylist+2
Web App
Discord
CloneCommunity platform with servers, channels, roles, voice, and bots
PostgreSQL15 tables
gamingcommunityvoice+2
Web App
Slack
CloneTeam messaging platform with workspaces, channels, threads, and integrations
PostgreSQL14 tables
messagingcollaborationteam+2
Web App