Project: YugabyteDB (App Definition and Development / Database)
File: northwind.md

title: Northwind sample database headerTitle: Northwind sample database linkTitle: Northwind description: Use the Northwind sample database to explore and learn YugabyteDB. menu: v2.18: identifier: northwind parent: sample-data weight: 200 type: docs Install the PostgreSQL-compatible version of the Northwind dataset on the YugabyteDB distributed SQL database. You can install and use the Northwind sample database using: A local installation of YugabyteDB. To install YugabyteDB, refer to . Using cloud shell or a client shell to connect to a cluster in YugabyteDB Managed. Refer to . To get started with YugabyteDB Managed, refer to . In either case, you use the YugabyteDB SQL shell () CLI to interact with YugabyteDB using . The Northwind database is a sample database that was originally created by Microsoft and used as the basis for their tutorials in a variety of database products for decades. The Northwind database contains the sales data for a fictitious company called Northwind Traders, which imports and exports specialty foods from around the world. The Northwind database is an excellent tutorial schema for a small-business ERP, with customers, orders, inventory, purchasing, suppliers, shipping, employees, and single-entry accounting. The Northwind database has since been ported to a variety of non-Microsoft databases, including PostgreSQL. The Northwind dataset includes sample data for the following. Suppliers: Suppliers and vendors of Northwind Customers: Customers who buy products from Northwind Employees: Employee details of Northwind traders Products: Product information Shippers: The details of the shippers who ship the products from the traders to the end-customers Orders and Order_Details: Sales Order transactions taking place between the customers & the company The Northwind sample database includes 14 tables and the table relationships are showcased in the following entity relationship diagram. The Northwind SQL scripts reside in the `share` folder of your YugabyteDB or client shell installation. They can also be found in the . The following files will be used for this exercise: Creates tables and other database objects Loads the sample data Follow the steps here to install the Northwind sample database. If you are using a local installation of YugabyteDB, run the `ysqlsh` command from the `yugabyte` root directory. ```sh $

``` If you are connecting to YugabyteDB Managed, open the , or for your cluster from the `yugabyte-client` bin directory. To create the Northwind database, run the following `CREATE DATABASE` statement. ```plpgsql CREATE DATABASE northwind; ``` Confirm that you have the Northwind database by listing the databases on your cluster. ```plpgsql yugabyte=# \l ``` Connect to the Northwind database. ```plpgsql yugabyte=# \c northwind ``` To build the tables and database objects, execute the `northwind_ddl.sql` SQL script. ```plpgsql northwind=# \i share/northwind_ddl.sql ``` You can verify that all 14 tables have been created by running the `\d` command. ```plpgsql northwind=# \d ``` ```output List of relations Schema | Name | Type | Owner --++-+- public | categories | table | admin public | customercustomerdemo | table | admin public | customer_demographics | table | admin public | customers | table | admin public | employee_territories | table | admin public | employees | table | admin public | order_details | table | admin public | orders | table | admin public | products | table | admin public | region | table | admin public | shippers | table | admin public | suppliers | table | admin public | territories | table | admin public | us_states | table | admin (14 rows) ``` To load the `northwind` database with sample data, run the `\i` command to execute commands in the `northwind_data.sql` file. ```plpgsql northwind=# \i share/northwind_data.sql ``` To verify that you have some data to work with, you can run a simple SELECT statement to pull data from the `customers` table. ```plpgsql northwind=# SELECT * FROM customers LIMIT 2; ``` ```output customerid | companyname | contactname | contacttitle | address | city | region | postal_code | country | phone | fax -++--++--+--+--+-+++- FAMIA | Familia Arquibaldo | Aria Cruz | Marketing Assistant | Rua Ors, 92 | Sao Paulo | SP | 05442-030 | Brazil | (11) 555-9857 | VINET | Vins et alcools Chevalier | Paul Henriot | Accounting Manager | 59 rue de l'Abbaye | Reims | | 51100 | France | 26.47.15.10 | 26.47.15.11 (2 rows) ``` Thats it! You are now ready to start exploring the Northwind database and YugabyteDB features using the command line or your favorite PostgreSQL tool.