File: schema.sql

package info (click to toggle)
derby 10.14.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 79,056 kB
  • sloc: java: 691,961; sql: 42,686; xml: 20,512; sh: 3,373; sed: 96; makefile: 60
file content (149 lines) | stat: -rw-r--r-- 4,598 bytes parent folder | download | duplicates (4)
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
-- Licensed to the Apache Software Foundation (ASF) under one or more
-- contributor license agreements.  See the NOTICE file distributed with
-- this work for additional information regarding copyright ownership.
-- The ASF licenses this file to You under the Apache License, Version 2.0
-- (the "License"); you may not use this file except in compliance with
-- the License.  You may obtain a copy of the License at
--
--    http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
;

-- Table definitions from TPC-C specification, version 5.7.
-- Section 1.3 Table Layout
--
-- Constraints are defined in a separate SQL scripts to
-- allow intial data load with or without contstraints.
;

CREATE TABLE WAREHOUSE (
 W_ID       SMALLINT       NOT NULL,

 W_NAME     VARCHAR(10)    NOT NULL,
 W_STREET_1 VARCHAR(20)    NOT NULL,
 W_STREET_2 VARCHAR(20)    NOT NULL,
 W_CITY     VARCHAR(20)    NOT NULL,
 W_STATE    CHAR(2)        NOT NULL,
 W_ZIP      CHAR(9)        NOT NULL,
 W_TAX      DECIMAL (4,4)  NOT NULL,
 W_YTD      DECIMAL (12,2) NOT NULL
);

CREATE TABLE DISTRICT (
 D_ID        SMALLINT       NOT NULL,
 D_W_ID      SMALLINT       NOT NULL,

 D_NAME      VARCHAR(10)    NOT NULL,
 D_STREET_1  VARCHAR(20)    NOT NULL,
 D_STREET_2  VARCHAR(20)    NOT NULL,
 D_CITY      VARCHAR(20)    NOT NULL,
 D_STATE     CHAR(2)        NOT NULL,
 D_ZIP       CHAR(9)        NOT NULL,
 D_TAX       DECIMAL (4,4)  NOT NULL,
 D_YTD       DECIMAL (12,2) NOT NULL,
 D_NEXT_O_ID INTEGER        NOT NULL
 );

CREATE TABLE CUSTOMER (
 C_ID           INTEGER       NOT NULL,
 C_D_ID         SMALLINT      NOT NULL,
 C_W_ID         SMALLINT      NOT NULL,

 C_FIRST        VARCHAR(16)   NOT NULL,
 C_MIDDLE       CHAR(2)       NOT NULL,
 C_LAST         VARCHAR(16)   NOT NULL,
 C_STREET_1     VARCHAR(20)   NOT NULL,
 C_STREET_2     VARCHAR(20)   NOT NULL,
 C_CITY         VARCHAR(20)   NOT NULL,
 C_STATE        CHAR(2)       NOT NULL,
 C_ZIP          CHAR(9)       NOT NULL,
 C_PHONE        CHAR(16)      NOT NULL,
 C_SINCE        TIMESTAMP     NOT NULL,
 C_CREDIT       CHAR(2)       NOT NULL,
 C_CREDIT_LIM   DECIMAL(12,2) NOT NULL,
 C_DISCOUNT     DECIMAL(4,4)  NOT NULL,
 C_BALANCE      DECIMAL(12,2) NOT NULL,
 C_YTD_PAYMENT  DECIMAL(12,2) NOT NULL,
 C_PAYMENT_CNT  INTEGER       NOT NULL,
 C_DELIVERY_CNT INTEGER       NOT NULL,
 C_DATA         VARCHAR(500)  NOT NULL
);

CREATE TABLE HISTORY (
 H_C_ID   INTEGER      NOT NULL,
 H_C_D_ID SMALLINT     NOT NULL,
 H_C_W_ID SMALLINT     NOT NULL,
 H_D_ID   SMALLINT     NOT NULL,
 H_W_ID   SMALLINT     NOT NULL ,
 H_DATE   TIMESTAMP    NOT NULL,
 H_AMOUNT DECIMAL(6,2) NOT NULL,
 H_DATA   VARCHAR(24)  NOT NULL
);

CREATE TABLE NEWORDERS (
 NO_O_ID  INTEGER  NOT NULL,
 NO_D_ID  SMALLINT NOT NULL,
 NO_W_ID  SMALLINT NOT NULL
);

CREATE TABLE ORDERS (
 O_ID         INTEGER NOT NULL,
 O_D_ID       SMALLINT NOT NULL,
 O_W_ID       SMALLINT NOT NULL,
 O_C_ID       INTEGER NOT NULL,

 O_ENTRY_D    TIMESTAMP NOT NULL,
 O_CARRIER_ID SMALLINT,
 O_OL_CNT     SMALLINT NOT NULL,
 O_ALL_LOCAL  SMALLINT NOT NULL
);

CREATE TABLE ORDERLINE (
 OL_O_ID        INTEGER      NOT NULL,
 OL_D_ID        SMALLINT     NOT NULL,
 OL_W_ID        SMALLINT     NOT NULL,
 OL_NUMBER      SMALLINT     NOT NULL,

 OL_I_ID        INTEGER      NOT NULL,
 OL_SUPPLY_W_ID SMALLINT     NOT NULL,
 OL_DELIVERY_D  TIMESTAMP,
 OL_QUANTITY    SMALLINT     NOT NULL,
 OL_AMOUNT      DECIMAL(6,2) NOT NULL,
 OL_DIST_INFO   CHAR(24)     NOT NULL
);

CREATE TABLE ITEM (
 I_ID     INTEGER      NOT NULL,

 I_IM_ID  INTEGER      NOT NULL,
 I_NAME   VARCHAR(24)  NOT NULL,
 I_PRICE  DECIMAL(5,2) NOT NULL,
 I_DATA   VARCHAR(50)  NOT NULL
);

CREATE TABLE STOCK (
 S_I_ID       INTEGER     NOT NULL,
 S_W_ID       SMALLINT    NOT NULL,
 S_QUANTITY   INTEGER     NOT NULL,

 S_DIST_01    CHAR(24)    NOT NULL,
 S_DIST_02    CHAR(24)    NOT NULL,
 S_DIST_03    CHAR(24)    NOT NULL,
 S_DIST_04    CHAR(24)    NOT NULL,
 S_DIST_05    CHAR(24)    NOT NULL,
 S_DIST_06    CHAR(24)    NOT NULL,
 S_DIST_07    CHAR(24)    NOT NULL,
 S_DIST_08    CHAR(24)    NOT NULL,
 S_DIST_09    CHAR(24)    NOT NULL,
 S_DIST_10    CHAR(24)    NOT NULL,

 S_YTD        DECIMAL(8)  NOT NULL,
 S_ORDER_CNT  INTEGER     NOT NULL,
 S_REMOTE_CNT INTEGER     NOT NULL,
 S_DATA       VARCHAR(50) NOT NULL
);