0% found this document useful (0 votes)
206 views20 pages

Sales Order Fact DB Design

The document describes the schema for tables in a sales database including tables for suppliers, products, customers, cities, orders, order items, and employees. The tables track information such as supplier codes, product names and prices, customer demographics, order dates and totals, product quantities in orders, and employee details. Primary keys are defined for each table to uniquely identify rows and foreign keys are specified to link data between tables as needed.

Uploaded by

SHASHIKANT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
206 views20 pages

Sales Order Fact DB Design

The document describes the schema for tables in a sales database including tables for suppliers, products, customers, cities, orders, order items, and employees. The tables track information such as supplier codes, product names and prices, customer demographics, order dates and totals, product quantities in orders, and employee details. Primary keys are defined for each table to uniquely identify rows and foreign keys are specified to link data between tables as needed.

Uploaded by

SHASHIKANT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Supplier

Column Name Data Type Nullable Constraints


Id int Not Null Primary key for Supplier rows.
Supplier_Code nvarchar(40) Null

CompanyName nvarchar(40) Not Null

ContactName nvarchar(50) Null


ContactTitle nvarchar(40) Null
City nvarchar(40) Null
Country nvarchar(40) Null
Phone nvarchar(30) Null
Fax nvarchar(30) Null

Product
Column Name Data Type Nullable Constraints
Id int Not Null Primary key fo Product rows.

ProductName nvarchar(50) Not Null


SupplierId int Not Null

UnitPrice decimal(12, 2) Null

Package nvarchar(30) Null


IsDiscontinued bit Not Null

Customer
Column Name Data Type Nullable Constraints
CustomerId int Not Null Primary key for Employee rows.

Title nvarchar(8) Null


FirstName nvarchar(50) Null
MiddleName nvarchar(50) Null
LastName nvarchar(50) Null
BirthDate date Null
MaritalStatus nchar(1) Null
Gender nvarchar(1) Null
EmailAddress nvarchar(50) Null
YearlyIncome money Null
EnglishEducation nvarchar(40) Null
SpanishEducation nvarchar(40) Null
FrenchEducation nvarchar(40) Null
EnglishOccupation nvarchar(100) Null
SpanishOccupation nvarchar(100) Null
FrenchOccupation nvarchar(100) Null
HouseOwnerFlag nchar(1) Null
NumberCarsOwned tinyint Null
AddressLine1 nvarchar(120) Null
AddressLine2 nvarchar(120) Null
Phone nvarchar(20) Null
Registration_date date Null
CommuteDistance nvarchar(15) Null
City_Id int Null

City
Column Name Data Type Nullable Constraints
ID int Not Null
City varchar(100) Not Null
State varchar(100) Not Null
Abbreviation varchar(100) Not Null
ZIP_code varchar(100) Not Null
Sales Management Order
Reference Column Name Data Type
Id int
OrderDate datetime

OrderNumber nvarchar(10)

CustomerId int
TotalAmount decimal(12, 2)
EMP_ID int

Sales Management Order Items


Reference Column Name Data Type
Id int

OrderId int
FK_PRODUCT_REFERENCE_SUPPLIER ProductId int
foreign key (SupplierId)
references Supplier (Id)

UnitPrice decimal(12, 2)

Quantity int

Sales Management Employee


Reference Column Name Data Type
EmployeeId int

FirstName nvarchar(50)
LastName nvarchar(50)
MiddleName nvarchar(50)
Title nvarchar(50)
HireDate date
BirthDate date
EmailAddress nvarchar(50)
Phone nvarchar(25)
MaritalStatus nchar(1)
EmergencyContactName nvarchar(50)
EmergencyContactPhone nvarchar(25)
SalariedFlag bit
Gender nchar(1)
PayFrequency tinyint
BaseRate money
VacationHours smallint
SickLeaveHours smallint
CurrentFlag bit
SalesPersonFlag bit
DepartmentName nvarchar(50)
StartDate date
EndDate date
Status nvarchar(50)

Sales Management
Reference
Order Sales Management
Nullable Constraints Reference
Not Null Primary key for Order rows.
Not Null FK_ORDERITE_REFERENCE_ORDER
foreign key (OrderId)
references "Order" (Id)

