Top

21.8. DDL Statements

CREATE TABLE WAREHOUSE (
    W_ID		INTEGER,
    W_NAME		CHARACTER (10),
    W_STREET_1		CHARACTER (20),
    W_STREET_2		CHARACTER (20),
    W_CITY		CHARACTER (20),
    W_STATE		CHARACTER (2),
    W_ZIP		CHARACTER (9),
    W_TAX		NUMERIC,
    W_YTD		NUMERIC,
    PRIMARY KEY (W_ID)
);

CREATE TABLE DISTRICT (
    D_ID		INTEGER,
    D_W_ID		INTEGER,
    D_NAME		CHARACTER (10),
    D_STREET_1		CHARACTER (20),
    D_STREET_2		CHARACTER (20),
    D_CITY		CHARACTER (20),
    D_STATE		CHARACTER (2),
    D_ZIP		CHARACTER (9),
    D_TAX		NUMERIC,
    D_YTD		NUMERIC,
    D_NEXT_O_ID		INTEGER,
    PRIMARY KEY (D_W_ID, D_ID)
);

CREATE TABLE CUSTOMER (
    C_ID		INTEGER,
    C_D_ID		INTEGER,
    C_W_ID		INTEGER,
    C_FIRST		CHARACTER (16),
    C_MIDDLE		CHARACTER (2),
    C_LAST		VARCHAR,
    C_STREET_1		CHARACTER (20),
    C_STREET_2		CHARACTER (20),
    C_CITY		CHARACTER (20),
    C_STATE		CHARACTER (2),
    C_ZIP		CHARACTER (9),
    C_PHONE		CHARACTER (16),
    C_SINCE		VARCHAR,
    C_CREDIT		CHARACTER (2),
    C_CREDIT_LIM	NUMERIC,
    C_DISCOUNT		NUMERIC,
    C_BALANCE		NUMERIC,
    C_YTD_PAYMENT	NUMERIC,
    C_CNT_PAYMENT	NUMERIC,
    C_CNT_DELIVERY	NUMERIC,
    C_DATA_1		CHARACTER (250),
    C_DATA_2		CHARACTER (250),
    PRIMARY KEY (C_W_ID, C_D_ID, C_ID)
);

CREATE INDEX C_BY_LAST ON CUSTOMER (C_W_ID, C_D_ID, C_LAST, C_FIRST);

CREATE TABLE HISTORY (
    H_C_ID		INTEGER,
    H_C_D_ID		INTEGER,
    H_C_W_ID		INTEGER,
    H_D_ID		INTEGER,
    H_W_ID		INTEGER,
    H_DATE		DATE,
    H_AMOUNT		NUMERIC,
    H_DATA		CHARACTER (24),
    PRIMARY KEY (H_DATE, H_C_ID)
);

CREATE TABLE NEW_ORDER (
    NO_O_ID		INTEGER,
    NO_D_ID	 	INTEGER,
    NO_W_ID		INTEGER,
    PRIMARY KEY (NO_W_ID, NO_D_ID, NO_O_ID)
);

CREATE TABLE ORDERS (
    O_ID		INTEGER,
    O_D_ID		INTEGER,
    O_W_ID		INTEGER,
    O_C_ID		INTEGER,
    O_ENTRY_D		DATE,
    O_CARRIER_ID	INTEGER,
    O_OL_CNT		INTEGER,
    O_ALL_LOCAL		NUMERIC,
    PRIMARY KEY (O_W_ID, O_D_ID, O_ID)
);

CREATE INDEX O_BY_C_ID ON ORDERS (O_W_ID, O_D_ID, O_C_ID, O_ID)

CREATE TABLE ORDER_LINE (
    OL_O_ID		INTEGER,
    OL_D_ID		INTEGER,
    OL_W_ID		INTEGER,
    OL_NUMBER		INTEGER,
    OL_I_ID		INTEGER,
    OL_SUPPLY_W_ID	INTEGER,
    OL_DELIVERY_D	DATE,
    OL_QUANTITY		NUMERIC,
    OL_AMOUNT		NUMERIC,
    OL_DIST_INFO	CHARACTER (24),
    PRIMARY KEY (OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER)
);

CREATE TABLE ITEM (
    I_ID		INTEGER,
    I_IM_ID		INTEGER,
    I_NAME		CHARACTER (24),
    I_PRICE		NUMERIC,
    I_DATA		CHARACTER (50),
    PRIMARY KEY (I_ID)
);

CREATE TABLE STOCK (
    S_I_ID		INTEGER,
    S_W_ID		INTEGER,
    S_QUANTITY		NUMERIC,
    S_DIST_01		CHARACTER (24),
    S_DIST_02		CHARACTER (24),
    S_DIST_03		CHARACTER (24),
    S_DIST_04		CHARACTER (24),
    S_DIST_05		CHARACTER (24),
    S_DIST_06		CHARACTER (24),
    S_DIST_07		CHARACTER (24),
    S_DIST_08		CHARACTER (24),
    S_DIST_09		CHARACTER (24),
    S_DIST_10		CHARACTER (24),
    S_YTD		NUMERIC,
    S_CNT_ORDER		NUMERIC,
    S_CNT_REMOTE	NUMERIC,
    S_DATA		CHARACTER (50),
    PRIMARY KEY (S_I_ID, S_W_ID)
);