diff --git "a/data/1.PostgreSQL\345\210\235\351\230\266/1.PostgreSQL\345\237\272\346\234\254\346\246\202\345\277\265/1.\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223/config.json" "b/data/1.PostgreSQL\345\210\235\351\230\266/1.PostgreSQL\345\237\272\346\234\254\346\246\202\345\277\265/1.\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223/config.json" index 1adb8f25712fe80d894a44383775fb7fa73c6127..b46c7768a21fb8f60e953300be60f5c243beeeab 100644 --- "a/data/1.PostgreSQL\345\210\235\351\230\266/1.PostgreSQL\345\237\272\346\234\254\346\246\202\345\277\265/1.\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223/config.json" +++ "b/data/1.PostgreSQL\345\210\235\351\230\266/1.PostgreSQL\345\237\272\346\234\254\346\246\202\345\277\265/1.\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-11d131b2d01b40be90b23f096d4852cc", - "keywords": [], + "keywords": ["关系型数据库", "database", "relational", "rdbms"], "children": [], "export": [ "relation.json" diff --git "a/data/1.PostgreSQL\345\210\235\351\230\266/1.PostgreSQL\345\237\272\346\234\254\346\246\202\345\277\265/2.\346\234\215\345\212\241\345\231\250\345\222\214\345\256\242\346\210\267\347\253\257/config.json" "b/data/1.PostgreSQL\345\210\235\351\230\266/1.PostgreSQL\345\237\272\346\234\254\346\246\202\345\277\265/2.\346\234\215\345\212\241\345\231\250\345\222\214\345\256\242\346\210\267\347\253\257/config.json" index eab48c0c719aa0f7e27240f96dbce92c215c13d1..36319a174b3dd87b5678fd81932269c39a828406 100644 --- "a/data/1.PostgreSQL\345\210\235\351\230\266/1.PostgreSQL\345\237\272\346\234\254\346\246\202\345\277\265/2.\346\234\215\345\212\241\345\231\250\345\222\214\345\256\242\346\210\267\347\253\257/config.json" +++ "b/data/1.PostgreSQL\345\210\235\351\230\266/1.PostgreSQL\345\237\272\346\234\254\346\246\202\345\277\265/2.\346\234\215\345\212\241\345\231\250\345\222\214\345\256\242\346\210\267\347\253\257/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-cf0e5cb243a247e2a0b812c5798cdba4", - "keywords": [], + "keywords": ["server", "client", "数据库服务器", "数据库客户端"], "children": [], "export": [ "client.json", diff --git "a/data/1.PostgreSQL\345\210\235\351\230\266/2.PostgreSQL\347\232\204\345\256\211\350\243\205/1.\345\256\211\350\243\205PostgreSQL/config.json" "b/data/1.PostgreSQL\345\210\235\351\230\266/2.PostgreSQL\347\232\204\345\256\211\350\243\205/1.\345\256\211\350\243\205PostgreSQL/config.json" index b061382c4e6b72b014c26118bc27bbef0246b9e6..67326b7bc290bba932782170b5ab37e2c7c02b7e 100644 --- "a/data/1.PostgreSQL\345\210\235\351\230\266/2.PostgreSQL\347\232\204\345\256\211\350\243\205/1.\345\256\211\350\243\205PostgreSQL/config.json" +++ "b/data/1.PostgreSQL\345\210\235\351\230\266/2.PostgreSQL\347\232\204\345\256\211\350\243\205/1.\345\256\211\350\243\205PostgreSQL/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-940afa6d71af44f689011ded8fd91a98", - "keywords": [], + "keywords": ["安装", "PostgreSQL"], "children": [], "export": ["install.json"] } \ No newline at end of file diff --git "a/data/1.PostgreSQL\345\210\235\351\230\266/3.\346\237\245\350\257\242\346\225\260\346\215\256/1.psql/config.json" "b/data/1.PostgreSQL\345\210\235\351\230\266/3.\346\237\245\350\257\242\346\225\260\346\215\256/1.psql/config.json" index 2c65872cfbc052b78871c95aba62d8a818f9ed32..be7c5593eed85ee59240c215d2a2f9602cdb3a17 100644 --- "a/data/1.PostgreSQL\345\210\235\351\230\266/3.\346\237\245\350\257\242\346\225\260\346\215\256/1.psql/config.json" +++ "b/data/1.PostgreSQL\345\210\235\351\230\266/3.\346\237\245\350\257\242\346\225\260\346\215\256/1.psql/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-ee5c6d4a073b45a7995ba351ab9de46e", - "keywords": [], + "keywords": ["sql", "psql", " 数据库客户端"], "children": [], "export": ["psql.json"] } \ No newline at end of file diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/1.\350\241\250/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/1.\350\241\250/config.json" index 42f84d153f1322586311896b1ebf41433a0d4ace..3a9bde7229c3cabc9b4ac8515ba7e4dd4641388e 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/1.\350\241\250/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/1.\350\241\250/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-806d3976e8764d4f8e26c197c53d45a8", - "keywords": [], + "keywords": ["表", "table"], "children": [], "export": [ "table.json", diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/2.\345\207\275\346\225\260/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/2.\345\207\275\346\225\260/config.json" index 46ce3b63ca02c426f78e8fe7a59d363bd4378d1e..ea86307423878abb92af62942076cc1b80466bdb 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/2.\345\207\275\346\225\260/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/2.\345\207\275\346\225\260/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-f371b91ef63a4ce08f80b92bc8580196", - "keywords": [], + "keywords": ["函数", "function"], "children": [], "export": ["function.json"] } \ No newline at end of file diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/3.\347\224\250\346\210\267\345\222\214\346\235\203\351\231\220/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/3.\347\224\250\346\210\267\345\222\214\346\235\203\351\231\220/config.json" index e4497eb76243cb59821f3fc44430b0ce9a1ac978..71fc0222f3f26a7b007485e80e36909c7666fcdc 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/3.\347\224\250\346\210\267\345\222\214\346\235\203\351\231\220/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/3.\347\224\250\346\210\267\345\222\214\346\235\203\351\231\220/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-cb942198b3a84d5398d73d558a241543", - "keywords": [], + "keywords": ["role", "login", "user", "用户", "角色", "权限", "privilege"], "children": [], "export": [ "grant.json", diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/5. \350\247\246\345\217\221\345\231\250/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/5. \350\247\246\345\217\221\345\231\250/config.json" index eb14148e6ff06fc205b6daec1c3e5e0ddda98ffd..b721e35cfc7702e09f5edd23f76daf87773b93e4 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/5. \350\247\246\345\217\221\345\231\250/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/5. \350\247\246\345\217\221\345\231\250/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-a0cb78d68d814f5e935b41922b88e085", - "keywords": [], + "keywords": ["trigger", "触发器"], "children": [], "export": ["trigger.json"] } \ No newline at end of file diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/6.\346\225\260\346\215\256\345\272\223\346\211\251\345\261\225/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/6.\346\225\260\346\215\256\345\272\223\346\211\251\345\261\225/config.json" index 24870547d11360580f1531445a0536467de1d995..fb9d9e325f740a96fd609edacecde0adc781d4fb 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/6.\346\225\260\346\215\256\345\272\223\346\211\251\345\261\225/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/1.PostgreSQL\346\225\260\346\215\256\345\272\223\347\232\204\345\237\272\346\234\254\347\273\223\346\236\204/6.\346\225\260\346\215\256\345\272\223\346\211\251\345\261\225/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-d2b6e840cfad44a2aa357cfee56d437d", - "keywords": [], + "keywords": ["数据库扩展", "数据库插件", "extension"], "children": [], "export": [] } \ No newline at end of file diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/1.\350\201\232\345\220\210\345\222\214\345\210\206\347\273\204/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/1.\350\201\232\345\220\210\345\222\214\345\210\206\347\273\204/config.json" index c97338d7fc4aeaa61991643e72b8d8484484800b..7d7c5861d26c74d5aa385ac6fc74b3e860ebea83 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/1.\350\201\232\345\220\210\345\222\214\345\210\206\347\273\204/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/1.\350\201\232\345\220\210\345\222\214\345\210\206\347\273\204/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-3a87b0dbead643e58f1ff1d93acd80cc", - "keywords": [], + "keywords": ["group by", "分组"], "children": [], "export": [] } \ No newline at end of file diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/2.\350\277\236\346\216\245\346\237\245\350\257\242/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/2.\350\277\236\346\216\245\346\237\245\350\257\242/config.json" index 588d7c5e9adda450a4196736532563dfffb5c311..26d2258e02364b4fec81e91f82f5459755a52964 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/2.\350\277\236\346\216\245\346\237\245\350\257\242/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/2.\350\277\236\346\216\245\346\237\245\350\257\242/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-458d5d590ea64188847b45d8e6343f83", - "keywords": [], + "keywords": ["join", "连接查询"], "children": [], "export": [] } \ No newline at end of file diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/3.\345\255\220\346\237\245\350\257\242/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/3.\345\255\220\346\237\245\350\257\242/config.json" index 959ec192407aa7bed5579d5c137d1b92ad62f1c4..36d21f9b28543c1bfe34890fda8ef1ad8273d699 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/3.\345\255\220\346\237\245\350\257\242/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/3.\345\255\220\346\237\245\350\257\242/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-55fd213f919d411c9b572241c4bb7807", - "keywords": [], + "keywords": ["子查询", "subquery"], "children": [], "export": [ "subquery.json" diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/4.\345\210\206\351\241\265\346\237\245\350\257\242/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/4.\345\210\206\351\241\265\346\237\245\350\257\242/config.json" index 42ce499f78ee2e8074f8869b7a4f02fcddb5981b..cabd5053f7b210e9f8c1960cd9a1fe86662a13ec 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/4.\345\210\206\351\241\265\346\237\245\350\257\242/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/4.\345\210\206\351\241\265\346\237\245\350\257\242/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-69d3a1c646004e1da497fed2af57806c", - "keywords": [], + "keywords": ["分页", "limit", "offset"], "children": [], "export": ["paged.json"] } \ No newline at end of file diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/5.CTE/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/5.CTE/config.json" index cd6241f420f7d55a7f1673676208da36f953d0ce..146c831e3d56a84a9dcf0d2765175fedc5f5f888 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/5.CTE/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/5.CTE/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-6beb084543204f4f9d87930c0a6c5707", - "keywords": [], + "keywords": ["common table expression", "cte", "recursive"], "children": [], "export": [] } \ No newline at end of file diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/6.\350\277\207\347\250\213\345\214\226\347\274\226\347\250\213/config.json" "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/6.\350\277\207\347\250\213\345\214\226\347\274\226\347\250\213/config.json" index 4158705eeb68bc8d607426b67357aa6e503ae6e1..9d34d6569d6dea0d9266cf31a9f6467b92941f33 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/6.\350\277\207\347\250\213\345\214\226\347\274\226\347\250\213/config.json" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/6.\350\277\207\347\250\213\345\214\226\347\274\226\347\250\213/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-eb4048b7dfd3469f8049330ba78427b5", - "keywords": [], + "keywords": ["plsql", "过程化"], "children": [], "export": ["loop.json"] } \ No newline at end of file diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/1.standby/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/1.standby/config.json" index 2ab941ee9865967257ce1859ef66d22e6642add8..f01b95aba1d214d90d31e0fbe45849479fa86afa 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/1.standby/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/1.standby/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-58e924e93b564a24abb1e6b9cdfbc094", - "keywords": [], + "keywords": ["standby", "热备份", "高可用", "流复制"], "children": [], "export": [ "standby.json", diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/2.\346\265\201\345\274\217\345\244\215\345\210\266\351\233\206\347\276\244/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/2.\346\265\201\345\274\217\345\244\215\345\210\266\351\233\206\347\276\244/config.json" index 8409fd8b73f529a69995af1e34260194bde1b7cb..2878da85ae2e4b15bcf5937f236c1224a7392029 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/2.\346\265\201\345\274\217\345\244\215\345\210\266\351\233\206\347\276\244/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/2.\346\265\201\345\274\217\345\244\215\345\210\266\351\233\206\347\276\244/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-7eff3dcf68644c23bd89f2a2abe4fac6", - "keywords": [], + "keywords": ["standby", "高可用", "流复制", "wal"], "children": [], "export": ["stream.json"] } \ No newline at end of file diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/3.fdw/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/3.fdw/config.json" index 721dc5475beecde3e97934bc82e626b0297f58a2..688ad40557c4e3884ef42ba6580d36330a9eb7fb 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/3.fdw/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/1.\351\233\206\347\276\244\345\222\214\345\244\215\345\210\266/3.fdw/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-20a433f6ae65429f9b1a7f17c751ac01", - "keywords": [], + "keywords": ["外部数据连接", "fdw"], "children": [], "export": [] } \ No newline at end of file diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/2.JSON\345\222\214JSONB/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/2.JSON\345\222\214JSONB/config.json" index ebadb10305bed44fa03b469644ba0986a85b4444..d74682a72743f78e6bc7c741a48005789609c0c1 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/2.JSON\345\222\214JSONB/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/2.JSON\345\222\214JSONB/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-69ad784e39c044d7a115cfd124e49ef1", - "keywords": [], + "keywords": ["json", "jsonb"], "children": [], "export": [ "json.json", diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/3.\345\207\275\346\225\260/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/3.\345\207\275\346\225\260/config.json" index 10f37a252028facc2e3d6b87ea125e7e7a40ff7c..35896dd9c126b1685fc872584f662883c6cbac2e 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/3.\345\207\275\346\225\260/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/3.\345\207\275\346\225\260/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-6dbbb44b41d347b58075a9155dfb8356", - "keywords": [], + "keywords": ["函数", "过程", "function", "produce"], "children": [], "export": ["distinct.json"] } \ No newline at end of file diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/4.\350\247\206\345\233\276/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/4.\350\247\206\345\233\276/config.json" index 81fdce1174d03322c72747d5ff19b2a2008461eb..dc8f8152b276d0e3d25e3d467b934ffc8ec23b71 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/4.\350\247\206\345\233\276/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/4.\350\247\206\345\233\276/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-532f8f84ea74493a9581e6bf720ebf78", - "keywords": [], + "keywords": ["视图", "view"], "children": [], "export": ["view.json"] } \ No newline at end of file diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/1.\351\200\222\345\275\222\346\237\245\350\257\242/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/1.\351\200\222\345\275\222\346\237\245\350\257\242/config.json" index 8ad994ffda2b8ed215d60c97c3f5582ebef53702..83ced6bd0ee11fa38f2e6ca64ec3fd5ba8111e0c 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/1.\351\200\222\345\275\222\346\237\245\350\257\242/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/1.\351\200\222\345\275\222\346\237\245\350\257\242/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-2e691ed3a847424eb887b40aca750c4e", - "keywords": [], + "keywords": ["cte", "递归查询", "recursive"], "children": [], "export": [ "continuous.json" diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/2.Window Function/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/2.Window Function/config.json" index 75459d930a0008dc141a1252a5fb3577d0168fd6..0196a1b86aac1eae8bde6a1e47d8e4402545c5b2 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/2.Window Function/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/2.Window Function/config.json" @@ -1,5 +1,5 @@ { - "keywords": [], + "keywords": ["函数", "function"], "children": [], "node_id": "pg-cab66a558cda467eabd9587b5a8257bd", "export": [ diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/3.\351\200\217\350\247\206\350\241\250 /config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/3.\351\200\217\350\247\206\350\241\250 /config.json" index 43c0829ca558c3b2a4eabb51ef5ab2fe2e86454b..acbeffe99eaab2d80af1469a23686c4a43b80412 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/3.\351\200\217\350\247\206\350\241\250 /config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/3.\351\200\217\350\247\206\350\241\250 /config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-693a81467f444886a199bac681f238b8", - "keywords": [], + "keywords": ["透视表", "交叉透视表", "pivot"], "children": [], "export": ["pivot.json"] } \ No newline at end of file diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/4.\345\206\231\345\205\245\345\222\214\345\206\262\347\252\201/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/4.\345\206\231\345\205\245\345\222\214\345\206\262\347\252\201/config.json" index 520ac1b170906f7de687a0f355c41e8f77eb2391..6cecb803fe46f7d3ab761cafb461c0246aa70cac 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/4.\345\206\231\345\205\245\345\222\214\345\206\262\347\252\201/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/4.\345\206\231\345\205\245\345\222\214\345\206\262\347\252\201/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-6ce3520f7a67494a90378e7b194f8720", - "keywords": [], + "keywords": ["conflict", "冲突", "唯一约束"], "children": [], "export": ["score.json"] } \ No newline at end of file diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/5.\344\272\213\345\212\241/config.json" "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/5.\344\272\213\345\212\241/config.json" index 387e0e361251c7c07eeb1458c77147385dbee5e0..5ae99ebf2538840d7e6fcc2b2568ec17dceb0102 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/5.\344\272\213\345\212\241/config.json" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/5.\344\272\213\345\212\241/config.json" @@ -1,6 +1,6 @@ { "node_id": "pg-2d547e778fc4453b84feb0a0c6341348", - "keywords": [], + "keywords": ["事务", "transaction"], "children": [], "export": ["transaction.json"] } \ No newline at end of file diff --git a/data/tree.json b/data/tree.json index 4a619826e5d2b8b07695b3abeb7098e79d44d29b..4d5fd99dad3b416c6d58cbbf9303171d38e35630 100644 --- a/data/tree.json +++ b/data/tree.json @@ -16,14 +16,24 @@ { "关系型数据库": { "node_id": "pg-11d131b2d01b40be90b23f096d4852cc", - "keywords": [], + "keywords": [ + "关系型数据库", + "database", + "relational", + "rdbms" + ], "children": [] } }, { "服务器和客户端": { "node_id": "pg-cf0e5cb243a247e2a0b812c5798cdba4", - "keywords": [], + "keywords": [ + "server", + "client", + "数据库服务器", + "数据库客户端" + ], "children": [] } } @@ -38,7 +48,10 @@ { "安装PostgreSQL": { "node_id": "pg-940afa6d71af44f689011ded8fd91a98", - "keywords": [], + "keywords": [ + "安装", + "PostgreSQL" + ], "children": [] } }, @@ -74,7 +87,11 @@ { "psql": { "node_id": "pg-ee5c6d4a073b45a7995ba351ab9de46e", - "keywords": [], + "keywords": [ + "sql", + "psql", + " 数据库客户端" + ], "children": [] } }, @@ -119,42 +136,68 @@ { "表": { "node_id": "pg-806d3976e8764d4f8e26c197c53d45a8", - "keywords": [], + "keywords": [ + "表", + "table" + ], "children": [] } }, { "函数": { "node_id": "pg-f371b91ef63a4ce08f80b92bc8580196", - "keywords": [], + "keywords": [ + "函数", + "function" + ], "children": [] } }, { "用户和权限": { "node_id": "pg-cb942198b3a84d5398d73d558a241543", - "keywords": [], + "keywords": [ + "role", + "login", + "user", + "用户", + "角色", + "权限", + "privilege" + ], "children": [] } }, { "索引和约束": { "node_id": "pg-eeb777ca54434480a06bfe7fc5e7d3ca", - "keywords": [], + "keywords": [ + "索引", + " 约束", + "constraints", + "index" + ], "children": [] } }, { " 触发器": { "node_id": "pg-a0cb78d68d814f5e935b41922b88e085", - "keywords": [], + "keywords": [ + "trigger", + "触发器" + ], "children": [] } }, { "数据库扩展": { "node_id": "pg-d2b6e840cfad44a2aa357cfee56d437d", - "keywords": [], + "keywords": [ + "数据库扩展", + "数据库插件", + "extension" + ], "children": [] } } @@ -169,42 +212,62 @@ { "聚合和分组": { "node_id": "pg-3a87b0dbead643e58f1ff1d93acd80cc", - "keywords": [], + "keywords": [ + "group by", + "分组" + ], "children": [] } }, { "连接查询": { "node_id": "pg-458d5d590ea64188847b45d8e6343f83", - "keywords": [], + "keywords": [ + "join", + "连接查询" + ], "children": [] } }, { "子查询": { "node_id": "pg-55fd213f919d411c9b572241c4bb7807", - "keywords": [], + "keywords": [ + "子查询", + "subquery" + ], "children": [] } }, { "分页查询": { "node_id": "pg-69d3a1c646004e1da497fed2af57806c", - "keywords": [], + "keywords": [ + "分页", + "limit", + "offset" + ], "children": [] } }, { "CTE": { "node_id": "pg-6beb084543204f4f9d87930c0a6c5707", - "keywords": [], + "keywords": [ + "common table expression", + "cte", + "recursive" + ], "children": [] } }, { "过程化编程": { "node_id": "pg-eb4048b7dfd3469f8049330ba78427b5", - "keywords": [], + "keywords": [ + "plsql", + "过程化" + ], "children": [] } }, @@ -238,21 +301,34 @@ { "standby": { "node_id": "pg-58e924e93b564a24abb1e6b9cdfbc094", - "keywords": [], + "keywords": [ + "standby", + "热备份", + "高可用", + "流复制" + ], "children": [] } }, { "流式复制集群": { "node_id": "pg-7eff3dcf68644c23bd89f2a2abe4fac6", - "keywords": [], + "keywords": [ + "standby", + "高可用", + "流复制", + "wal" + ], "children": [] } }, { "fdw": { "node_id": "pg-20a433f6ae65429f9b1a7f17c751ac01", - "keywords": [], + "keywords": [ + "外部数据连接", + "fdw" + ], "children": [] } } @@ -277,21 +353,32 @@ { "JSON和JSONB": { "node_id": "pg-69ad784e39c044d7a115cfd124e49ef1", - "keywords": [], + "keywords": [ + "json", + "jsonb" + ], "children": [] } }, { "函数": { "node_id": "pg-6dbbb44b41d347b58075a9155dfb8356", - "keywords": [], + "keywords": [ + "函数", + "过程", + "function", + "produce" + ], "children": [] } }, { "视图": { "node_id": "pg-532f8f84ea74493a9581e6bf720ebf78", - "keywords": [], + "keywords": [ + "视图", + "view" + ], "children": [] } } @@ -306,42 +393,65 @@ { "递归查询": { "node_id": "pg-2e691ed3a847424eb887b40aca750c4e", - "keywords": [], + "keywords": [ + "cte", + "递归查询", + "recursive" + ], "children": [] } }, { "Window Function": { "node_id": "pg-cab66a558cda467eabd9587b5a8257bd", - "keywords": [], + "keywords": [ + "函数", + "function" + ], "children": [] } }, { "透视表 ": { "node_id": "pg-693a81467f444886a199bac681f238b8", - "keywords": [], + "keywords": [ + "透视表", + "交叉透视表", + "pivot" + ], "children": [] } }, { "写入和冲突": { "node_id": "pg-6ce3520f7a67494a90378e7b194f8720", - "keywords": [], + "keywords": [ + "conflict", + "冲突", + "唯一约束" + ], "children": [] } }, { "事务": { "node_id": "pg-2d547e778fc4453b84feb0a0c6341348", - "keywords": [], + "keywords": [ + "事务", + "transaction" + ], "children": [] } }, { "索引和优化": { "node_id": "pg-79fe660f35f4469481db38509343c2b7", - "keywords": [], + "keywords": [ + "索引", + "index", + "performance", + "优化" + ], "children": [] } } diff --git a/src/tree.py b/src/tree.py index 692eff50aef8ea6a8dc683401930b5369f5ffef3..91d03cb86db125acd4578689f0f08ffd33fbccfc 100644 --- a/src/tree.py +++ b/src/tree.py @@ -101,6 +101,7 @@ class TreeWalker: section_title = list(section_node.keys())[0] full_path = os.path.join(chapter_path, f"{index + 1}.{section_title}") if os.path.isdir(full_path): + self.check_section_keywords(full_path) self.ensure_exercises(full_path) tree_path = os.path.join(self.root, "tree.json") @@ -309,3 +310,9 @@ class TreeWalker: dump_json(full_name, exercise, True, True) else: id_set.add(exercise["exercise_id"]) + + def check_section_keywords(self, full_path): + config = self.ensure_section_config(full_path) + if not config.get("keywords", []): + self.logger.error(f"节点 [{full_path}] 的关键字为空,请修改配置文件写入关键字") + sys.exit(1)