Null FK_ORDERITE_REFERENCE_PRODUCT
foreign key (ProductId)
references Product (Id)

Not Null
Null
Not Null

Order Items Sales Management


Nullable Constraints Reference
Not Null Primary key
for Employee rows.
Not Null
Not Null

Not Null FK_ORDER_REFERENCE_CUSTOMER


foreign key (CustomerId)
references Customer (Id)

Not Null
Not Null

Customer Management
Nullable Constraints Reference
Not Null Primary key Primary key for Employee rows.
for Employee rows.
Not Null Employee_Department(Dept_ID)
Not Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Not Null
Not Null
Null
Null
Null
Null
Sales
Manage
Dim_Customer ment

Column Name Data Type Nullable Constrain Reference


ts
CustomerId int Not Null PK
FullName nvarchar(161) Null
BirthDate date Null
MaritalStatus nchar(1) Null
Gender nvarchar(1) Null
EmailAddress nvarchar(50) Null
YearlyIncome money Null
EnglishEducation nvarchar(40) Null
SpanishEducation nvarchar(40) Null
FrenchEducation nvarchar(40) Null
EnglishOccupation nvarchar(100) Null
SpanishOccupation nvarchar(100) Null
FrenchOccupation nvarchar(100) Null
HouseOwnerFlag nchar(1) Null
NumberCarsOwned tinyint Null
Phone nvarchar(20) Null
Registration_date date Null
CommuteDistance nvarchar(15) Null
Address nvarchar(241) Null
City varchar(100) Not Null
State varchar(100) Not Null
Abbreviation varchar(100) Not Null
ZIP_code varchar(100) Not Null
Customerkey int Not Null
Sales
Manage
Dim_Orders ment Dim_OrdersItems

Column Name Data Type Nullable Constrain Reference Column Name


ts
ID int Not Null PK Id
ORDERNUMBER nvarchar(10) Null OrderId
ORDERDATE datetime Not Null UnitPrice
Quantity
ProductName
Supplier_Code
CompanyName
ContactName
Phone
CITY_COUNTRY
Sales Dim_Employee
Manage
Dim_OrdersItems ment

Data Type Nullable Constrain Reference Column Name Data Type


ts
int Not Null PK EmployeeId int
int Not Null FK FirstName nvarchar(50)
decimal(12, 2) Not Null LastName nvarchar(50)
int Not Null MiddleName nvarchar(50)
nvarchar(50) Not Null Title nvarchar(50)
nvarchar(40) Null HireDate date
nvarchar(40) Not Null Total_Exp int
nvarchar(50) Null BirthDate date
nvarchar(30) Null EmailAddress nvarchar(50)
nvarchar(81) Null Phone nvarchar(25)
MaritalStatus nchar(1)
EmergencyContactName nvarchar(50)
EmergencyContactPhone nvarchar(25)
SalariedFlag bit
Gender nchar(1)
PayFrequency tinyint
BaseRate money
VacationHours smallint
SickLeaveHours smallint
CurrentFlag bit
SalesPersonFlag bit
DepartmentName nvarchar(50)
StartDate date
EndDate date
Status nvarchar(50)
Employeekey int
Sales Sales
Manag Manage
ement Fact_Sales ment

Nullable Constrain Referenc Column Name Data Type Nullable Constrain Reference
ts e ts
Not Null PK SALES_KEY int Not Null PK
Not Null Order_ID int Not Null FK
Not Null Date_ID int Null FK
Null Customer_ID int Null FK
Null Employee_ID int Not Null FK
Null OrderNumber nvarchar(10) Null
Null TotalAmount decimal(12, 2) Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Null
Not Null
Not Null
Null
Null
Null
Null
Not Null
Sales
Management
Dim_Date

Column Name Data Type Nullable Constrain Reference


