-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathorders_ddl_postgresql_version0.sql
More file actions
127 lines (99 loc) · 3.7 KB
/
orders_ddl_postgresql_version0.sql
File metadata and controls
127 lines (99 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
CREATE TABLE orderperson (
pk_orderperson SERIAL NOT NULL,
name_attr VARCHAR(1000),
name VARCHAR(1000),
address VARCHAR(1000),
city VARCHAR(1000),
"zip_codingSystem" VARCHAR(1000),
zip_state VARCHAR(1000),
zip_value VARCHAR(1000),
country VARCHAR(1000),
"phoneNumber" VARCHAR(8000),
"companyId_type" VARCHAR(3),
"companyId_value" VARCHAR(1000),
coordinates VARCHAR(1000),
record_hash BYTEA,
CONSTRAINT cx_pk_orderperson PRIMARY KEY (pk_orderperson),
CONSTRAINT orderperson_xml2db_record_hash UNIQUE (record_hash)
)
CREATE TABLE intfeature (
pk_intfeature SERIAL NOT NULL,
id VARCHAR(1000),
value INTEGER,
record_hash BYTEA,
CONSTRAINT cx_pk_intfeature PRIMARY KEY (pk_intfeature),
CONSTRAINT intfeature_xml2db_record_hash UNIQUE (record_hash)
)
CREATE TABLE stringfeature (
pk_stringfeature SERIAL NOT NULL,
id VARCHAR(1000),
value VARCHAR(1000),
record_hash BYTEA,
CONSTRAINT cx_pk_stringfeature PRIMARY KEY (pk_stringfeature),
CONSTRAINT stringfeature_xml2db_record_hash UNIQUE (record_hash)
)
CREATE TABLE item (
pk_item SERIAL NOT NULL,
product_name VARCHAR(1000),
product_version VARCHAR(1000),
note VARCHAR(1000),
quantity INTEGER,
price DOUBLE PRECISION,
currency VARCHAR(3),
record_hash BYTEA,
CONSTRAINT cx_pk_item PRIMARY KEY (pk_item),
CONSTRAINT item_xml2db_record_hash UNIQUE (record_hash)
)
CREATE TABLE item_product_features_intfeature (
fk_item INTEGER NOT NULL,
fk_intfeature INTEGER NOT NULL,
FOREIGN KEY(fk_item) REFERENCES item (pk_item),
FOREIGN KEY(fk_intfeature) REFERENCES intfeature (pk_intfeature)
)
CREATE TABLE item_product_features_stringfeature (
fk_item INTEGER NOT NULL,
fk_stringfeature INTEGER NOT NULL,
FOREIGN KEY(fk_item) REFERENCES item (pk_item),
FOREIGN KEY(fk_stringfeature) REFERENCES stringfeature (pk_stringfeature)
)
CREATE TABLE shiporder (
pk_shiporder SERIAL NOT NULL,
orderid VARCHAR(1000),
processed_at TIMESTAMP WITH TIME ZONE,
fk_orderperson INTEGER,
shipto_fk_orderperson INTEGER,
record_hash BYTEA,
CONSTRAINT cx_pk_shiporder PRIMARY KEY (pk_shiporder),
CONSTRAINT shiporder_xml2db_record_hash UNIQUE (record_hash),
FOREIGN KEY(fk_orderperson) REFERENCES orderperson (pk_orderperson),
FOREIGN KEY(shipto_fk_orderperson) REFERENCES orderperson (pk_orderperson)
)
CREATE TABLE shiporder_item (
fk_shiporder INTEGER NOT NULL,
fk_item INTEGER NOT NULL,
FOREIGN KEY(fk_shiporder) REFERENCES shiporder (pk_shiporder),
FOREIGN KEY(fk_item) REFERENCES item (pk_item)
)
CREATE TABLE orders (
pk_orders SERIAL NOT NULL,
batch_id VARCHAR(1000),
version INTEGER,
input_file_path VARCHAR(256),
record_hash BYTEA,
CONSTRAINT cx_pk_orders PRIMARY KEY (pk_orders),
CONSTRAINT orders_xml2db_record_hash UNIQUE (record_hash)
)
CREATE TABLE orders_shiporder (
fk_orders INTEGER NOT NULL,
fk_shiporder INTEGER NOT NULL,
FOREIGN KEY(fk_orders) REFERENCES orders (pk_orders),
FOREIGN KEY(fk_shiporder) REFERENCES shiporder (pk_shiporder)
)
CREATE INDEX ix_item_product_features_intfeature_fk_intfeature ON item_product_features_intfeature (fk_intfeature)
CREATE INDEX ix_item_product_features_intfeature_fk_item ON item_product_features_intfeature (fk_item)
CREATE INDEX ix_item_product_features_stringfeature_fk_item ON item_product_features_stringfeature (fk_item)
CREATE INDEX ix_item_product_features_stringfeature_fk_stringfeature ON item_product_features_stringfeature (fk_stringfeature)
CREATE INDEX ix_shiporder_item_fk_item ON shiporder_item (fk_item)
CREATE INDEX ix_shiporder_item_fk_shiporder ON shiporder_item (fk_shiporder)
CREATE INDEX ix_orders_shiporder_fk_orders ON orders_shiporder (fk_orders)
CREATE INDEX ix_orders_shiporder_fk_shiporder ON orders_shiporder (fk_shiporder)