TDSQL Boundless 数据字典

TPC-H(Transaction Processing Performance Council – H)是由 TPC 组织制定的决策支持基准测试标准,模拟了一个典型的订单管理系统的数据仓库环境。TPC-H 数据模型广泛应用于数据库性能测试、查询优化验证和商业智能场景。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

一、业务场景

TPC-H 模拟的是一个全球化的零售批发供应商系统,涵盖以下核心业务流程:

·零件供应:供应商向客户提供各种零件

·订单管理:客户下单购买零件

·物流配送:订单明细记录每个零件的配送状态

·财务结算:跟踪订单金额、折扣、税费等财务信息

·全球化运营:涉及多个国家和地区的业务

二、1. REGION (区域表)

业务含义:全球业务区域划分(如亚洲、欧洲、美洲等)

CREATE TABLE region ( r_regionkey INT NOT NULL, — 区域键(主键) r_name CHAR(25) NOT NULL, — 区域名称 r_comment VARCHAR(152), — 备注信息 PRIMARY KEY (r_regionkey));

三、2. NATION (国家表)

业务含义:国家信息,隶属于某个区域

CREATE TABLE nation ( n_nationkey INT NOT NULL, — 国家键(主键) n_name CHAR(25) NOT NULL, — 国家名称 n_regionkey INT NOT NULL, — 所属区域键(外键 -> region) n_comment VARCHAR(152), — 备注信息 PRIMARY KEY (n_nationkey), FOREIGN KEY (n_regionkey) REFERENCES region(r_regionkey));

四、3. CUSTOMER (客户表)

业务含义:客户基本信息,包括账户余额、市场细分等

CREATE TABLE customer ( c_custkey INT NOT NULL, — 客户键(主键) c_name VARCHAR(25) NOT NULL, — 客户名称 c_address VARCHAR(40) NOT NULL, — 客户地址 c_nationkey INT NOT NULL, — 所属国家键(外键 -> nation) c_phone CHAR(15) NOT NULL, — 联系电话 c_acctbal DECIMAL(15,2) NOT NULL,– 账户余额 c_mktsegment CHAR(10) NOT NULL, — 市场细分 c_comment VARCHAR(117) NOT NULL, — 备注信息 PRIMARY KEY (c_custkey), FOREIGN KEY (c_nationkey) REFERENCES nation(n_nationkey));

五、4. PART (零件表)

业务含义:产品零件信息,包括规格、品牌、价格等

CREATE TABLE part ( p_partkey INT NOT NULL, — 零件键(主键) p_name VARCHAR(55) NOT NULL, — 零件名称 p_mfgr CHAR(25) NOT NULL, — 制造商 p_brand CHAR(10) NOT NULL, — 品牌 p_type VARCHAR(25) NOT NULL, — 零件类型 p_size INT NOT NULL, — 尺寸 p_container CHAR(10) NOT NULL, — 容器类型 p_retailprice DECIMAL(15,2) NOT NULL,– 零售价格 p_comment VARCHAR(23) NOT NULL, — 备注信息 PRIMARY KEY (p_partkey));

六、5. SUPPLIER (供应商表)

业务含义:零件供应商信息

CREATE TABLE supplier ( s_suppkey INT NOT NULL, — 供应商键(主键) s_name CHAR(25) NOT NULL, — 供应商名称 s_address VARCHAR(40) NOT NULL, — 供应商地址 s_nationkey INT NOT NULL, — 所属国家键(外键 -> nation) s_phone CHAR(15) NOT NULL, — 联系电话 s_acctbal DECIMAL(15,2) NOT NULL,– 账户余额 s_comment VARCHAR(101) NOT NULL, — 备注信息 PRIMARY KEY (s_suppkey), FOREIGN KEY (s_nationkey) REFERENCES nation(n_nationkey));

七、6. PARTSUPP (零件供应关系表)

业务含义:零件与供应商的多对多关系,包括库存和成本信息

CREATE TABLE partsupp ( ps_partkey INT NOT NULL, — 零件键(外键 -> part) ps_suppkey INT NOT NULL, — 供应商键(外键 -> supplier) ps_availqty INT NOT NULL, — 可用数量 ps_supplycost DECIMAL(15,2) NOT NULL,– 供应成本 ps_comment VARCHAR(199) NOT NULL,– 备注信息 PRIMARY KEY (ps_partkey, ps_suppkey), FOREIGN KEY (ps_partkey) REFERENCES part(p_partkey), FOREIGN KEY (ps_suppkey) REFERENCES supplier(s_suppkey));

八、7. ORDERS (订单表)

业务含义:客户订单主表,记录订单基本信息

CREATE TABLE orders ( o_orderkey INT NOT NULL, — 订单键(主键) o_custkey INT NOT NULL, — 客户键(外键 -> customer) o_orderstatus CHAR(1) NOT NULL, — 订单状态 o_totalprice DECIMAL(15,2) NOT NULL, — 订单总价 o_orderdate DATE NOT NULL, — 订单日期 o_orderpriority CHAR(15) NOT NULL, — 订单优先级 o_clerk CHAR(15) NOT NULL, — 订单处理员 o_shippriority INT NOT NULL, — 配送优先级 o_comment VARCHAR(79) NOT NULL, — 备注信息 PRIMARY KEY (o_orderkey), FOREIGN KEY (o_custkey) REFERENCES customer(c_custkey));

九、8. LINEITEM (订单明细表)

业务含义:订单的明细行项,记录每个零件的配送信息,是数据量最大的事实表

CREATE TABLE lineitem ( l_orderkey INT NOT NULL, — 订单键(外键 -> orders) l_partkey INT NOT NULL, — 零件键(外键 -> part) l_suppkey INT NOT NULL, — 供应商键(外键 -> supplier) l_linenumber INT NOT NULL, — 行号 l_quantity DECIMAL(15,2) NOT NULL, — 数量 l_extendedprice DECIMAL(15,2) NOT NULL, — 扩展价格 l_discount DECIMAL(15,2) NOT NULL, — 折扣率 l_tax DECIMAL(15,2) NOT NULL, — 税率 l_returnflag CHAR(1) NOT NULL, — 退货标志 l_linestatus CHAR(1) NOT NULL, — 行状态 l_shipdate DATE NOT NULL, — 发货日期 l_commitdate DATE NOT NULL, — 承诺日期 l_receiptdate DATE NOT NULL, — 收货日期 l_shipinstruct CHAR(25) NOT NULL, — 配送说明 l_shipmode CHAR(10) NOT NULL, — 配送方式 l_comment VARCHAR(44) NOT NULL, — 备注信息 PRIMARY KEY (l_orderkey, l_linenumber), FOREIGN KEY (l_orderkey) REFERENCES orders(o_orderkey), FOREIGN KEY (l_partkey, l_suppkey) REFERENCES partsupp(ps_partkey, ps_suppkey));

十、参考资源

·TPC-H 规范

·TPC-H 数据生成工具 (dbgen)

·tpc-h_v2.18.0.pdf

赞 (0)
上一篇 4天前
下一篇 4天前