diff --git a/sample/snowflake/CUSTOMER.md b/sample/snowflake/CUSTOMER.md new file mode 100644 index 000000000..e659c1df7 --- /dev/null +++ b/sample/snowflake/CUSTOMER.md @@ -0,0 +1,42 @@ +# CUSTOMER + +## Description + +
+Table Definition + +```sql +create or replace TABLE CUSTOMER ( + C_CUSTKEY NUMBER(38,0) NOT NULL, + C_NAME VARCHAR(25) NOT NULL, + C_ADDRESS VARCHAR(40) NOT NULL, + C_NATIONKEY NUMBER(38,0) NOT NULL, + C_PHONE VARCHAR(15) NOT NULL, + C_ACCTBAL NUMBER(12,2) NOT NULL, + C_MKTSEGMENT VARCHAR(10), + C_COMMENT VARCHAR(117) +); +``` + +
+ +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| C_CUSTKEY | NUMBER | | false | [ORDERS](ORDERS.md) | | | +| C_NAME | TEXT | | false | | | | +| C_ADDRESS | TEXT | | false | | | | +| C_NATIONKEY | NUMBER | | false | | [NATION](NATION.md) | | +| C_PHONE | TEXT | | false | | | | +| C_ACCTBAL | NUMBER | | false | | | | +| C_MKTSEGMENT | TEXT | | true | | | | +| C_COMMENT | TEXT | | true | | | | + +## Relations + +![er](CUSTOMER.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/CUSTOMER.svg b/sample/snowflake/CUSTOMER.svg new file mode 100644 index 000000000..31500e878 --- /dev/null +++ b/sample/snowflake/CUSTOMER.svg @@ -0,0 +1,118 @@ + + + + + + +CUSTOMER + + + +CUSTOMER + + +CUSTOMER + +[BASE TABLE] + +C_CUSTKEY +[NUMBER] + +C_NAME +[TEXT] + +C_ADDRESS +[TEXT] + +C_NATIONKEY +[NUMBER] + +C_PHONE +[TEXT] + +C_ACCTBAL +[NUMBER] + +C_MKTSEGMENT +[TEXT] + +C_COMMENT +[TEXT] + + + + +NATION + + +NATION + +[BASE TABLE] + +N_NATIONKEY +[NUMBER] + +N_NAME +[TEXT] + +N_REGIONKEY +[NUMBER] + +N_COMMENT +[TEXT] + + + +CUSTOMER:C_NATIONKEY->NATION:N_NATIONKEY + + +Additional Relation + + + +ORDERS + + +ORDERS + +[BASE TABLE] + +O_ORDERKEY +[NUMBER] + +O_CUSTKEY +[NUMBER] + +O_ORDERSTATUS +[TEXT] + +O_TOTALPRICE +[NUMBER] + +O_ORDERDATE +[DATE] + +O_ORDERPRIORITY +[TEXT] + +O_CLERK +[TEXT] + +O_SHIPPRIORITY +[NUMBER] + +O_COMMENT +[TEXT] + + + +ORDERS:O_CUSTKEY->CUSTOMER:C_CUSTKEY + + +Additional Relation + + + diff --git a/sample/snowflake/LINEITEM.md b/sample/snowflake/LINEITEM.md new file mode 100644 index 000000000..be1b5c054 --- /dev/null +++ b/sample/snowflake/LINEITEM.md @@ -0,0 +1,58 @@ +# LINEITEM + +## Description + +
+Table Definition + +```sql +create or replace TABLE LINEITEM ( + L_ORDERKEY NUMBER(38,0) NOT NULL, + L_PARTKEY NUMBER(38,0) NOT NULL, + L_SUPPKEY NUMBER(38,0) NOT NULL, + L_LINENUMBER NUMBER(38,0) NOT NULL, + L_QUANTITY NUMBER(12,2) NOT NULL, + L_EXTENDEDPRICE NUMBER(12,2) NOT NULL, + L_DISCOUNT NUMBER(12,2) NOT NULL, + L_TAX NUMBER(12,2) NOT NULL, + L_RETURNFLAG VARCHAR(1) NOT NULL, + L_LINESTATUS VARCHAR(1) NOT NULL, + L_SHIPDATE DATE NOT NULL, + L_COMMITDATE DATE NOT NULL, + L_RECEIPTDATE DATE NOT NULL, + L_SHIPINSTRUCT VARCHAR(25) NOT NULL, + L_SHIPMODE VARCHAR(10) NOT NULL, + L_COMMENT VARCHAR(44) NOT NULL +); +``` + +
+ +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| L_ORDERKEY | NUMBER | | false | | [ORDERS](ORDERS.md) | | +| L_PARTKEY | NUMBER | | false | | [PARTSUPP](PARTSUPP.md) | | +| L_SUPPKEY | NUMBER | | false | | [PARTSUPP](PARTSUPP.md) | | +| L_LINENUMBER | NUMBER | | false | | | | +| L_QUANTITY | NUMBER | | false | | | | +| L_EXTENDEDPRICE | NUMBER | | false | | | | +| L_DISCOUNT | NUMBER | | false | | | | +| L_TAX | NUMBER | | false | | | | +| L_RETURNFLAG | TEXT | | false | | | | +| L_LINESTATUS | TEXT | | false | | | | +| L_SHIPDATE | DATE | | false | | | | +| L_COMMITDATE | DATE | | false | | | | +| L_RECEIPTDATE | DATE | | false | | | | +| L_SHIPINSTRUCT | TEXT | | false | | | | +| L_SHIPMODE | TEXT | | false | | | | +| L_COMMENT | TEXT | | false | | | | + +## Relations + +![er](LINEITEM.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/LINEITEM.svg b/sample/snowflake/LINEITEM.svg new file mode 100644 index 000000000..becc396a4 --- /dev/null +++ b/sample/snowflake/LINEITEM.svg @@ -0,0 +1,145 @@ + + + + + + +LINEITEM + + + +LINEITEM + + +LINEITEM + +[BASE TABLE] + +L_ORDERKEY +[NUMBER] + +L_PARTKEY +[NUMBER] + +L_SUPPKEY +[NUMBER] + +L_LINENUMBER +[NUMBER] + +L_QUANTITY +[NUMBER] + +L_EXTENDEDPRICE +[NUMBER] + +L_DISCOUNT +[NUMBER] + +L_TAX +[NUMBER] + +L_RETURNFLAG +[TEXT] + +L_LINESTATUS +[TEXT] + +L_SHIPDATE +[DATE] + +L_COMMITDATE +[DATE] + +L_RECEIPTDATE +[DATE] + +L_SHIPINSTRUCT +[TEXT] + +L_SHIPMODE +[TEXT] + +L_COMMENT +[TEXT] + + + + +ORDERS + + +ORDERS + +[BASE TABLE] + +O_ORDERKEY +[NUMBER] + +O_CUSTKEY +[NUMBER] + +O_ORDERSTATUS +[TEXT] + +O_TOTALPRICE +[NUMBER] + +O_ORDERDATE +[DATE] + +O_ORDERPRIORITY +[TEXT] + +O_CLERK +[TEXT] + +O_SHIPPRIORITY +[NUMBER] + +O_COMMENT +[TEXT] + + + +LINEITEM:L_ORDERKEY->ORDERS:O_ORDERKEY + + +Additional Relation + + + +PARTSUPP + + +PARTSUPP + +[BASE TABLE] + +PS_PARTKEY +[NUMBER] + +PS_SUPPKEY +[NUMBER] + +PS_AVAILQTY +[NUMBER] + +PS_SUPPLYCOST +[NUMBER] + +PS_COMMENT +[TEXT] + + + +LINEITEM:L_PARTKEY->PARTSUPP:PS_PARTKEY + + +Additional Relation + + + diff --git a/sample/snowflake/NATION.md b/sample/snowflake/NATION.md new file mode 100644 index 000000000..cb0bb2dca --- /dev/null +++ b/sample/snowflake/NATION.md @@ -0,0 +1,34 @@ +# NATION + +## Description + +
+Table Definition + +```sql +create or replace TABLE NATION ( + N_NATIONKEY NUMBER(38,0) NOT NULL, + N_NAME VARCHAR(25) NOT NULL, + N_REGIONKEY NUMBER(38,0) NOT NULL, + N_COMMENT VARCHAR(152) +); +``` + +
+ +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| N_NATIONKEY | NUMBER | | false | [CUSTOMER](CUSTOMER.md) [SUPPLIER](SUPPLIER.md) | | | +| N_NAME | TEXT | | false | | | | +| N_REGIONKEY | NUMBER | | false | | [REGION](REGION.md) | | +| N_COMMENT | TEXT | | true | | | | + +## Relations + +![er](NATION.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/NATION.svg b/sample/snowflake/NATION.svg new file mode 100644 index 000000000..e0938019f --- /dev/null +++ b/sample/snowflake/NATION.svg @@ -0,0 +1,137 @@ + + + + + + +NATION + + + +NATION + + +NATION + +[BASE TABLE] + +N_NATIONKEY +[NUMBER] + +N_NAME +[TEXT] + +N_REGIONKEY +[NUMBER] + +N_COMMENT +[TEXT] + + + + +REGION + + +REGION + +[BASE TABLE] + +R_REGIONKEY +[NUMBER] + +R_NAME +[TEXT] + +R_COMMENT +[TEXT] + + + +NATION:N_REGIONKEY->REGION:R_REGIONKEY + + +Additional Relation + + + +CUSTOMER + + +CUSTOMER + +[BASE TABLE] + +C_CUSTKEY +[NUMBER] + +C_NAME +[TEXT] + +C_ADDRESS +[TEXT] + +C_NATIONKEY +[NUMBER] + +C_PHONE +[TEXT] + +C_ACCTBAL +[NUMBER] + +C_MKTSEGMENT +[TEXT] + +C_COMMENT +[TEXT] + + + +CUSTOMER:C_NATIONKEY->NATION:N_NATIONKEY + + +Additional Relation + + + +SUPPLIER + + +SUPPLIER + +[BASE TABLE] + +S_SUPPKEY +[NUMBER] + +S_NAME +[TEXT] + +S_ADDRESS +[TEXT] + +S_NATIONKEY +[NUMBER] + +S_PHONE +[TEXT] + +S_ACCTBAL +[NUMBER] + +S_COMMENT +[TEXT] + + + +SUPPLIER:S_NATIONKEY->NATION:N_NATIONKEY + + +Additional Relation + + + diff --git a/sample/snowflake/ORDERS.md b/sample/snowflake/ORDERS.md new file mode 100644 index 000000000..a96574987 --- /dev/null +++ b/sample/snowflake/ORDERS.md @@ -0,0 +1,44 @@ +# ORDERS + +## Description + +
+Table Definition + +```sql +create or replace TABLE ORDERS ( + O_ORDERKEY NUMBER(38,0) NOT NULL, + O_CUSTKEY NUMBER(38,0) NOT NULL, + O_ORDERSTATUS VARCHAR(1) NOT NULL, + O_TOTALPRICE NUMBER(12,2) NOT NULL, + O_ORDERDATE DATE NOT NULL, + O_ORDERPRIORITY VARCHAR(15) NOT NULL, + O_CLERK VARCHAR(15) NOT NULL, + O_SHIPPRIORITY NUMBER(38,0) NOT NULL, + O_COMMENT VARCHAR(79) NOT NULL +); +``` + +
+ +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| O_ORDERKEY | NUMBER | | false | [LINEITEM](LINEITEM.md) | | | +| O_CUSTKEY | NUMBER | | false | | [CUSTOMER](CUSTOMER.md) | | +| O_ORDERSTATUS | TEXT | | false | | | | +| O_TOTALPRICE | NUMBER | | false | | | | +| O_ORDERDATE | DATE | | false | | | | +| O_ORDERPRIORITY | TEXT | | false | | | | +| O_CLERK | TEXT | | false | | | | +| O_SHIPPRIORITY | NUMBER | | false | | | | +| O_COMMENT | TEXT | | false | | | | + +## Relations + +![er](ORDERS.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/ORDERS.svg b/sample/snowflake/ORDERS.svg new file mode 100644 index 000000000..1498606ac --- /dev/null +++ b/sample/snowflake/ORDERS.svg @@ -0,0 +1,154 @@ + + + + + + +ORDERS + + + +ORDERS + + +ORDERS + +[BASE TABLE] + +O_ORDERKEY +[NUMBER] + +O_CUSTKEY +[NUMBER] + +O_ORDERSTATUS +[TEXT] + +O_TOTALPRICE +[NUMBER] + +O_ORDERDATE +[DATE] + +O_ORDERPRIORITY +[TEXT] + +O_CLERK +[TEXT] + +O_SHIPPRIORITY +[NUMBER] + +O_COMMENT +[TEXT] + + + + +CUSTOMER + + +CUSTOMER + +[BASE TABLE] + +C_CUSTKEY +[NUMBER] + +C_NAME +[TEXT] + +C_ADDRESS +[TEXT] + +C_NATIONKEY +[NUMBER] + +C_PHONE +[TEXT] + +C_ACCTBAL +[NUMBER] + +C_MKTSEGMENT +[TEXT] + +C_COMMENT +[TEXT] + + + +ORDERS:O_CUSTKEY->CUSTOMER:C_CUSTKEY + + +Additional Relation + + + +LINEITEM + + +LINEITEM + +[BASE TABLE] + +L_ORDERKEY +[NUMBER] + +L_PARTKEY +[NUMBER] + +L_SUPPKEY +[NUMBER] + +L_LINENUMBER +[NUMBER] + +L_QUANTITY +[NUMBER] + +L_EXTENDEDPRICE +[NUMBER] + +L_DISCOUNT +[NUMBER] + +L_TAX +[NUMBER] + +L_RETURNFLAG +[TEXT] + +L_LINESTATUS +[TEXT] + +L_SHIPDATE +[DATE] + +L_COMMITDATE +[DATE] + +L_RECEIPTDATE +[DATE] + +L_SHIPINSTRUCT +[TEXT] + +L_SHIPMODE +[TEXT] + +L_COMMENT +[TEXT] + + + +LINEITEM:L_ORDERKEY->ORDERS:O_ORDERKEY + + +Additional Relation + + + diff --git a/sample/snowflake/PART.md b/sample/snowflake/PART.md new file mode 100644 index 000000000..45d58c501 --- /dev/null +++ b/sample/snowflake/PART.md @@ -0,0 +1,44 @@ +# PART + +## Description + +
+Table Definition + +```sql +create or replace TABLE PART ( + P_PARTKEY NUMBER(38,0) NOT NULL, + P_NAME VARCHAR(55) NOT NULL, + P_MFGR VARCHAR(25) NOT NULL, + P_BRAND VARCHAR(10) NOT NULL, + P_TYPE VARCHAR(25) NOT NULL, + P_SIZE NUMBER(38,0) NOT NULL, + P_CONTAINER VARCHAR(10) NOT NULL, + P_RETAILPRICE NUMBER(12,2) NOT NULL, + P_COMMENT VARCHAR(23) +); +``` + +
+ +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| P_PARTKEY | NUMBER | | false | [PARTSUPP](PARTSUPP.md) | | | +| P_NAME | TEXT | | false | | | | +| P_MFGR | TEXT | | false | | | | +| P_BRAND | TEXT | | false | | | | +| P_TYPE | TEXT | | false | | | | +| P_SIZE | NUMBER | | false | | | | +| P_CONTAINER | TEXT | | false | | | | +| P_RETAILPRICE | NUMBER | | false | | | | +| P_COMMENT | TEXT | | true | | | | + +## Relations + +![er](PART.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/PART.svg b/sample/snowflake/PART.svg new file mode 100644 index 000000000..760e07e2d --- /dev/null +++ b/sample/snowflake/PART.svg @@ -0,0 +1,81 @@ + + + + + + +PART + + + +PART + + +PART + +[BASE TABLE] + +P_PARTKEY +[NUMBER] + +P_NAME +[TEXT] + +P_MFGR +[TEXT] + +P_BRAND +[TEXT] + +P_TYPE +[TEXT] + +P_SIZE +[NUMBER] + +P_CONTAINER +[TEXT] + +P_RETAILPRICE +[NUMBER] + +P_COMMENT +[TEXT] + + + + +PARTSUPP + + +PARTSUPP + +[BASE TABLE] + +PS_PARTKEY +[NUMBER] + +PS_SUPPKEY +[NUMBER] + +PS_AVAILQTY +[NUMBER] + +PS_SUPPLYCOST +[NUMBER] + +PS_COMMENT +[TEXT] + + + +PARTSUPP:PS_PARTKEY->PART:P_PARTKEY + + +Additional Relation + + + diff --git a/sample/snowflake/PARTSUPP.md b/sample/snowflake/PARTSUPP.md new file mode 100644 index 000000000..3f2fbd418 --- /dev/null +++ b/sample/snowflake/PARTSUPP.md @@ -0,0 +1,36 @@ +# PARTSUPP + +## Description + +
+Table Definition + +```sql +create or replace TABLE PARTSUPP ( + PS_PARTKEY NUMBER(38,0) NOT NULL, + PS_SUPPKEY NUMBER(38,0) NOT NULL, + PS_AVAILQTY NUMBER(38,0) NOT NULL, + PS_SUPPLYCOST NUMBER(12,2) NOT NULL, + PS_COMMENT VARCHAR(199) +); +``` + +
+ +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| PS_PARTKEY | NUMBER | | false | [LINEITEM](LINEITEM.md) | [PART](PART.md) | | +| PS_SUPPKEY | NUMBER | | false | [LINEITEM](LINEITEM.md) | [SUPPLIER](SUPPLIER.md) | | +| PS_AVAILQTY | NUMBER | | false | | | | +| PS_SUPPLYCOST | NUMBER | | false | | | | +| PS_COMMENT | TEXT | | true | | | | + +## Relations + +![er](PARTSUPP.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/PARTSUPP.svg b/sample/snowflake/PARTSUPP.svg new file mode 100644 index 000000000..9fb219437 --- /dev/null +++ b/sample/snowflake/PARTSUPP.svg @@ -0,0 +1,182 @@ + + + + + + +PARTSUPP + + + +PARTSUPP + + +PARTSUPP + +[BASE TABLE] + +PS_PARTKEY +[NUMBER] + +PS_SUPPKEY +[NUMBER] + +PS_AVAILQTY +[NUMBER] + +PS_SUPPLYCOST +[NUMBER] + +PS_COMMENT +[TEXT] + + + + +PART + + +PART + +[BASE TABLE] + +P_PARTKEY +[NUMBER] + +P_NAME +[TEXT] + +P_MFGR +[TEXT] + +P_BRAND +[TEXT] + +P_TYPE +[TEXT] + +P_SIZE +[NUMBER] + +P_CONTAINER +[TEXT] + +P_RETAILPRICE +[NUMBER] + +P_COMMENT +[TEXT] + + + +PARTSUPP:PS_PARTKEY->PART:P_PARTKEY + + +Additional Relation + + + +SUPPLIER + + +SUPPLIER + +[BASE TABLE] + +S_SUPPKEY +[NUMBER] + +S_NAME +[TEXT] + +S_ADDRESS +[TEXT] + +S_NATIONKEY +[NUMBER] + +S_PHONE +[TEXT] + +S_ACCTBAL +[NUMBER] + +S_COMMENT +[TEXT] + + + +PARTSUPP:PS_SUPPKEY->SUPPLIER:S_SUPPKEY + + +Additional Relation + + + +LINEITEM + + +LINEITEM + +[BASE TABLE] + +L_ORDERKEY +[NUMBER] + +L_PARTKEY +[NUMBER] + +L_SUPPKEY +[NUMBER] + +L_LINENUMBER +[NUMBER] + +L_QUANTITY +[NUMBER] + +L_EXTENDEDPRICE +[NUMBER] + +L_DISCOUNT +[NUMBER] + +L_TAX +[NUMBER] + +L_RETURNFLAG +[TEXT] + +L_LINESTATUS +[TEXT] + +L_SHIPDATE +[DATE] + +L_COMMITDATE +[DATE] + +L_RECEIPTDATE +[DATE] + +L_SHIPINSTRUCT +[TEXT] + +L_SHIPMODE +[TEXT] + +L_COMMENT +[TEXT] + + + +LINEITEM:L_PARTKEY->PARTSUPP:PS_PARTKEY + + +Additional Relation + + + diff --git a/sample/snowflake/README.md b/sample/snowflake/README.md new file mode 100644 index 000000000..f38479f83 --- /dev/null +++ b/sample/snowflake/README.md @@ -0,0 +1,22 @@ +# TPCH_SF1 + +## Tables + +| Name | Columns | Comment | Type | +| ---- | ------- | ------- | ---- | +| [CUSTOMER](CUSTOMER.md) | 8 | | BASE TABLE | +| [LINEITEM](LINEITEM.md) | 16 | | BASE TABLE | +| [NATION](NATION.md) | 4 | | BASE TABLE | +| [ORDERS](ORDERS.md) | 9 | | BASE TABLE | +| [PART](PART.md) | 9 | | BASE TABLE | +| [PARTSUPP](PARTSUPP.md) | 5 | | BASE TABLE | +| [REGION](REGION.md) | 3 | | BASE TABLE | +| [SUPPLIER](SUPPLIER.md) | 7 | | BASE TABLE | + +## Relations + +![er](schema.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/REGION.md b/sample/snowflake/REGION.md new file mode 100644 index 000000000..e3c212870 --- /dev/null +++ b/sample/snowflake/REGION.md @@ -0,0 +1,32 @@ +# REGION + +## Description + +
+Table Definition + +```sql +create or replace TABLE REGION ( + R_REGIONKEY NUMBER(38,0) NOT NULL, + R_NAME VARCHAR(25) NOT NULL, + R_COMMENT VARCHAR(152) +); +``` + +
+ +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| R_REGIONKEY | NUMBER | | false | [NATION](NATION.md) | | | +| R_NAME | TEXT | | false | | | | +| R_COMMENT | TEXT | | true | | | | + +## Relations + +![er](REGION.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/REGION.svg b/sample/snowflake/REGION.svg new file mode 100644 index 000000000..3e5848ced --- /dev/null +++ b/sample/snowflake/REGION.svg @@ -0,0 +1,60 @@ + + + + + + +REGION + + + +REGION + + +REGION + +[BASE TABLE] + +R_REGIONKEY +[NUMBER] + +R_NAME +[TEXT] + +R_COMMENT +[TEXT] + + + + +NATION + + +NATION + +[BASE TABLE] + +N_NATIONKEY +[NUMBER] + +N_NAME +[TEXT] + +N_REGIONKEY +[NUMBER] + +N_COMMENT +[TEXT] + + + +NATION:N_REGIONKEY->REGION:R_REGIONKEY + + +Additional Relation + + + diff --git a/sample/snowflake/SUPPLIER.md b/sample/snowflake/SUPPLIER.md new file mode 100644 index 000000000..afd40c7f3 --- /dev/null +++ b/sample/snowflake/SUPPLIER.md @@ -0,0 +1,40 @@ +# SUPPLIER + +## Description + +
+Table Definition + +```sql +create or replace TABLE SUPPLIER ( + S_SUPPKEY NUMBER(38,0) NOT NULL, + S_NAME VARCHAR(25) NOT NULL, + S_ADDRESS VARCHAR(40) NOT NULL, + S_NATIONKEY NUMBER(38,0) NOT NULL, + S_PHONE VARCHAR(15) NOT NULL, + S_ACCTBAL NUMBER(12,2) NOT NULL, + S_COMMENT VARCHAR(101) +); +``` + +
+ +## Columns + +| Name | Type | Default | Nullable | Children | Parents | Comment | +| ---- | ---- | ------- | -------- | -------- | ------- | ------- | +| S_SUPPKEY | NUMBER | | false | [PARTSUPP](PARTSUPP.md) | | | +| S_NAME | TEXT | | false | | | | +| S_ADDRESS | TEXT | | false | | | | +| S_NATIONKEY | NUMBER | | false | | [NATION](NATION.md) | | +| S_PHONE | TEXT | | false | | | | +| S_ACCTBAL | NUMBER | | false | | | | +| S_COMMENT | TEXT | | true | | | | + +## Relations + +![er](SUPPLIER.svg) + +--- + +> Generated by [tbls](https://github.com/k1LoW/tbls) diff --git a/sample/snowflake/SUPPLIER.svg b/sample/snowflake/SUPPLIER.svg new file mode 100644 index 000000000..6814e6356 --- /dev/null +++ b/sample/snowflake/SUPPLIER.svg @@ -0,0 +1,103 @@ + + + + + + +SUPPLIER + + + +SUPPLIER + + +SUPPLIER + +[BASE TABLE] + +S_SUPPKEY +[NUMBER] + +S_NAME +[TEXT] + +S_ADDRESS +[TEXT] + +S_NATIONKEY +[NUMBER] + +S_PHONE +[TEXT] + +S_ACCTBAL +[NUMBER] + +S_COMMENT +[TEXT] + + + + +NATION + + +NATION + +[BASE TABLE] + +N_NATIONKEY +[NUMBER] + +N_NAME +[TEXT] + +N_REGIONKEY +[NUMBER] + +N_COMMENT +[TEXT] + + + +SUPPLIER:S_NATIONKEY->NATION:N_NATIONKEY + + +Additional Relation + + + +PARTSUPP + + +PARTSUPP + +[BASE TABLE] + +PS_PARTKEY +[NUMBER] + +PS_SUPPKEY +[NUMBER] + +PS_AVAILQTY +[NUMBER] + +PS_SUPPLYCOST +[NUMBER] + +PS_COMMENT +[TEXT] + + + +PARTSUPP:PS_SUPPKEY->SUPPLIER:S_SUPPKEY + + +Additional Relation + + + diff --git a/sample/snowflake/schema.svg b/sample/snowflake/schema.svg new file mode 100644 index 000000000..23e16dd5e --- /dev/null +++ b/sample/snowflake/schema.svg @@ -0,0 +1,324 @@ + + + + + + +TPCH_SF1 + + + +CUSTOMER + + +CUSTOMER + +[BASE TABLE] + +C_CUSTKEY +[NUMBER] + +C_NAME +[TEXT] + +C_ADDRESS +[TEXT] + +C_NATIONKEY +[NUMBER] + +C_PHONE +[TEXT] + +C_ACCTBAL +[NUMBER] + +C_MKTSEGMENT +[TEXT] + +C_COMMENT +[TEXT] + + + +NATION + + +NATION + +[BASE TABLE] + +N_NATIONKEY +[NUMBER] + +N_NAME +[TEXT] + +N_REGIONKEY +[NUMBER] + +N_COMMENT +[TEXT] + + + +CUSTOMER:C_NATIONKEY->NATION:N_NATIONKEY + + +Additional Relation + + + +LINEITEM + + +LINEITEM + +[BASE TABLE] + +L_ORDERKEY +[NUMBER] + +L_PARTKEY +[NUMBER] + +L_SUPPKEY +[NUMBER] + +L_LINENUMBER +[NUMBER] + +L_QUANTITY +[NUMBER] + +L_EXTENDEDPRICE +[NUMBER] + +L_DISCOUNT +[NUMBER] + +L_TAX +[NUMBER] + +L_RETURNFLAG +[TEXT] + +L_LINESTATUS +[TEXT] + +L_SHIPDATE +[DATE] + +L_COMMITDATE +[DATE] + +L_RECEIPTDATE +[DATE] + +L_SHIPINSTRUCT +[TEXT] + +L_SHIPMODE +[TEXT] + +L_COMMENT +[TEXT] + + + +ORDERS + + +ORDERS + +[BASE TABLE] + +O_ORDERKEY +[NUMBER] + +O_CUSTKEY +[NUMBER] + +O_ORDERSTATUS +[TEXT] + +O_TOTALPRICE +[NUMBER] + +O_ORDERDATE +[DATE] + +O_ORDERPRIORITY +[TEXT] + +O_CLERK +[TEXT] + +O_SHIPPRIORITY +[NUMBER] + +O_COMMENT +[TEXT] + + + +LINEITEM:L_ORDERKEY->ORDERS:O_ORDERKEY + + +Additional Relation + + + +PARTSUPP + + +PARTSUPP + +[BASE TABLE] + +PS_PARTKEY +[NUMBER] + +PS_SUPPKEY +[NUMBER] + +PS_AVAILQTY +[NUMBER] + +PS_SUPPLYCOST +[NUMBER] + +PS_COMMENT +[TEXT] + + + +LINEITEM:L_PARTKEY->PARTSUPP:PS_PARTKEY + + +Additional Relation + + + +REGION + + +REGION + +[BASE TABLE] + +R_REGIONKEY +[NUMBER] + +R_NAME +[TEXT] + +R_COMMENT +[TEXT] + + + +NATION:N_REGIONKEY->REGION:R_REGIONKEY + + +Additional Relation + + + +ORDERS:O_CUSTKEY->CUSTOMER:C_CUSTKEY + + +Additional Relation + + + +PART + + +PART + +[BASE TABLE] + +P_PARTKEY +[NUMBER] + +P_NAME +[TEXT] + +P_MFGR +[TEXT] + +P_BRAND +[TEXT] + +P_TYPE +[TEXT] + +P_SIZE +[NUMBER] + +P_CONTAINER +[TEXT] + +P_RETAILPRICE +[NUMBER] + +P_COMMENT +[TEXT] + + + +PARTSUPP:PS_PARTKEY->PART:P_PARTKEY + + +Additional Relation + + + +SUPPLIER + + +SUPPLIER + +[BASE TABLE] + +S_SUPPKEY +[NUMBER] + +S_NAME +[TEXT] + +S_ADDRESS +[TEXT] + +S_NATIONKEY +[NUMBER] + +S_PHONE +[TEXT] + +S_ACCTBAL +[NUMBER] + +S_COMMENT +[TEXT] + + + +PARTSUPP:PS_SUPPKEY->SUPPLIER:S_SUPPKEY + + +Additional Relation + + + +SUPPLIER:S_NATIONKEY->NATION:N_NATIONKEY + + +Additional Relation + + + diff --git a/testdata/snowflake_tpch_sf1.sql b/testdata/snowflake_tpch_sf1.sql new file mode 100644 index 000000000..ef80860c2 --- /dev/null +++ b/testdata/snowflake_tpch_sf1.sql @@ -0,0 +1,88 @@ +-- ref: https://docs.snowflake.com/en/user-guide/sample-data-tpch.html#database-entities-relationships-and-characteristics +CREATE OR REPLACE SCHEMA TPCH_SF1; +USE SCHEMA TPCH_SF1; + +CREATE OR REPLACE TABLE CUSTOMER ( + C_CUSTKEY NUMBER(38,0) NOT NULL + , C_NAME VARCHAR(25) NOT NULL + , C_ADDRESS VARCHAR(40) NOT NULL + , C_NATIONKEY NUMBER(38,0) NOT NULL + , C_PHONE VARCHAR(15) NOT NULL + , C_ACCTBAL NUMBER(12,2) NOT NULL + , C_MKTSEGMENT VARCHAR(10) + , C_COMMENT VARCHAR(117) +); + +CREATE OR REPLACE TABLE LINEITEM ( + L_ORDERKEY NUMBER(38,0) NOT NULL + , L_PARTKEY NUMBER(38,0) NOT NULL + , L_SUPPKEY NUMBER(38,0) NOT NULL + , L_LINENUMBER NUMBER(38,0) NOT NULL + , L_QUANTITY NUMBER(12,2) NOT NULL + , L_EXTENDEDPRICE NUMBER(12,2) NOT NULL + , L_DISCOUNT NUMBER(12,2) NOT NULL + , L_TAX NUMBER(12,2) NOT NULL + , L_RETURNFLAG VARCHAR(1) NOT NULL + , L_LINESTATUS VARCHAR(1) NOT NULL + , L_SHIPDATE DATE NOT NULL + , L_COMMITDATE DATE NOT NULL + , L_RECEIPTDATE DATE NOT NULL + , L_SHIPINSTRUCT VARCHAR(25) NOT NULL + , L_SHIPMODE VARCHAR(10) NOT NULL + , L_COMMENT VARCHAR(44) NOT NULL +); + +CREATE OR REPLACE TABLE NATION ( + N_NATIONKEY NUMBER(38,0) NOT NULL + , N_NAME VARCHAR(25) NOT NULL + , N_REGIONKEY NUMBER(38,0) NOT NULL + , N_COMMENT VARCHAR(152) +); + +CREATE OR REPLACE TABLE ORDERS ( + O_ORDERKEY NUMBER(38,0) NOT NULL + , O_CUSTKEY NUMBER(38,0) NOT NULL + , O_ORDERSTATUS VARCHAR(1) NOT NULL + , O_TOTALPRICE NUMBER(12,2) NOT NULL + , O_ORDERDATE DATE NOT NULL + , O_ORDERPRIORITY VARCHAR(15) NOT NULL + , O_CLERK VARCHAR(15) NOT NULL + , O_SHIPPRIORITY NUMBER(38,0) NOT NULL + , O_COMMENT VARCHAR(79) NOT NULL +); + +CREATE OR REPLACE TABLE PART ( + P_PARTKEY NUMBER(38,0) NOT NULL + , P_NAME VARCHAR(55) NOT NULL + , P_MFGR VARCHAR(25) NOT NULL + , P_BRAND VARCHAR(10) NOT NULL + , P_TYPE VARCHAR(25) NOT NULL + , P_SIZE NUMBER(38,0) NOT NULL + , P_CONTAINER VARCHAR(10) NOT NULL + , P_RETAILPRICE NUMBER(12,2) NOT NULL + , P_COMMENT VARCHAR(23) +); + +CREATE OR REPLACE TABLE PARTSUPP ( + PS_PARTKEY NUMBER(38,0) NOT NULL + , PS_SUPPKEY NUMBER(38,0) NOT NULL + , PS_AVAILQTY NUMBER(38,0) NOT NULL + , PS_SUPPLYCOST NUMBER(12,2) NOT NULL + , PS_COMMENT VARCHAR(199) +); + +CREATE OR REPLACE TABLE REGION ( + R_REGIONKEY NUMBER(38,0) NOT NULL + , R_NAME VARCHAR(25) NOT NULL + , R_COMMENT VARCHAR(152) +); + +CREATE OR REPLACE TABLE SUPPLIER ( + S_SUPPKEY NUMBER(38,0) NOT NULL + , S_NAME VARCHAR(25) NOT NULL + , S_ADDRESS VARCHAR(40) NOT NULL + , S_NATIONKEY NUMBER(38,0) NOT NULL + , S_PHONE VARCHAR(15) NOT NULL + , S_ACCTBAL NUMBER(12,2) NOT NULL + , S_COMMENT VARCHAR(101) +); diff --git a/testdata/snowflake_tpch_sf1.yml b/testdata/snowflake_tpch_sf1.yml new file mode 100644 index 000000000..26e20e635 --- /dev/null +++ b/testdata/snowflake_tpch_sf1.yml @@ -0,0 +1,60 @@ +docPath: sample/snowflake +relations: + - + table: CUSTOMER + columns: + - C_NATIONKEY + parentTable: NATION + parentColumns: + - N_NATIONKEY + - + table: LINEITEM + columns: + - L_PARTKEY + - L_SUPPKEY + parentTable: PARTSUPP + parentColumns: + - PS_PARTKEY + - PS_SUPPKEY + - + table: LINEITEM + columns: + - L_ORDERKEY + parentTable: ORDERS + parentColumns: + - O_ORDERKEY + - + table: NATION + columns: + - N_REGIONKEY + parentTable: REGION + parentColumns: + - R_REGIONKEY + - + table: ORDERS + columns: + - O_CUSTKEY + parentTable: CUSTOMER + parentColumns: + - C_CUSTKEY + - + table: PARTSUPP + columns: + - PS_PARTKEY + parentTable: PART + parentColumns: + - P_PARTKEY + - + table: PARTSUPP + columns: + - PS_SUPPKEY + parentTable: SUPPLIER + parentColumns: + - S_SUPPKEY + - + table: SUPPLIER + columns: + - S_NATIONKEY + parentTable: NATION + parentColumns: + - N_NATIONKEY