docs/content/v2024.2/sample-data/chinook.md
The Chinook sample database for a digital media store can be used to explore and learn YugabyteDB.
You can install and use the Chinook sample database using:
In either case, you use the YugabyteDB SQL shell (ysqlsh) CLI to interact with YugabyteDB using YSQL.
The Chinook data model represents a digital media store, including tables for artists, albums, media tracks, invoices, and customers.
The Chinook sample database includes:
For details, here's the entity relationship diagram of the Chinook data model.
The Chinook SQL scripts reside in the share folder of your YugabyteDB or client shell installation. They can also be found in the sample directory of the YugabyteDB GitHub repository. The following files will be used for this exercise:
Follow the steps here to install the Chinook sample database.
If you are using a local installation of YugabyteDB, run the ysqlsh command from the yugabyte root directory.
$ ./bin/ysqlsh
If you are connecting to YugabyteDB Aeon, open the ysqlsh cloud shell, or run the YSQL connection string for your cluster.
To create the chinook database, run the following command.
yugabyte=# CREATE DATABASE chinook;
Confirm that you have the chinook database by using the \l command to list the databases on your cluster.
yugabyte=# \l
Connect to the chinook database.
yugabyte=# \c chinook
You are now connected to database "chinook" as user "yugabyte".
chinook=#
To build the tables and database objects, run the following \i command.
chinook=# \i share/chinook_ddl.sql
You can verify that all 11 tables have been created by running the \d command.
chinook=# \d
To load the chinook database with sample data, you need to run the SQL scripts.
First, run the SQL script to load the genres, artists, and albums.
chinook=# \i share/chinook_genres_artists_albums.sql
Next, run the SQL script to load the songs.
chinook=# \i share/chinook_songs.sql
Now verify that you have data by running a simple SELECT statement to pull some data from the Track table.
chinook=# SELECT "Name", "Composer" FROM "Track" LIMIT 10;
Name | Composer
---------------------------------+------------------------------------------------------------
Boa Noite |
The Memory Remains | Hetfield, Ulrich
Plush | R. DeLeo/Weiland
The Trooper | Steve Harris
Surprise! You're Dead! | Faith No More
School | Kurt Cobain
Sometimes I Feel Like Screaming | Ian Gillan, Roger Glover, Jon Lord, Steve Morse, Ian Paice
Sad But True | Apocalyptica
Tailgunner |
Tempus Fugit | Miles Davis
(10 rows)
That’s it! Using the command line or your favorite PostgreSQL development or administration tool, you are now ready to start exploring the chinook database and YugabyteDB features.