当前位置:   article > 正文

TPC-H建表语句(MySQL语法)

tpc-h

TPC-H测试集介绍

TPC-H(Transaction Processing Performance Council, Standard Specification, Decision Support Benchmark, 简称TPC-H)是一个非常权威数据库基准测试程序,由TPC组织制定。

TPC-H定义了一个包含8个表的模式(Schema),这些表通过外键关联;下面是这八个表之间的关系以及MySQL语法的DDL语句。

TPC-H模式

图片

TPC-H建表语句

  1. CREATE TABLE REGION (
  2. R_REGIONKEY INT NOT NULL,
  3. R_NAME CHAR(25) NOT NULL,
  4. R_COMMENT VARCHAR(152) DEFAULT NULL,
  5. PRIMARY KEY (R_REGIONKEY)
  6. ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI;
  7. ;
  8. CREATE TABLE NATION (
  9. N_NATIONKEY INT NOT NULL,
  10. N_NAME CHAR(25) NOT NULL,
  11. N_REGIONKEY INT NOT NULL,
  12. N_COMMENT VARCHAR(152) DEFAULT NULL,
  13. PRIMARY KEY (N_NATIONKEY)
  14. ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI;
  15. ;
  16. CREATE TABLE PART (
  17. P_PARTKEY INT NOT NULL,
  18. P_NAME VARCHAR(55) NOT NULL,
  19. P_MFGR CHAR(25) NOT NULL,
  20. P_BRAND CHAR(10) NOT NULL,
  21. P_TYPE VARCHAR(25) NOT NULL,
  22. P_SIZE INT NOT NULL,
  23. P_CONTAINER CHAR(10) NOT NULL,
  24. P_RETAILPRICE DECIMAL(15,2) NOT NULL,
  25. P_COMMENT VARCHAR(23) NOT NULL,
  26. PRIMARY KEY (P_PARTKEY)
  27. ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI;
  28. ;
  29. CREATE TABLE CUSTOMER (
  30. C_CUSTKEY INT NOT NULL,
  31. C_NAME VARCHAR(25) NOT NULL,
  32. C_ADDRESS VARCHAR(40) NOT NULL,
  33. C_NATIONKEY INT NOT NULL,
  34. C_PHONE CHAR(15) NOT NULL,
  35. C_ACCTBAL DECIMAL(15,2) NOT NULL,
  36. C_MKTSEGMENT CHAR(10) NOT NULL,
  37. C_COMMENT VARCHAR(117) NOT NULL,
  38. PRIMARY KEY (C_CUSTKEY),
  39. KEY CUSTOMER_FK1 (C_NATIONKEY),
  40. CONSTRAINT CUSTOMER_IBFK_1 FOREIGN KEY (C_NATIONKEY) REFERENCES NATION (N_NATIONKEY)
  41. ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI;
  42. ;
  43. CREATE TABLE ORDERS (
  44. O_ORDERKEY INT NOT NULL,
  45. O_CUSTKEY INT NOT NULL,
  46. O_ORDERSTATUS CHAR(1) NOT NULL,
  47. O_TOTALPRICE DECIMAL(15,2) NOT NULL,
  48. O_ORDERDATE DATE NOT NULL,
  49. O_ORDERPRIORITY CHAR(15) NOT NULL,
  50. O_CLERK CHAR(15) NOT NULL,
  51. O_SHIPPRIORITY INT NOT NULL,
  52. O_COMMENT VARCHAR(79) NOT NULL,
  53. PRIMARY KEY (O_ORDERKEY),
  54. KEY ORDERS_FK1 (O_CUSTKEY),
  55. CONSTRAINT ORDERS_IBFK_1 FOREIGN KEY (O_CUSTKEY) REFERENCES CUSTOMER (C_CUSTKEY)
  56. ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI;
  57. ;
  58. CREATE TABLE SUPPLIER (
  59. S_SUPPKEY INT NOT NULL,
  60. S_NAME CHAR(25) NOT NULL,
  61. S_ADDRESS VARCHAR(40) NOT NULL,
  62. S_NATIONKEY INT NOT NULL,
  63. S_PHONE CHAR(15) NOT NULL,
  64. S_ACCTBAL DECIMAL(15,2) NOT NULL,
  65. S_COMMENT VARCHAR(101) NOT NULL,
  66. PRIMARY KEY (S_SUPPKEY),
  67. KEY SUPPLIER_FK1 (S_NATIONKEY),
  68. CONSTRAINT SUPPLIER_IBFK_1 FOREIGN KEY (S_NATIONKEY) REFERENCES NATION (N_NATIONKEY)
  69. ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI;
  70. ;
  71. CREATE TABLE PARTSUPP (
  72. PS_PARTKEY INT NOT NULL,
  73. PS_SUPPKEY INT NOT NULL,
  74. PS_AVAILQTY INT NOT NULL,
  75. PS_SUPPLYCOST DECIMAL(15,2) NOT NULL,
  76. PS_COMMENT VARCHAR(199) NOT NULL,
  77. PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY),
  78. KEY PARTSUPP_FK1 (PS_SUPPKEY),
  79. CONSTRAINT PARTSUPP_IBFK_1 FOREIGN KEY (PS_SUPPKEY) REFERENCES SUPPLIER (S_SUPPKEY),
  80. CONSTRAINT PARTSUPP_IBFK_2 FOREIGN KEY (PS_PARTKEY) REFERENCES PART (P_PARTKEY)
  81. ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI;
  82. ;
  83. CREATE TABLE LINEITEM (
  84. L_ORDERKEY INT NOT NULL,
  85. L_PARTKEY INT NOT NULL,
  86. L_SUPPKEY INT NOT NULL,
  87. L_LINENUMBER INT NOT NULL,
  88. L_QUANTITY DECIMAL(15,2) NOT NULL,
  89. L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL,
  90. L_DISCOUNT DECIMAL(15,2) NOT NULL,
  91. L_TAX DECIMAL(15,2) NOT NULL,
  92. L_RETURNFLAG CHAR(1) NOT NULL,
  93. L_LINESTATUS CHAR(1) NOT NULL,
  94. L_SHIPDATE DATE NOT NULL,
  95. L_COMMITDATE DATE NOT NULL,
  96. L_RECEIPTDATE DATE NOT NULL,
  97. L_SHIPINSTRUCT CHAR(25) NOT NULL,
  98. L_SHIPMODE CHAR(10) NOT NULL,
  99. L_COMMENT VARCHAR(44) NOT NULL,
  100. PRIMARY KEY (L_ORDERKEY,L_LINENUMBER),
  101. KEY LINEITEM_FK2 (L_PARTKEY,L_SUPPKEY),
  102. CONSTRAINT LINEITEM_IBFK_1 FOREIGN KEY (L_ORDERKEY) REFERENCES ORDERS (O_ORDERKEY),
  103. CONSTRAINT LINEITEM_IBFK_2 FOREIGN KEY (L_PARTKEY, L_SUPPKEY) REFERENCES PARTSUPP (PS_PARTKEY, PS_SUPPKEY)
  104. ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COLLATE=UTF8MB4_0900_AI_CI;
  105. ;

关于PawSQL

PawSQL专注数据库性能优化的自动化和智能化,提供的解决方案覆盖SQL开发、测试、运维的整个流程,支持MySQL,PostgreSQL,openGauss,Oracle等数据库。

图片

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/779185
推荐阅读
相关标签
  

闽ICP备14008679号