Data Dictionary - Northwind
Data Dictionary - Northwind
Background
The Northwind database is a sample database used by Microsoft in various educational resources and
documentation for demonstrating and teaching database concepts and SQL (Structured Query
Language).
The Northwind database represents a fictional company's data and is designed to showcase various
aspects of database management, including tables for products, customers, orders, employees,
suppliers, and more. Some common tables and entities you can find in the Northwind database
include:
This database is often used as a practical example to demonstrate SQL queries and database design
principles. It's not intended for real-world business use but serves as a useful teaching and learning
resource for those studying database management and SQL. If you're looking to practice SQL queries
or learn about database concepts, you can find the Northwind database readily available for use in
various database management systems and development environments.
Data model
The Northwind database provides a classic example of a relational database model, as seen in Figure 1.
Here are some key characteristics and observations about the data model of the Northwind database:
● Tables: The database is organised into multiple tables, each representing a specific entity or
concept, such as customers, orders, products, employees, suppliers, and more. This follows the
principles of a relational data model, where data is stored in structured tables.
● Primary keys: Each table typically has a primary key column (e.g., CustomerID, EmployeeID,
OrderID) that uniquely identifies each record within that table. Primary keys are used to establish
relationships between tables.
● Foreign keys: Relationships between tables are established using foreign key columns (e.g.,
CustomerID in the Orders table), which reference the primary key columns in related tables.
These foreign keys create associations between records in different tables, allowing for data
retrieval and analysis across tables.
● Data types: Different data types are used to store various types of information, including
integers (INT), characters (CHAR, VARCHAR), dates and times (DATETIME), and more. This
allows for efficient storage and retrieval of diverse data.
The data model, including the column names, data types, feature descriptions, and their constraints,
such as whether or not the feature requires a value for every row (marked as NOT NULL) or the type of
key, is included in Table 1.
Figure 1: The ERD for the Northwind database
Table 1: The data model for the Northwind database.
Customers table
This table stores information related to individual customers, including their identification and contact
details.
This table holds records of all orders made by customers, along with references to the customers and
employees involved.
This table contains details about company employees, including personal information and job-related
data.
Products table
This table stores information related to the various products that the company sells.
Suppliers table
This table holds information about suppliers, who provide the products that the company sells.
This table contains different categories under which the products are grouped.
OrderDetails table
This table serves as a junction between Orders and Products, holding the specifics about products
within each order.
Composite
Identifier for the order to which the primary key,
OrderID INT
product belongs. foreign key
(Orders)
Composite
Identifier for the specific product primary key,
ProductID INT
within the order. foreign key
(Products)
This table contains information about shipping companies or entities responsible for delivering orders,
including their names, phone numbers, and other relevant details.
CustomerDemographics table
This table includes additional demographic information or characteristics about customers, allowing
for segmentation and analysis of customer profiles within a database.
Region table
This table contains information about geographical regions or areas, such as states or provinces,
which can be used to categorise and organise data based on geographic location within the
database.
Territories table
This table is used to define and manage specific sales territories within a region or area, allowing for
effective sales management and organisation.