CREATE TABLE "S_REGION"
( "ID" NUMBER(7,0) CONSTRAINT "S_REGION_ID_NN" NOT NULL ENABLE,
"NAME" VARCHAR2(50 BYTE) CONSTRAINT "S_REGION_NAME_NN" NOT NULL ENABLE,
CONSTRAINT "S_REGION_ID_PK" PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "S_REGION_NAME_UK" UNIQUE ("NAME") ENABLE
) ;
CREATE TABLE "S_DEPT"
( "ID" NUMBER(7,0) CONSTRAINT "S_DEPT_ID_NN" NOT NULL ENABLE,
"NAME" VARCHAR2(25 BYTE) CONSTRAINT "S_DEPT_NAME_NN" NOT NULL ENABLE,
"REGION_ID" NUMBER(7,0),
CONSTRAINT "S_DEPT_ID_PK" PRIMARY KEY ("ID"),
CONSTRAINT "S_DEPT_NAME_REGION_ID_UK" UNIQUE ("NAME", "REGION_ID") ENABLE,
CONSTRAINT "S_DEPT_REGION_ID_FK" FOREIGN KEY ("REGION_ID")
REFERENCES "S_REGION" ("ID") ENABLE
) ;
CREATE TABLE "S_TITLE"
( "TITLE" VARCHAR2(25 BYTE) CONSTRAINT "S_TITLE_TITLE_NN" NOT NULL ENABLE,
CONSTRAINT "S_TITLE_TITLE_PK" PRIMARY KEY ("TITLE") ENABLE
) ;
CREATE TABLE "S_EMP"
( "ID" NUMBER(7,0) CONSTRAINT "S_EMP_ID_NN" NOT NULL ENABLE,
"LAST_NAME" VARCHAR2(25 BYTE) CONSTRAINT "S_EMP_LAST_NAME_NN" NOT NULL ENABLE,
"FIRST_NAME" VARCHAR2(25 BYTE),
"USERID" VARCHAR2(8 BYTE),
"START_DATE" DATE,
"COMMENTS" VARCHAR2(255 BYTE),
"MANAGER_ID" NUMBER(7,0),
"TITLE" VARCHAR2(25 BYTE),
"DEPT_ID" NUMBER(7,0),
"SALARY" NUMBER(11,2),
"COMMISSION_PCT" NUMBER(4,2),
CONSTRAINT "S_EMP_COMMISSION_PCT_CK" CHECK (commission_pct IN (10, 12.5, 15, 17.5, 20)) ENABLE,
CONSTRAINT "S_EMP_ID_PK" PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "S_EMP_USERID_UK" UNIQUE ("USERID") ENABLE,
CONSTRAINT "S_EMP_DEPT_ID_FK" FOREIGN KEY ("DEPT_ID")
REFERENCES "S_DEPT" ("ID") ENABLE,
CONSTRAINT "S_EMP_MANAGER_ID_FK" FOREIGN KEY ("MANAGER_ID")
REFERENCES "S_EMP" ("ID") ENABLE,
CONSTRAINT "S_EMP_TITLE_FK" FOREIGN KEY ("TITLE")
REFERENCES "S_TITLE" ("TITLE") ENABLE
) ;
CREATE TABLE "S_CUSTOMER"
( "ID" NUMBER(7,0) CONSTRAINT "S_CUSTOMER_ID_NN" NOT NULL ENABLE,
"NAME" VARCHAR2(50 BYTE) CONSTRAINT "S_CUSTOMER_NAME_NN" NOT NULL ENABLE,
"PHONE" VARCHAR2(25 BYTE),
"ADDRESS" VARCHAR2(400 BYTE),
"CITY" VARCHAR2(30 BYTE),
"STATE" VARCHAR2(20 BYTE),
"COUNTRY" VARCHAR2(30 BYTE),
"ZIP_CODE" VARCHAR2(75 BYTE),
"CREDIT_RATING" VARCHAR2(9 BYTE),
"SALES_REP_ID" NUMBER(7,0),
"REGION_ID" NUMBER(7,0),
"COMMENTS" VARCHAR2(255 BYTE),
CONSTRAINT "S_CUSTOMER_CREDIT_RATING_CK" CHECK (credit_rating IN ('EXCELLENT', 'GOOD', 'POOR')) ENABLE,
CONSTRAINT "S_CUSTOMER_ID_PK" PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "S_CUSTOMER_REGION_ID_FK" FOREIGN KEY ("REGION_ID")
REFERENCES "S_REGION" ("ID") ENABLE,
CONSTRAINT "S_SALES_REP_ID_FK" FOREIGN KEY ("SALES_REP_ID")
REFERENCES "S_EMP" ("ID") ENABLE
) ;
CREATE TABLE "S_IMAGE"
( "ID" NUMBER(7,0) CONSTRAINT "S_IMAGE_ID_NN" NOT NULL ENABLE,
"FORMAT" VARCHAR2(25 BYTE),
"USE_FILENAME" VARCHAR2(1 BYTE),
"FILENAME" VARCHAR2(255 BYTE),
"IMAGE" LONG RAW,
CONSTRAINT "S_IMAGE_FORMAT_CK" CHECK (format in ('JFIFF', 'JTIFF')) ENABLE,
CONSTRAINT "S_IMAGE_USE_FILENAME_CK" CHECK (use_filename in ('Y', 'N')) ENABLE,
CONSTRAINT "S_IMAGE_ID_PK" PRIMARY KEY ("ID") ENABLE
) ;
CREATE TABLE "S_LONGTEXT"
( "ID" NUMBER(7,0) CONSTRAINT "S_LONGTEXT_ID_NN" NOT NULL ENABLE,
"USE_FILENAME" VARCHAR2(1 BYTE),
"FILENAME" VARCHAR2(255 BYTE),
"TEXT" VARCHAR2(2000 BYTE),
CONSTRAINT "S_LONGTEXT_USE_FILENAME_CK" CHECK (use_filename in ('Y', 'N')) ENABLE,
CONSTRAINT "S_LONGTEXT_ID_PK" PRIMARY KEY ("ID") ENABLE
) ;
CREATE TABLE "S_PRODUCT"
( "ID" NUMBER(7,0) CONSTRAINT "S_PRODUCT_ID_NN" NOT NULL ENABLE,
"NAME" VARCHAR2(50 BYTE) CONSTRAINT "S_PRODUCT_NAME_NN" NOT NULL ENABLE,
"SHORT_DESC" VARCHAR2(255 BYTE),
"LONGTEXT_ID" NUMBER(7,0),
"IMAGE_ID" NUMBER(7,0),
"SUGGESTED_WHLSL_PRICE" NUMBER(11,2),
"WHLSL_UNITS" VARCHAR2(25 BYTE),
CONSTRAINT "S_PRODUCT_ID_PK" PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "S_PRODUCT_NAME_UK" UNIQUE ("NAME") ENABLE,
CONSTRAINT "S_PRODUCT_IMAGE_ID_FK" FOREIGN KEY ("IMAGE_ID")
REFERENCES "S_IMAGE" ("ID") DISABLE,
CONSTRAINT "S_PRODUCT_LONGTEXT_ID_FK" FOREIGN KEY ("LONGTEXT_ID")
REFERENCES "S_LONGTEXT" ("ID") ENABLE
) ;
CREATE TABLE "S_ORD"
( "ID" NUMBER(7,0) CONSTRAINT "S_ORD_ID_NN" NOT NULL ENABLE,
"CUSTOMER_ID" NUMBER(7,0) CONSTRAINT "S_ORD_CUSTOMER_ID_NN" NOT NULL ENABLE,
"DATE_ORDERED" DATE,
"DATE_SHIPPED" DATE,
"SALES_REP_ID" NUMBER(7,0),
"TOTAL" NUMBER(11,2),
"PAYMENT_TYPE" VARCHAR2(6 BYTE),
"ORDER_FILLED" VARCHAR2(1 BYTE),
CONSTRAINT "S_ORD_PAYMENT_TYPE_CK" CHECK (payment_type in ('CASH', 'CREDIT', 'CHECK')) ENABLE,
CONSTRAINT "S_ORD_ORDER_FILLED_CK" CHECK (order_filled in ('Y', 'N')) ENABLE,
CONSTRAINT "S_ORD_ID_PK" PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "S_ORD_CUSTOMER_ID_FK" FOREIGN KEY ("CUSTOMER_ID")
REFERENCES "S_CUSTOMER" ("ID") ENABLE,
CONSTRAINT "S_ORD_SALES_REP_ID_FK" FOREIGN KEY ("SALES_REP_ID")
REFERENCES "S_EMP" ("ID") ENABLE
) ;
CREATE TABLE "S_ITEM"
( "ORD_ID" NUMBER(7,0) CONSTRAINT "S_ITEM_ORD_ID_NN" NOT NULL ENABLE,
"ITEM_ID" NUMBER(7,0) CONSTRAINT "S_ITEM_ITEM_ID_NN" NOT NULL ENABLE,
"PRODUCT_ID" NUMBER(7,0) CONSTRAINT "S_ITEM_PRODUCT_ID_NN" NOT NULL ENABLE,
"PRICE" NUMBER(11,2),
"QUANTITY" NUMBER(9,0),
"QUANTITY_SHIPPED" NUMBER(9,0),
CONSTRAINT "S_ITEM_ORDID_ITEMID_PK" PRIMARY KEY ("ORD_ID", "ITEM_ID") ENABLE,
CONSTRAINT "S_ITEM_ORDID_PRODID_UK" UNIQUE ("ORD_ID", "PRODUCT_ID") ENABLE,
CONSTRAINT "S_ITEM_ORD_ID_FK" FOREIGN KEY ("ORD_ID")
REFERENCES "S_ORD" ("ID") ENABLE,
CONSTRAINT "S_ITEM_PRODUCT_ID_FK" FOREIGN KEY ("PRODUCT_ID")
REFERENCES "S_PRODUCT" ("ID") ENABLE
) ;
CREATE TABLE "S_ITEM_AUDIT"
( "A" NUMBER
);
CREATE OR REPLACE TRIGGER "AUDIT_S_ITEM" AFTER INSERT ON s_item
FOR EACH ROW
BEGIN
INSERT INTO s_item_audit VALUES (1);
END;
/
ALTER TRIGGER "AUDIT_S_ITEM" ENABLE;
CREATE TABLE "S_WAREHOUSE"
( "ID" NUMBER(7,0) CONSTRAINT "S_WAREHOUSE_ID_NN" NOT NULL ENABLE,
"REGION_ID" NUMBER(7,0) CONSTRAINT "S_WAREHOUSE_REGION_ID_NN" NOT NULL ENABLE,
"ADDRESS" LONG,
"CITY" VARCHAR2(30 BYTE),
"STATE" VARCHAR2(20 BYTE),
"COUNTRY" VARCHAR2(30 BYTE),
"ZIP_CODE" VARCHAR2(75 BYTE),
"PHONE" VARCHAR2(25 BYTE),
"MANAGER_ID" NUMBER(7,0),
CONSTRAINT "S_WAREHOUSE_ID_PK" PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "S_WAREHOUSE_MANAGER_ID_FK" FOREIGN KEY ("MANAGER_ID")
REFERENCES "S_EMP" ("ID") ENABLE,
CONSTRAINT "S_WAREHOUSE_REGION_ID_FK" FOREIGN KEY ("REGION_ID")
REFERENCES "S_REGION" ("ID") ENABLE
) ;
CREATE TABLE "S_INVENTORY"
( "PRODUCT_ID" NUMBER(7,0) CONSTRAINT "S_INVENTORY_PRODUCT_ID_NN" NOT NULL ENABLE,
"WAREHOUSE_ID" NUMBER(7,0) CONSTRAINT "S_INVENTORY_WAREHOUSE_ID_NN" NOT NULL ENABLE,
"AMOUNT_IN_STOCK" NUMBER(9,0),
"REORDER_POINT" NUMBER(9,0),
"MAX_IN_STOCK" NUMBER(9,0),
"OUT_OF_STOCK_EXPLANATION" VARCHAR2(255 BYTE),
"RESTOCK_DATE" DATE,
CONSTRAINT "S_INVENTORY_PRODID_WARID_PK" PRIMARY KEY ("PRODUCT_ID", "WAREHOUSE_ID") ENABLE,
CONSTRAINT "S_INVENTORY_PRODUCT_ID_FK" FOREIGN KEY ("PRODUCT_ID")
REFERENCES "S_PRODUCT" ("ID") ENABLE,
CONSTRAINT "S_INVENTORY_WAREHOUSE_ID_FK" FOREIGN KEY ("WAREHOUSE_ID")
REFERENCES "S_WAREHOUSE" ("ID") ENABLE
) ;
CREATE SEQUENCE "S_CUSTOMER_SEQ";
CREATE SEQUENCE "S_DEPT_SEQ";
CREATE SEQUENCE "S_EMP_SEQ";
CREATE SEQUENCE "S_LONGTEXT_SEQ";
CREATE SEQUENCE "S_ORD_SEQ";
CREATE SEQUENCE "S_PRODUCT_SEQ";
CREATE SEQUENCE "S_WAREHOUSE_SEQ";