88 lines
3.1 KiB
Transact-SQL
88 lines
3.1 KiB
Transact-SQL
/********************************************************************************/
|
|
/* */
|
|
/* Kroenke, Auer, Vandenberg and Yoder */
|
|
/* Database Processing (15th Edition) Chapter 02 */
|
|
/* */
|
|
/* The Queen Anne Curiousity Shop [QACS_CH02] Database Create Tables */
|
|
/* */
|
|
/* These are the Microsoft SQL Server 2016/2017 SQL code solutions */
|
|
/* */
|
|
/********************************************************************************/
|
|
/* */
|
|
/* NOTE: These SQL Statements use the following surrogate keys: */
|
|
/* */
|
|
/* CUSTOMER: Start at 1, Increment by 1 - IDENTITY (1, 1) */
|
|
/* ITEM: Start at 1, Increment by 1 - IDENTITY (1, 1) */
|
|
/* SALE: Start at 1, Increment by 1 - IDENTITY (1, 1) */
|
|
/* */
|
|
/********************************************************************************/
|
|
|
|
USE QACS_CH02
|
|
GO
|
|
|
|
CREATE TABLE CUSTOMER(
|
|
CustomerID Int NOT NULL IDENTITY (1, 1),
|
|
LastName Char(25) NOT NULL,
|
|
FirstName Char(25) NOT NULL,
|
|
EmailAddress Varchar(100) NULL,
|
|
EncryptedPassword Varchar(50) NULL,
|
|
[Address] Char(35) NULL,
|
|
City Char(35) NULL,
|
|
[State] Char(2) NULL,
|
|
ZIP Char(10) NULL,
|
|
Phone Char(12) NOT NULL,
|
|
ReferredBy Int NULL,
|
|
CONSTRAINT CUSTOMER_PK PRIMARY KEY(CustomerID),
|
|
CONSTRAINT ReferredBy_Cust_FK FOREIGN KEY(ReferredBy)
|
|
REFERENCES CUSTOMER(CustomerID)
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
);
|
|
|
|
/***** ITEM Table As Used in Chapter02 **************************************/
|
|
|
|
CREATE TABLE ITEM(
|
|
ItemID Int NOT NULL IDENTITY (1,1),
|
|
ItemDescription Varchar(255) NOT NULL,
|
|
CompanyName Varchar(100) NOT NULL,
|
|
PurchaseDate Date NOT NULL,
|
|
ItemCost Numeric(9,2) NOT NULL,
|
|
ItemPrice Numeric(9,2) NOT NULL,
|
|
CONSTRAINT ITEM_PK PRIMARY KEY (ItemID),
|
|
);
|
|
|
|
CREATE TABLE SALE(
|
|
SaleID Int NOT NULL IDENTITY (1, 1),
|
|
CustomerID Int NOT NULL,
|
|
SaleDate Date NOT NULL,
|
|
SubTotal Numeric(15,2) NULL,
|
|
Tax Numeric(15,2) NULL,
|
|
Total Numeric(15,2) NULL,
|
|
CONSTRAINT SALE_PK PRIMARY KEY (SaleID),
|
|
CONSTRAINT SALE_CUSTOMER_FK FOREIGN KEY (CustomerID)
|
|
REFERENCES Customer(CustomerID)
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION,
|
|
);
|
|
|
|
/***** SALE_ITEM Table As Used in Chapter02 *********************************/
|
|
|
|
CREATE TABLE SALE_ITEM(
|
|
SaleID Int NOT NULL,
|
|
SaleItemID Int NOT NULL,
|
|
ItemID Int NOT NULL,
|
|
ItemPrice Numeric(9,2) NOT NULL,
|
|
CONSTRAINT SALE_ITEM_PK PRIMARY KEY (SaleID, SaleItemID),
|
|
CONSTRAINT SALE_ITEM_SALE_FK FOREIGN KEY (SaleID)
|
|
REFERENCES SALE(SaleID)
|
|
ON UPDATE NO ACTION
|
|
ON DELETE CASCADE,
|
|
CONSTRAINT SALE_ITEM_ITEM_FK FOREIGN KEY (ItemID)
|
|
REFERENCES ITEM(ItemID)
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
);
|
|
|
|
|
|
/********************************************************************************/
|