· 10 years ago · Sep 08, 2016, 01:58 AM
1DROP TABLE IF EXISTS PART CASCADE;
2CREATE TABLE PART (
3
4 P_PARTKEY SERIAL PRIMARY KEY,
5 P_NAME VARCHAR(55),
6 P_MFGR CHAR(25),
7 P_BRAND CHAR(10),
8 P_TYPE VARCHAR(25),
9 P_SIZE INTEGER,
10 P_CONTAINER CHAR(10),
11 P_RETAILPRICE DECIMAL,
12 P_COMMENT VARCHAR(23)
13);
14
15DROP TABLE IF EXISTS SUPPLIER CASCADE;
16CREATE TABLE SUPPLIER (
17 S_SUPPKEY SERIAL PRIMARY KEY,
18 S_NAME CHAR(25),
19 S_ADDRESS VARCHAR(40),
20 S_NATIONKEY BIGINT NOT NULL, -- references N_NATIONKEY
21 S_PHONE CHAR(15),
22 S_ACCTBAL DECIMAL,
23 S_COMMENT VARCHAR(101)
24);
25
26DROP TABLE IF EXISTS PARTSUPP CASCADE;
27CREATE TABLE PARTSUPP (
28 PS_PARTKEY BIGINT NOT NULL, -- references P_PARTKEY
29 PS_SUPPKEY BIGINT NOT NULL, -- references S_SUPPKEY
30 PS_AVAILQTY INTEGER,
31 PS_SUPPLYCOST DECIMAL,
32 PS_COMMENT VARCHAR(199),
33 PRIMARY KEY (PS_PARTKEY, PS_SUPPKEY)
34);
35
36DROP TABLE IF EXISTS CUSTOMER CASCADE;
37CREATE TABLE CUSTOMER (
38 C_CUSTKEY SERIAL PRIMARY KEY,
39 C_NAME VARCHAR(25),
40 C_ADDRESS VARCHAR(40),
41 C_NATIONKEY BIGINT NOT NULL, -- references N_NATIONKEY
42 C_PHONE CHAR(15),
43 C_ACCTBAL DECIMAL,
44 C_MKTSEGMENT CHAR(10),
45 C_COMMENT VARCHAR(117)
46);
47
48DROP TABLE IF EXISTS ORDERS CASCADE;
49CREATE TABLE ORDERS (
50 O_ORDERKEY SERIAL PRIMARY KEY,
51 O_CUSTKEY BIGINT NOT NULL, -- references C_CUSTKEY
52 O_ORDERSTATUS CHAR(1),
53 O_TOTALPRICE DECIMAL,
54 O_ORDERDATE DATE,
55 O_ORDERPRIORITY CHAR(15),
56 O_CLERK CHAR(15),
57 O_SHIPPRIORITY INTEGER,
58 O_COMMENT VARCHAR(79)
59);
60
61DROP TABLE IF EXISTS LINEITEM CASCADE;
62CREATE TABLE LINEITEM (
63 L_ORDERKEY BIGINT NOT NULL, -- references O_ORDERKEY
64 L_PARTKEY BIGINT NOT NULL, -- references P_PARTKEY (compound fk to PARTSUPP)
65 L_SUPPKEY BIGINT NOT NULL, -- references S_SUPPKEY (compound fk to PARTSUPP)
66 L_LINENUMBER INTEGER,
67 L_QUANTITY DECIMAL,
68 L_EXTENDEDPRICE DECIMAL,
69 L_DISCOUNT DECIMAL,
70 L_TAX DECIMAL,
71 L_RETURNFLAG CHAR(1),
72 L_LINESTATUS CHAR(1),
73 L_SHIPDATE DATE,
74 L_COMMITDATE DATE,
75 L_RECEIPTDATE DATE,
76 L_SHIPINSTRUCT CHAR(25),
77 L_SHIPMODE CHAR(10),
78 L_COMMENT VARCHAR(44),
79 PRIMARY KEY (L_ORDERKEY, L_LINENUMBER)
80);
81
82DROP TABLE IF EXISTS NATION CASCADE;
83CREATE TABLE NATION (
84 N_NATIONKEY SERIAL PRIMARY KEY,
85 N_NAME CHAR(25),
86 N_REGIONKEY BIGINT NOT NULL, -- references R_REGIONKEY
87 N_COMMENT VARCHAR(152)
88);
89
90DROP TABLE IF EXISTS REGION CASCADE;
91CREATE TABLE REGION (
92 R_REGIONKEY SERIAL PRIMARY KEY,
93 R_NAME CHAR(25),
94 R_COMMENT VARCHAR(152)
95);