64 lines
2.1 KiB
SQL
64 lines
2.1 KiB
SQL
/****************************************************************************************/
|
|
/* */
|
|
/* Kroenke, Auer, Vandenberg, and Yoder - Database Processing (15th Edition) Chapter 12 */
|
|
/* */
|
|
/* Heather Sweeney Designs Data Warehouse Database Create Tables */
|
|
/* */
|
|
/* These are the Microsoft SQL Server 2016 code solutions */
|
|
/* */
|
|
/****************************************************************************************/
|
|
|
|
|
|
CREATE TABLE TIMELINE(
|
|
TimeID Int NOT NULL,
|
|
Date Date NOT NULL,
|
|
MonthID Int NOT NULL,
|
|
MonthText Char(15) NOT NULL,
|
|
QuarterID Int NOT NULL,
|
|
QuarterText Char(10) NOT NULL,
|
|
Year Char(10) NOT NULL,
|
|
CONSTRAINT TIMELINE_PK PRIMARY KEY(TimeID)
|
|
);
|
|
|
|
CREATE TABLE CUSTOMER(
|
|
CustomerID Int NOT NULL,
|
|
CustomerName Char(75) NOT NULL,
|
|
EmailDomain VarChar(100) NOT NULL,
|
|
PhoneAreaCode Char(6) NOT NULL,
|
|
City Char(35) NULL,
|
|
State Char(2) NULL,
|
|
ZIP Char(10) NULL,
|
|
CONSTRAINT CUSTOMER_PK PRIMARY KEY(CustomerID)
|
|
);
|
|
|
|
CREATE TABLE PRODUCT(
|
|
ProductNumber Char(35) NOT NULL,
|
|
ProductType Char(25) NOT NULL,
|
|
ProductName VarChar(75) NOT NULL,
|
|
CONSTRAINT PRODUCT_PK PRIMARY KEY(ProductNumber)
|
|
);
|
|
|
|
CREATE TABLE PRODUCT_SALES(
|
|
TimeID Int NOT NULL,
|
|
CustomerID Int NOT NULL,
|
|
ProductNumber Char(35) NOT NULL,
|
|
Quantity Int NOT NULL,
|
|
UnitPrice Numeric(9,2) NOT NULL,
|
|
Total Numeric(9,2 ) NULL,
|
|
CONSTRAINT SALES_PK
|
|
PRIMARY KEY (TimeID, CustomerID, ProductNumber),
|
|
CONSTRAINT PS_TIMELINE_FK FOREIGN KEY(TimeID)
|
|
REFERENCES TIMELINE(TimeID)
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION,
|
|
CONSTRAINT PS_CUSTOMER_FK FOREIGN KEY(CustomerID)
|
|
REFERENCES CUSTOMER(CustomerID)
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION,
|
|
CONSTRAINT PS_PRODUCT_FK FOREIGN KEY(ProductNumber)
|
|
REFERENCES PRODUCT(ProductNumber)
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
);
|
|
|
|
|