ts
DateKey int Not Null PK
Date datetime Null
FullDateUK char(10) Null
FullDateUSA char(10) Null
DayOfMonth varchar(2) Null
DaySuffix varchar(4) Null
DayName varchar(9) Null
DayOfWeekUSA char(1) Null
DayOfWeekUK char(1) Null
DayOfWeekInMonth varchar(2) Null
DayOfWeekInYear varchar(2) Null
DayOfQuarter varchar(3) Null
DayOfYear varchar(3) Null
WeekOfMonth varchar(1) Null
WeekOfQuarter varchar(2) Null
WeekOfYear varchar(2) Null
Month varchar(2) Null
MonthName varchar(9) Null
MonthOfQuarter varchar(2) Null
Quarter char(1) Null
QuarterName varchar(9) Null
Year char(4) Null
YearName char(7) Null
MonthYear char(10) Null
MMYYYY char(6) Null
FirstDayOfMonth date Null
LastDayOfMonth date Null
FirstDayOfQuarter date Null
LastDayOfQuarter date Null
FirstDayOfYear date Null
LastDayOfYear date Null
IsHolidayUSA bit Null
IsWeekday bit Null
HolidayUSA varchar(50) Null
IsHolidayUK bit Null
HolidayUK varchar(50) Null
Mapping No Target Table Target Column
1 Dim_Customer CustomerId
2 Dim_Customer FullName
3 Dim_Customer FullName
4 Dim_Customer FullName
5 Dim_Customer FullName
6 Dim_Customer BirthDate
7 Dim_Customer MaritalStatus
8 Dim_Customer Gender
9 Dim_Customer EmailAddress
10 Dim_Customer YearlyIncome
11 Dim_Customer EnglishEducation
12 Dim_Customer SpanishEducation
13 Dim_Customer FrenchEducation
14 Dim_Customer EnglishOccupation
15 Dim_Customer SpanishOccupation
16 Dim_Customer FrenchOccupation
17 Dim_Customer HouseOwnerFlag
18 Dim_Customer NumberCarsOwned
19 Dim_Customer Phone
20 Dim_Customer Registration_date
21 Dim_Customer CommuteDistance
22 Dim_Customer Address
23 Dim_Customer Address
24 Dim_Customer City
25 Dim_Customer State
26 Dim_Customer Abbreviation
27 Dim_Customer ZIP_code
28 Dim_Customer Customerkey
29 Dim_Employee EmployeeId
30 Dim_Employee FirstName
31 Dim_Employee LastName
32 Dim_Employee MiddleName
33 Dim_Employee Title
34 Dim_Employee HireDate
35 Dim_Employee Total_Exp
36 Dim_Employee BirthDate
37 Dim_Employee EmailAddress
38 Dim_Employee Phone
39 Dim_Employee MaritalStatus
40 Dim_Employee EmergencyContactName
41 Dim_Employee EmergencyContactPhone
42 Dim_Employee SalariedFlag
43 Dim_Employee Gender
44 Dim_Employee PayFrequency
45 Dim_Employee BaseRate
46 Dim_Employee VacationHours
47 Dim_Employee SickLeaveHours
48 Dim_Employee CurrentFlag
49 Dim_Employee SalesPersonFlag
50 Dim_Employee DepartmentName
51 Dim_Employee StartDate
52 Dim_Employee EndDate
53 Dim_Employee Status
54 Dim_Employee Employeekey
55 Dim_Orders ID
56 Dim_Orders ORDERNUMBER
57 Dim_Orders ORDERDATE
58 Dim_OrdersItems Id
59 Dim_OrdersItems OrderId
60 Dim_OrdersItems UnitPrice
61 Dim_OrdersItems Quantity
62 Dim_OrdersItems ProductName
63 Dim_OrdersItems Supplier_Code
64 Dim_OrdersItems CompanyName
65 Dim_OrdersItems ContactName
66 Dim_OrdersItems Phone
67 Dim_OrdersItems CITY_COUNTRY
68 Fact_Sales SALES_KEY
69 Fact_Sales Order_ID
70 Fact_Sales Date_ID
71 Fact_Sales Customer_ID
72 Fact_Sales Employee_ID
73 Fact_Sales OrderNumber
74 Fact_Sales TotalAmount
Data Type Source Table Source Column Data Type
int Customer CustomerId int

nvarchar(161) Customer Title nvarchar(8)

nvarchar(161) Customer FirstName nvarchar(50)

