OpenVaultDB database

Sakila

MySQL's sample video rental database, with films, actors, customers, rentals, payments, and stores.

Published collections

16 read-only collections

22 declared foreign-key relationships. Names and keys preserve the source database schema. The database site includes the complete native schema, including views.

Explore complete schema and exports ↗

Machine-readable database descriptor ↗

Published recordsets

Read-only collections

16 collections

table

actor

4 columns · 200 rows

Performers available to be associated with films.

actor_idINTEGER · PK · nullablefirst_nameTEXTlast_nameTEXTlast_updateTEXT

table

address

9 columns · 603 rows

Customer, staff, and store addresses, including the source's location geometry as a binary value.

address_idINTEGER · PK · nullableaddressTEXTaddress2TEXT · nullabledistrictTEXTcity_idINTEGERpostal_codeTEXT · nullablephoneTEXTlocationBLOBlast_updateTEXT

References city.city_id

table

category

3 columns · 16 rows

Film categories used to classify the catalogue.

category_idINTEGER · PK · nullablenameTEXTlast_updateTEXT

table

city

4 columns · 600 rows

Cities associated with addresses and countries.

city_idINTEGER · PK · nullablecityTEXTcountry_idINTEGERlast_updateTEXT

References country.country_id

table

country

3 columns · 109 rows

Countries associated with cities.

country_idINTEGER · PK · nullablecountryTEXTlast_updateTEXT

table

customer

9 columns · 599 rows

People registered to rent films from a store.

customer_idINTEGER · PK · nullablestore_idINTEGERfirst_nameTEXTlast_nameTEXTemailTEXT · nullableaddress_idINTEGERactiveINTEGERcreate_dateTEXTlast_updateTEXT · nullable

References store.store_id, address.address_id

table

film

13 columns · 1,000 rows

The film catalogue, including language, rating, rental terms, and special features.

film_idINTEGER · PK · nullabletitleTEXTdescriptionTEXT · nullablerelease_yearTEXT · nullablelanguage_idINTEGERoriginal_language_idINTEGER · nullablerental_durationINTEGERrental_rateNUMERIClengthINTEGER · nullablereplacement_costNUMERICratingTEXT · nullablespecial_featuresTEXT · nullablelast_updateTEXT

References language.language_id, language.language_id

table

film_actor

3 columns · 5,462 rows

The many-to-many association between films and actors.

actor_idINTEGER · PKfilm_idINTEGER · PKlast_updateTEXT

References film.film_id, actor.actor_id

table

film_category

3 columns · 1,000 rows

The many-to-many association between films and categories.

film_idINTEGER · PKcategory_idINTEGER · PKlast_updateTEXT

References category.category_id, film.film_id

table

film_text

3 columns · 1,000 rows

Search-oriented title and description copy maintained from the film catalogue by the source trigger.

film_idINTEGER · PKtitleTEXTdescriptionTEXT · nullable

table

inventory

4 columns · 4,581 rows

Film copies held by stores and available for rental.

inventory_idINTEGER · PK · nullablefilm_idINTEGERstore_idINTEGERlast_updateTEXT

References film.film_id, store.store_id

table

language

3 columns · 6 rows

Languages used for original and dubbed films.

language_idINTEGER · PK · nullablenameTEXTlast_updateTEXT

table

payment

7 columns · 16,044 rows

Customer payments recorded for rentals and staff transactions.

payment_idINTEGER · PK · nullablecustomer_idINTEGERstaff_idINTEGERrental_idINTEGER · nullableamountNUMERICpayment_dateTEXTlast_updateTEXT · nullable

References staff.staff_id, customer.customer_id, rental.rental_id

table

rental

7 columns · 16,044 rows

Film inventory rentals by customers and staff.

rental_idINTEGER · PK · nullablerental_dateTEXTinventory_idINTEGERcustomer_idINTEGERreturn_dateTEXT · nullablestaff_idINTEGERlast_updateTEXT

References customer.customer_id, inventory.inventory_id, staff.staff_id

table

staff

11 columns · 2 rows

Store staff, including source PNG profile pictures stored as BLOBs.

staff_idINTEGER · PK · nullablefirst_nameTEXTlast_nameTEXTaddress_idINTEGERpictureBLOB · nullableemailTEXT · nullablestore_idINTEGERactiveINTEGERusernameTEXTpasswordTEXT · nullablelast_updateTEXT

References address.address_id, store.store_id

table

store

4 columns · 2 rows

Rental locations and their managers.

store_idINTEGER · PK · nullablemanager_staff_idINTEGERaddress_idINTEGERlast_updateTEXT

References address.address_id, staff.staff_id

Provenance

Published data

Source: https://downloads.mysql.com/docs/sakila-db.zip at sha256:ef4ab9aab7a433311eff6558561bf47de231fe9f6d49f03de67e593418df719c.

Source licence: BSD-3-Clause. Model licence: BSD-3-Clause. Meaning licence: CC0-1.0.

Published by DemoDB; provider repository ↗.

Derived from the official MySQL Sakila 1.5 archive (SHA-256 pinned in this manifest and scripts/rebuild-source.py). Only the two SQL source files are retained; the archive's MySQL Workbench model and documentation are excluded. The source scripts' New BSD license headers are retained. The converter preserves all 16 tables, seven views, 16,044 rentals and payments, 5,462 film-actor links, foreign keys, composite keys, indexes supported by SQLite, 603 address geometry values as raw WKB BLOBs, and the source's one non-null staff picture PNG as a BLOB; the second staff picture is NULL upstream. The upstream ins_film trigger is represented by a one-time film_text population during fixture creation; actor_info is represented with ordered subqueries because SQLite lacks MySQL's ordered GROUP_CONCAT syntax. Procedures, functions, triggers, MySQL FULLTEXT/SPATIAL indexes, collation behavior, and server-specific update behavior are not represented as SQLite features. MySQL ENUM and SET columns are represented as text without enforcing their source value lists. SQLite dates and timestamps are stored as text. The original geometry bytes are retained but are not decoded or assigned a spatial extension. SQLite file bytes can differ across SQLite library versions; logical row/schema/view checks and source-script hashes are authoritative. Generated JSON encodes BLOBs as base64; generated CSV BLOBs use base64 text, while SQL exports use SQLite syntax. The sha256 identifies the generated SQLite fixture at data-source/source.sqlite; recipe inputs are identified separately by the provider manifest.

Semantic references

Published models