3.TPC-C测试工具——创建表

来源:互联网 发布:淘宝网宣纸 编辑:程序博客网 时间:2024/06/04 17:40

3.TPC-C测试工具——创建表

1.  表结构

TPC-C数据库由9张独立的表组成。如下:


表中出现的属性(attribute)定义:

Nunique IDs,不重复的代码,至少可以存储N个。不限制物理类型(例如:二进制binary、压缩十进制packed decimal、字符alphabetic等等)

variabletext, size N,变长字符串,最大长度为N。如果用定长字符串模拟,则在字符串尾追加空格

fixedtext, size N,定长字符串,长度为N

dateand time,日期时间,可以表示从1990年1月1日至2100年12月31日的日期,精度至少为1秒

numeric,N digits,数字型,可以表示N位数字。当用于存储货币时必须能表示用户所在国货币定义。例如在美国,可以定义为(12,2)有符号数字;也可以定义为至少41比特(bits)的有符号整数;还可以定义为64比特(bits)双精度浮点数(REAL)

null,表示无意义数值

注释1:表中所有的属性可以以任意顺序创建,可以用目标系统支持的任意物理数据类型实现

注释2:表的名称和字段的名称只是用于说明,实现时可以改为其他名称

1.1         WAREHOUSE(仓库)

字 段 名 称

字  段  定  义

注      释

W_ID

2*W unique IDs

W是仓库数目

W_NAME

Variable text, size 10

 

W_STREET_1

variable text, size 20

 

W_STREET_2

variable text, size 20

 

W_CITY

variable text, size 20

 

W_STATE

fixed text, size 2

 

W_ZIP

fixed text, size 9

 

W_TAX

numeric, 4 digits

销售税

W_YTD

numeric, 12 digits

本年余额(Year to date balance)

Primary Key :W_ID

1.2         DISTRICT(地区)

字 段 名 称

字  段  定  义

注      释

D_ID

20 unique IDs

通常为10个

D_W_ID

2*W unique IDs

 

D_NAME

variable text, size 10

 

D_STREET_1

variable text, size 20

 

D_STREET_2

variable text, size 20

 

D_CITY

variable text, size 20

 

D_STATE

fixed text, size 2

 

D_ZIP

fixed text, size 9

 

D_TAX

numeric, 4 digits

销售税

D_YTD

numeric, 12 digits

本年余额(Year to date balance)

D_NEXT_O_ID

10,000,000 unique IDs

下一张定单号

Primary Key :(D_W_ID, D_ID)

D_W_ID ForeignKey, references W_ID

1.3         CUSTOMER(客户)

字 段 名 称

字  段  定  义

注      释

C_ID

96,000 unique IDs

通常为3,000

C_D_ID

20 unique IDs

 

C_W_ID

2*W unique IDs

 

C_FIRST

variable text, size 16

 

C_MIDDLE

fixed text, size 2

 

C_LAST

variable text, size 16

 

C_STREET_1

variable text, size 20

 

C_STREET_2

variable text, size 20

 

C_CITY

variable text, size 20

 

C_STATE

fixed text, size 2

 

C_ZIP

fixed text, size 9

 

C_PHONE

fixed text, size 16

 

C_SINCE

date and time

登记日期

C_CREDIT

fixed text, size 2

信用(“GC”=good, “BC”=bad)

C_CREDIT_LIM

numeric, 12 digits

透支限额

C_DISCOUNT

numeric, 4 digits

折扣

C_BALANCE

signed numeric, 12 digits

欠款余额

C_YTD_PAYMENT

numeric, 12 digits

累计付款金额

C_PAYMENT_CNT

numeric, 4 digits

累计付款次数

C_DELIVERY_CNT

numeric, 4 digits

累计发货次数

C_DATA

variable text, size 500

备注

Primary Key :(C_W_ID, C_D_ID, C_ID)

(C_W_ID, C_D_ID)Foreign Key, references (D_W_ID, D_ID)

1.4         HISTROY(历史记录)

字 段 名 称

字  段  定  义

注      释

H_C_ID

96,000 unique IDs

 

H_C_D_ID

20 unique IDs

 

H_C_W_ID

2*W unique IDs

 

H_D_ID

20 unique IDs

 

H_W_ID

2*W unique IDs

 

H_DATE

date and time

 

H_AMOUNT

numeric, 6 digits

价格

H_DATA

variable text, size 24

 

Primary Key :None

(H_C_W_ID,H_C_D_ID, H_C_ID) Foreign Key, references (C_W_ID, C_D_ID, C_ID)

(H_WID, H_D_ID)Foreign Key, references(D_W_ID, D_ID)

1.5         NEW_ORDER(新定单)

字 段 名 称

字  段  定  义

注      释

NO_O_ID

10,000,000 unique IDs

 

NO_D_ID

20 unique IDs

 