nvarchar(161) Customer MiddleName nvarchar(50)

nvarchar(161) Customer LastName nvarchar(50)

date Customer BirthDate date

nchar(1) Customer MaritalStatus nchar(1)

nvarchar(1) Customer Gender nvarchar(1)

nvarchar(50) Customer EmailAddress nvarchar(50)


money Customer YearlyIncome money
nvarchar(40) Customer EnglishEducation nvarchar(40)
nvarchar(40) Customer SpanishEducation nvarchar(40)
nvarchar(40) Customer FrenchEducation nvarchar(40)
nvarchar(100) Customer EnglishOccupation nvarchar(100)
nvarchar(100) Customer SpanishOccupation nvarchar(100)
nvarchar(100) Customer FrenchOccupation nvarchar(100)
nchar(1) Customer HouseOwnerFlag nchar(1)
tinyint Customer NumberCarsOwned tinyint
nvarchar(20) Customer Phone nvarchar(20)
date Customer Registration_date date
nvarchar(15) Customer CommuteDistance nvarchar(15)
nvarchar(241) Customer AddressLine1 nvarchar(120)
nvarchar(241) Customer AddressLine2 nvarchar(120)
varchar(100) City City varchar(100)
varchar(100) City State varchar(100)
varchar(100) City Abbreviation varchar(100)
varchar(100) City ZIP_code varchar(100)
int - - -
int Employee EmployeeId int

nvarchar(50) Employee FirstName nvarchar(50)

nvarchar(50) Employee LastName nvarchar(50)

nvarchar(50) Employee MiddleName nvarchar(50)

nvarchar(50) Employee Title nvarchar(50)

date Employee HireDate date

int Employee HireDate date

date Employee BirthDate date

nvarchar(50) Employee EmailAddress nvarchar(50)

nvarchar(25) Employee Phone nvarchar(25)


nchar(1) Employee MaritalStatus nchar(1)
nvarchar(50) Employee EmergencyContactName nvarchar(50)
nvarchar(25) Employee EmergencyContactPhone nvarchar(25)
bit Employee SalariedFlag bit
nchar(1) Employee Gender nchar(1)
tinyint Employee PayFrequency tinyint
money Employee BaseRate money
smallint Employee VacationHours smallint
smallint Employee SickLeaveHours smallint
bit Employee CurrentFlag bit
bit Employee SalesPersonFlag bit
nvarchar(50) Employee DepartmentName nvarchar(50)
date Employee StartDate date
date Employee EndDate date
nvarchar(50) Employee Status nvarchar(50)
int - - -
int Orders Id int

nvarchar(10) Orders OrderNumber nvarchar(10)

datetime Orders ORDERDATE decimal(12, 2)

int Order Items Id int

int Order Items OrderId int

decimal(12, 2) Product UnitPrice decimal(12, 2)


int Order Items Quantity int

nvarchar(50) Product ProductName nvarchar(50)

nvarchar(40) Supplier Supplier_Code nvarchar(40)

nvarchar(40) Supplier CompanyName nvarchar(40)

nvarchar(50) Supplier ContactName nvarchar(50)

nvarchar(30) Supplier Phone nvarchar(30)


nvarchar(81) Supplier CITY_COUNTRY nvarchar(81)
int - - -
int Dim_Orders
int Dim_Date
int Dim_Customer
int Dim_Employee
nvarchar(10) Orders OrderNumber nvarchar(10)
decimal(12, 2) Orders TotalAmount decimal(12, 2)
Transformation Logic
1:1

Concate(Title, First name, Middle, Last Name)


Concate(Title, First name, Middle, Last Name)
Concate(Title, First name, Middle, Last Name)
Concate(Title, First name, Middle, Last Name)
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1

Concate(AddressLine1,AddressLine2)
Concate(AddressLine1,AddressLine2)
Lookup customer and city to get city state and zip code
Lookup customer and city to get city state and zip code
Lookup customer and city to get city state and zip code
Lookup customer and city to get city state and zip code
PK
1:1
1:1
1:1
1:1
1:1
1:1

Datediff()
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1

PK
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1
1:1

PK

You might also like