CREATE TABLE PART ( P_PARTKEY SERIAL, P_NAME VARCHAR(55), P_MFGR CHAR(25), P_BRAND CHAR(10), P_TYPE VARCHAR(25), P_SIZE INTEGER, P_CONTAINER CHAR(10), P_RETAILPRICE DECIMAL, P_COMMENT VARCHAR(23) );
CREATE TABLE SUPPLIER ( S_SUPPKEY SERIAL, S_NAME CHAR(25), S_ADDRESS VARCHAR(40), S_NATIONKEY INTEGER NOT NULL, S_PHONE CHAR(15), S_ACCTBAL DECIMAL, S_COMMENT VARCHAR(101) );
CREATE TABLE PARTSUPP ( PS_PARTKEY INTEGER NOT NULL, PS_SUPPKEY INTEGER NOT NULL, PS_AVAILQTY INTEGER, PS_SUPPLYCOST DECIMAL, PS_COMMENT VARCHAR(199) ); CREATE TABLE CUSTOMER ( C_CUSTKEY SERIAL, C_NAME VARCHAR(25), C_ADDRESS VARCHAR(40), C_NATIONKEY INTEGER NOT NULL, -- references N_NATIONKEY C_PHONE CHAR(15), C_ACCTBAL DECIMAL, C_MKTSEGMENT CHAR(10), C_COMMENT VARCHAR(117) );
CREATE TABLE ORDERS ( O_ORDERKEY SERIAL, O_CUSTKEY INTEGER NOT NULL, O_ORDERSTATUS CHAR(1), O_TOTALPRICE DECIMAL, O_ORDERDATE DATE, O_ORDERPRIORITY CHAR(15), O_CLERK CHAR(15), O_SHIPPRIORITY INTEGER, O_COMMENT VARCHAR(79) );
CREATE TABLE LINEITEM ( L_ORDERKEY INTEGER NOT NULL, -- references O_ORDERKEY L_PARTKEY INTEGER NOT NULL, -- references P_PARTKEY (compound fk to PARTSUPP) L_SUPPKEY INTEGER NOT NULL, -- references S_SUPPKEY (compound fk to PARTSUPP) L_LINENUMBER INTEGER, L_QUANTITY DECIMAL, L_EXTENDEDPRICE DECIMAL, L_DISCOUNT DECIMAL, L_TAX DECIMAL, L_RETURNFLAG CHAR(1), L_LINESTATUS CHAR(1), L_SHIPDATE DATE, L_COMMITDATE DATE, L_RECEIPTDATE DATE, L_SHIPINSTRUCT CHAR(25), L_SHIPMODE CHAR(10), L_COMMENT VARCHAR(44) );
CREATE TABLE NATION ( N_NATIONKEY SERIAL, N_NAME CHAR(25), N_REGIONKEY INTEGER NOT NULL, -- references R_REGIONKEY N_COMMENT VARCHAR(152) ); CREATE TABLE REGION ( R_REGIONKEY SERIAL, R_NAME CHAR(25), R_COMMENT VARCHAR(152) );