NO_W_ID

2*W unique IDs

 

Primary Key :(NO_W_ID, NO_D_ID, NO_O_ID)

(NO_W_ID,NO_D_ID, NO_O_ID) Foreign Key, references (O_W_ID, O_D_ID, O_ID)

1.6         ORDER(定单)

字 段 名 称

字  段  定  义

注      释

O_ID

10,000,000 unique IDs

 

O_D_ID

20 unique IDs

 

O_W_ID

2*W unique IDs

 

O_C_ID

96,000 unique IDs

 

O_ENTRY_D

date and time

制单时间

O_CARRIER_ID

10 unique IDs, or null

货运代号

O_OL_CNT

from 5 to 15

分录数

O_ALL_LOCAL

numeric, 1 digit

是否全部本地供货

Primary Key :(O_W_ID, O_D_ID, O_ID)

(O_W_ID, O_D_ID,O_C_ID) Foreign Key, references (C_W_ID, C_D_ID, C_ID)

1.7         ORDER_LINE(定单分录)

字 段 名 称

字  段  定  义

注      释

OL_O_ID

10,000,000 unique IDs

 

OL_D_ID

20 unique IDs

 

OL_W_ID

2*W unique IDs

 

OL_NUMBER

15 unique IDs

分录代码

OL_I_ID

200,000 unique IDs

商品代码

OL_SUPPLY_W_ID

2*W unique IDs

供货仓库代码

OL_DELIVERY_D

date and time, or null

发货时间

OL_QUANTITY

numeric, 2 digits

数量

OL_AMOUNT

numeric, 6 digits

价格

OL_DIST_INFO

fixed text, size 24

 

Primary Key :(OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER)

(OL_W_ID,OL_D_ID, OL_O_ID) Foreign Key, references (O_W_ID, O_D_ID, D_ID)

(OL_SUPPLY_W_ID,OL_I_ID) Foreign Key, references ( S_W_ID, S_I_ID)

1.8         ITEM(供货商品)

字 段 名 称

字  段  定  义

注      释

I_ID

200,000 unique IDs

通常是100,000

I_IM_ID

200,000 unique IDs

商品图象代码

I_NAME

 

 

I_PRICE

numeric, 5 digits

价格

I_DATA

variable text, size 50

 

Primary Key :I_ID

1.9         STOCK(存货)

字 段 名 称

字  段  定  义

注      释

S_I_ID

200,000 unique IDs

通常是100,000

S_W_ID

2*W unique IDs

 

S_QUANTITY

numeric, 4 digits

库存

S_DIST_01

fixed text, size 24

 

S_DIST_01

fixed text, size 24

 

S_DIST_02

fixed text, size 24

 

S_DIST_03

fixed text, size 24

 

S_DIST_04

fixed text, size 24

 

S_DIST_05

fixed text, size 24

 

S_DIST_06

fixed text, size 24

 

S_DIST_07

fixed text, size 24

 

S_DIST_08

fixed text, size 24

 

S_DIST_09

fixed text, size 24

 

S_DIST_10

fixed text, size 24

 

S_YTD

numeric, 8 digits

累计供货数量

S_ORDER_CNT

numeric, 4 digits

累计定单数量

S_REMOTE_CNT

numeric, 4 digits

累计其他仓库供货数量

S_DATA

variable text, size 50

备注

Primary Key :(S_W_ID, S_I_ID)

S_W_ID ForeignKey, references W_ID

S_I_ID ForeignKey, references I_ID

2.  创建表

使用tpcc用户连接到数据库。

2.1      创建表WAREHOUSE

CREATE TABLE WAREHOUSE (W_ID NUMBER(4, 0),W_YTD NUMBER(12, 2), W_TAX NUMBER(4, 4), W_NAME VARCHAR2(10), W_STREET_1VARCHAR2(20), W_STREET_2 VARCHAR2(20),        W_CITY VARCHAR2(20), W_STATE CHAR(2), W_ZIP CHAR(9)) INITRANS 4 MAXTRANS16 PCTFREE 99 PCTUSED 1;

2.2      创建表DISTRICT

CREATE TABLE DISTRICT (D_ID NUMBER(2, 0),D_W_ID NUMBER(4, 0), D_YTD NUMBER(12, 2), D_TAX NUMBER(4, 4), D_NEXT_O_IDNUMBER, D_NAME VARCHAR2(10), D_STREET_1        VARCHAR2(20), D_STREET_2 VARCHAR2(20), D_CITY VARCHAR2(20), D_STATECHAR(2), D_ZIP CHAR(9)) INITRANS 4 MAXTRANS 16 PCTFREE 99 PCTUSED 1;

2.3      创建表CUSTOMER:

