117 lines
3.7 KiB
Transact-SQL
117 lines
3.7 KiB
Transact-SQL
/********************************************************************************/
|
|
/* */
|
|
/* Kroenke, Auer, Vandenberg and Yoder */
|
|
/* Database Processing (15th Edition) Chapter 02/10A */
|
|
/* */
|
|
/* Cape Codd Outdoor Sports Database - Create Tables */
|
|
/* */
|
|
/* These are the Microsoft SQL Server 2016/2017 SQL code solutions */
|
|
/* */
|
|
/********************************************************************************/
|
|
|
|
USE Cape_Codd
|
|
GO
|
|
|
|
CREATE TABLE BUYER (
|
|
BuyerName Char(35) NOT NULL,
|
|
Department Char(30) NOT NULL,
|
|
Position Char(10) NULL,
|
|
Supervisor Char(35) NULL,
|
|
CONSTRAINT BUYER_PK PRIMARY KEY(BuyerName),
|
|
CONSTRAINT BUYER_SUPERVISOR_FK FOREIGN KEY(Supervisor)
|
|
REFERENCES BUYER(BuyerName)
|
|
);
|
|
|
|
CREATE TABLE RETAIL_ORDER (
|
|
OrderNumber Integer NOT NULL,
|
|
StoreNumber Integer NULL,
|
|
StoreZIP Char(9) NULL,
|
|
OrderMonth Char(12) NOT NULL,
|
|
OrderYear Integer NOT NULL,
|
|
OrderTotal Numeric(9,2) NULL,
|
|
CONSTRAINT RETAIL_ORDER_PK PRIMARY KEY (OrderNumber)
|
|
);
|
|
|
|
|
|
CREATE TABLE SKU_DATA (
|
|
SKU Integer NOT NULL,
|
|
SKU_Description Char(35) NOT NULL,
|
|
Department Char(30) NOT NULL,
|
|
Buyer Char(35) NULL,
|
|
CONSTRAINT SKU_DATA_PK PRIMARY KEY (SKU),
|
|
CONSTRAINT SKU_DATA_EMP_FK FOREIGN KEY (Buyer)
|
|
REFERENCES BUYER(BuyerName)
|
|
ON UPDATE CASCADE
|
|
ON DELETE NO ACTION
|
|
);
|
|
|
|
|
|
CREATE TABLE ORDER_ITEM (
|
|
OrderNumber Integer NOT NULL,
|
|
SKU Integer NOT NULL,
|
|
Quantity Integer NOT NULL,
|
|
Price Numeric(9,2) NOT NULL,
|
|
ExtendedPrice Numeric(9,2) NOT NULL,
|
|
CONSTRAINT ORDER_ITEM_PK PRIMARY KEY (SKU, OrderNumber),
|
|
CONSTRAINT ORDER_ITEM_SKU_FK FOREIGN KEY (SKU)
|
|
REFERENCES SKU_DATA (SKU),
|
|
CONSTRAINT ORDER_ITEM_ORDER_FK FOREIGN KEY (OrderNumber)
|
|
REFERENCES RETAIL_ORDER (OrderNumber)
|
|
);
|
|
|
|
|
|
CREATE TABLE WAREHOUSE (
|
|
WarehouseID Integer NOT NULL,
|
|
WarehouseCity Char(30) NOT NULL,
|
|
WarehouseState Char(2) NOT NULL,
|
|
Manager Char(35) NULL,
|
|
SquareFeet Integer NULL,
|
|
CONSTRAINT WAREHOUSE_PK PRIMARY KEY (WarehouseID)
|
|
);
|
|
|
|
|
|
CREATE TABLE INVENTORY (
|
|
WarehouseID Integer NOT NULL,
|
|
SKU Integer NOT NULL,
|
|
SKU_Description Char(35) NOT NULL,
|
|
QuantityOnHand Integer NULL,
|
|
QuantityOnOrder Integer NULL,
|
|
CONSTRAINT INVENTORY_PK PRIMARY KEY (WarehouseID, SKU),
|
|
CONSTRAINT SKU_DATA_Relationship FOREIGN KEY (SKU)
|
|
REFERENCES SKU_DATA (SKU),
|
|
CONSTRAINT WAREHOUSE_Relationship FOREIGN KEY (WarehouseID)
|
|
REFERENCES WAREHOUSE (WarehouseID)
|
|
);
|
|
|
|
|
|
CREATE TABLE CATALOG_SKU_2016 (
|
|
CatalogID Integer NOT NULL IDENTITY (20160001, 1),
|
|
SKU Integer NOT NULL,
|
|
SKU_Description Char(35) NOT NULL,
|
|
Department Char(30) NOT NULL,
|
|
CatalogPage Integer NULL,
|
|
DateOnWebSite Date NULL,
|
|
CONSTRAINT CSKU16_PK PRIMARY KEY (CatalogID)
|
|
);
|
|
|
|
|
|
CREATE TABLE CATALOG_SKU_2017 (
|
|
CatalogID Integer NOT NULL IDENTITY (20170001, 1),
|
|
SKU Integer NOT NULL,
|
|
SKU_Description Char(35) NOT NULL,
|
|
Department Char(30) NOT NULL,
|
|
CatalogPage Integer NULL,
|
|
DateOnWebSite Date NULL,
|
|
CONSTRAINT CSKU17_PK PRIMARY KEY (CatalogID)
|
|
);
|
|
|
|
|
|
CREATE TABLE CATALOG_SKU_2018 (
|
|
CatalogID Integer NOT NULL IDENTITY (20180001, 1),
|
|
SKU Integer NOT NULL,
|
|
SKU_Description Char(35) NOT NULL,
|
|
Department Char(30) NOT NULL,
|
|
CatalogPage Integer NULL,
|
|
DateOnWebSite Date NULL,
|
|
CONSTRAINT CSKU18_PK PRIMARY KEY (CatalogID)
|
|
); |