CREATE TABLE CUSTOMER (C_ID NUMBER(5, 0),C_D_ID NUMBER(2, 0), C_W_ID NUMBER(4, 0), C_FIRST VARCHAR2(16), C_MIDDLECHAR(2), C_LAST VARCHAR2(16), C_STREET_1        VARCHAR2(20), C_STREET_2 VARCHAR2(20), C_CITY VARCHAR2(20), C_STATECHAR(2), C_ZIP CHAR(9), C_PHONE CHAR(16), C_SINCE DATE, C_CREDIT CHAR(2),C_CREDIT_LIM NUMBER(12,         2),C_DISCOUNT NUMBER(4, 4), C_BALANCE NUMBER(12, 2), C_YTD_PAYMENT NUMBER(12, 2),C_PAYMENT_CNT NUMBER(8, 0), C_DELIVERY_CNT NUMBER(8, 0), C_DATA VARCHAR2(500))INITRANS 4 MAXTRANS 16 PCTFREE 10;

2.4      创建表HISTORY

CREATE TABLE HISTORY (H_C_ID NUMBER,H_C_D_ID NUMBER, H_C_W_ID NUMBER, H_D_ID NUMBER, H_W_ID NUMBER, H_DATE DATE,H_AMOUNT NUMBER(6, 2), H_DATA VARCHAR2(24       )) INITRANS 4 MAXTRANS 16 PCTFREE 10;

2.5      创建表NEW_ORDER

CREATE TABLE NEW_ORDER (NO_W_ID NUMBER,NO_D_ID NUMBER, NO_O_ID NUMBER, CONSTRAINT INORD PRIMARY KEY (NO_W_ID, NO_D_ID,NO_O_ID) ENABLE ) ORGANIZATION INDEX NOCOMPRESS INITRANS 4 MAXTRANS 16 PCTFREE10;

2.6      创建表ORDERS

 

CREATE TABLE ORDERS (O_ID NUMBER, O_W_IDNUMBER, O_D_ID NUMBER, O_C_ID NUMBER, O_CARRIER_ID NUMBER, O_OL_CNT NUMBER,O_ALL_LOCAL NUMBER, O_ENTRY_D DATE) INITRANS 4 MAXTRANS 16 PCTFREE 10;

2.7      创建表ITEM

CREATE TABLE ITEM (I_ID NUMBER(6, 0), I_IM_IDNUMBER, I_NAME VARCHAR2(24), I_PRICE NUMBER(5, 2), I_DATA VARCHAR2(50))INITRANS 4 MAXTRANS 16 PCTFREE 10;

2.8      创建表STOCK

CREATE TABLE STOCK (S_I_ID NUMBER(6, 0),S_W_ID NUMBER(4, 0), S_QUANTITY NUMBER(6, 0), S_DIST_01 CHAR(24), S_DIST_02CHAR(24), S_DIST_03 CHAR(24), S_DIST_04 CHAR(24), S_DIST_05 CHAR(24), S_DIST_06CHAR(24), S_DIST_07 CHAR(24), S_DIST_08 CHAR(24), S_DIST_09 CHAR(24), S_DIST_10CHAR(24), S_YTD NUMBER(10, 0), S_ORDER_CNT NUMBER(6, 0), S_REMOTE_CNT NUMBER(6,0), S_DATA VARCHAR2(50)) INITRANS 4 MAXTRANS 16 PCTFREE 10;

2.9      创建表ORDER_LINE

2.9.1          不需要分区

CREATE TABLE ORDER_LINE (OL_W_ID NUMBER,OL_D_ID NUMBER, OL_O_ID NUMBER, OL_NUMBER NUMBER, OL_I_ID NUMBER, OL_DELIVERY_DDATE, OL_AMOUNT NUMBER, OL_SUPPLY_W_ID NUMBER, OL_QUANTITY NUMBER, OL_DIST_INFOCHAR(24), CONSTRAINT IORDL PRIMARY KEY (OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER)ENABLE) ORGANIZATION INDEX NOCOMPRESS INITRANS 4 MAXTRANS 16 PCTFREE 10;

2.9.2          分区

分区的数量为num_part=count_ware/100),每100个数据仓库增加一个分区。

CREATE TABLE ORDER_LINE (OL_W_ID NUMBER,OL_D_ID NUMBER, OL_O_ID NUMBER, OL_NUMBER NUMBER, OL_I_ID NUMBER, OL_DELIVERY_DDATE, OL_AMOUNT NUMBER, OL_SUPPLY_W_ID NUMBER, OL_QUANTITY NUMBER, OL_DIST_INFOCHAR(24), CONSTRAINT IORDL PRIMARY KEY (OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER)ENABLE) ORGANIZATION INDEX NOCOMPRESS INITRANS 4 MAXTRANS 16 PCTFREE 10PARTITION BY HASH(OL_W_ID) PARTITIONS $num_part TABLESPACE tpcctab;

 

原创粉丝点击