CN114003231B - 一种sql语法解析树优化方法及系统 - Google Patents
一种sql语法解析树优化方法及系统 Download PDFInfo
- Publication number
- CN114003231B CN114003231B CN202111146292.6A CN202111146292A CN114003231B CN 114003231 B CN114003231 B CN 114003231B CN 202111146292 A CN202111146292 A CN 202111146292A CN 114003231 B CN114003231 B CN 114003231B
- Authority
- CN
- China
- Prior art keywords
- node
- sql
- field
- ast
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种SQL语法解析树优化方法及系统,该系统包括:输入模块,用于输入单段SQL语句;语法解析器,用于解析单段SQL语句,得到AST语法解析树;提取模块,用于遍历AST语法解析树,将AST语法解析树与元数据库进行匹配,提取AST语法解析树中节点的信息;扩展模块,用于根据信息扩展AST语法解析树;形变模块,用于按照制定的约束条件,将AST语法解析树进行变形,得到形变后的AST语法解析树;保存模块,用于保存形变后的AST语法解析树。本发明补充完整SQL语法解析树,获得标准化SQL结构,可以获得原始SQL中无法获得的信息。
Description
技术领域
本发明涉及大数据智能化技术领域,特别是一种SQL语法解析树优化方法及系统。
背景技术
SQL语言应用于各行各业,发挥着巨大的作用。相对于其他编程语言,SQL语言的语法结构非常简单,但是随着使用场景的复杂化,其最终表达形态也千变万化。SQL代码系统内部无法进行标识,其存储形式基本局限于文本,只能用于简单检索,无法进行结构化、继承使用、知识性学习以及向下传播。
所有的数据库都会对提交的SQL代码进行解析,其目的是获取存储在数据库对应的数据。SQL代码本身也是一种源数据,其包含的知识点(业务口径、对应表和字段、限制条件、关联关系等)却无法有效得到提取跟继承应用。
虽然目前市场上也有一些开源的SQL解析方案(采用ANTI等架构),可以实现SQL的解析并提取一些简单的信息(对应表和字段、限制条件),但是原始的SQL语法解析树存在不容易遍历使用,格式不统一,字段关系不明确等较多弊端,影响后续应用。
发明内容
本发明为解决上述问题,提供了一种SQL语法解析树优化方法及系统,补充完整SQL语法解析树,获得标准化SQL结构,可以获得原始SQL中无法获得的信息。
为实现上述目的,本发明采用的技术方案为:
一种SQL语法解析树优化系统,包括:输入模块,用于输入单段SQL语句;语法解析器,用于解析所述单段SQL语句,得到AST语法解析树;提取模块,用于遍历所述AST语法解析树,将所述AST语法解析树与元数据库进行匹配,提取所述AST语法解析树中节点的信息;扩展模块,用于根据所述信息扩展所述AST语法解析树;形变模块,用于按照制定的约束条件,将所述AST语法解析树进行变形,得到形变后的AST语法解析树;保存模块,用于保存所述形变后的AST语法解析树。
优选的,所述输入模块还用于输入多段SQL语句或SQL脚本,以及将所述多段SQL语句或所述SQL脚本分割为多个所述单段SQL语句。
优选的,进行树的后序遍历。
优选的,所述信息包括表中文名、表别名、字段中文名、字段类型以及表的归属关系。
优选的,扩展和变形所述AST语法解析树的方法包括:针对节点属性为表的节点,扩充所述节点的第一子节点,所述第一子节点的节点属性为表中文名,值为该表对应中文名;针对节点属性为字段的节点,扩充所述节点的第二子节点,所述第二子节点的节点属性为字段中文名,值为该字段对应中文名;针对节点属性为字段的节点,扩充所述节点的第三子节点,所述第三子节点的节点属性为字段类型,值为该字段对应字段类型;针对节点属性为表的节点,如果没有节点属性为表别名的兄弟节点,扩展所述节点的第一兄弟节点,所述第一兄弟节点的节点属性为表别名,值为该表对应别名;针对节点属性为字段的节点,如果没有节点属性为字段别名的兄弟节点,扩展所述节点的第二兄弟节点,所述第二兄弟节点的节点属性为字段别名,值为该字段对应别名;针对节点属性为字段的节点,如果没有节点属性为归属表别名的兄弟节点,扩展所述节点的第三兄弟节点,所述第三兄弟节点的节点属性为归属表别名,值为该字段归属的表对应别名。
优选的,当所述单段SQL语句包括至少一个层次的子查询时,将每个层次的节点属性为子查询的节点作为节点属性为表的节点。
优选的,所述保存模块按照制定的XPATH规则,将所述形变后的AST语法解析树按照XML格式进行封装并保存到数据库二维表中。
优选的,所述保存模块将所述单段SQL语句保存在所述数据库二维表中的一行的XML里,所述保存模块将所述多段SQL语句或所述SQL脚本根据分割成的多个所述单段SQL语句分开保存到多行的XML里。
优选的,所述系统还包括访问模块,用于使用所述XPATH规则访问所述数据库二维表,获得业务信息。
基于同样的发明构思,本发明还提供了一种SQL语法解析树优化方法,包括以下步骤:输入单段SQL语句;解析所述单段SQL语句,得到AST语法解析树;遍历所述AST语法解析树,将所述AST语法解析树与元数据库进行匹配,提取所述AST语法解析树每个层次中节点属性为库、表、字段的节点的信息;根据所述信息扩展所述AST语法解析树;按照制定的约束条件,将所述AST语法解析树进行变形,得到形变后的AST语法解析树;保存所述形变后的AST语法解析树。
本发明的有益效果是:
1.补充完整SQL语法解析树,获得标准化SQL结构,可以获得原始SQL中无法获得的信息;
2.将子查询建立的临时表视为数据库表扩展AST语法解析树,避免有效的业务信息在向上传递的过程中丢失;
3.使用XPATH规则存储形变后的AST语法解析树,可以快速访问XML获得需要的业务信息,方便后续应用。
附图说明
图1为一种原始AST语法解析树的示例图;
图2为一种形变后的AST语法解析树的示例图;
图3为一种用于存储形变后的AST语法解析树的XML格式的大字段的示意图;
图4为一种SQL语法解析树优化方法流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合具体实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
SQL是一门ANSI的标准计算机结构化查询语言,用来访问和操作各类数据库系统。SQL代码包含了丰富的业务信息,但是由于SQL代码的复杂性,SQL语言需要经过解析才能够让计算机进行识别,解析结果跟数据库高度绑定,在过去无法对这些业务信息进行有效的提取和使用。目前一些开源框架比如ANTLR4进行SQL解析的结果是一棵AST抽象语法树,虽然可以获取部分业务信息,但是由于是脱离数据库,存在信息丢失、使用不便等较大缺陷。
实施例一
本实施例公开了一种基于ANTLR4解析SQL后的AST抽象语法树优化系统,对SQL语句或SQL脚本进行解析,并扩展可能用到的各类信息到结构体中,然后根据规范对结构体进行变形,采用XML格式保存到数据库中,以方便后续查询和应用。
本实施例所述的系统包括:
输入模块,用于输入单段SQL语句、多段SQL语句或SQL脚本,以及将多段SQL语句或SQL脚本分割为多个单段SQL语句。
由于ANTLR4解析器识别的是单段的SQL语句,如果输入的是多段的SQL语句或者完整的SQL脚本(包含多段SQL语句和一些控制性语法),需要使用标准分割符“;”对输入进行分割,识别其中每一个单段的SQL语句,并按SQL序号分别传递给解析器。
ANTLR4解析器,用于解析单段SQL语句,得到AST语法解析树,参照附图1。
提取模块,用于遍历AST语法解析树,将AST语法解析树与数据库的元数据库进行匹配,提取元数据库中对应AST树中节点的信息。即结合数据库对AST树的各个根/叶子节点进行量化,该信息具体为每个层次中节点属性为库、表、字段的节点的值。在数据库中,一个字段仅能属于特定的一张表,一个表仅能属于特定的一个库,但是根据AST树中无法获得这个归属信息。在本实施例中,通过元数据库的匹配,就可以获得完整的SQL中每个层次使用的库、表、字段信息,例如用于下一步骤扩展AST树中进行补充的表中文名、字段中文名、字段类型等。
后序遍历(LRD)是二叉树遍历的一种,在二叉树中,先左后右再根,即首先遍历左子树,然后遍历右子树,最后访问根结点。在本实施例中,针对量化后的解析树,使用AC算法进行树的后序遍历,可以更快地完成遍历,而且获得的数据层次清晰。
扩展模块,用于根据提取的信息扩展AST语法解析树。
扩展AST树的方法,以及下一步骤变形AST树的方法包括:
针对节点属性为表的节点,扩充节点的第一子节点,第一子节点的节点属性为表中文名,值为该表对应中文名。
针对节点属性为字段的节点,扩充节点的第二子节点,第二子节点的节点属性为字段中文名,值为该字段对应中文名。
针对节点属性为字段的节点,扩充节点的第三子节点,第三子节点的节点属性为字段类型,值为该字段对应字段类型。
针对节点属性为表的节点,如果没有节点属性为表别名的兄弟节点,扩展节点的第一兄弟节点,第一兄弟节点的节点属性为表别名,值为该表对应别名。如果已有这个兄弟节点,不额外扩展,直接复用。
针对节点属性为字段的节点,如果没有节点属性为字段别名的兄弟节点,扩展节点的第二兄弟节点,第二兄弟节点的节点属性为字段别名,值为该字段对应别名。如果已有这个兄弟节点,不额外扩展,直接复用。
针对节点属性为字段的节点,如果没有节点属性为归属表别名的兄弟节点,扩展节点的第三兄弟节点,第三兄弟节点的节点属性为归属表别名,值为该字段归属的表对应别名。如果已有这个兄弟节点,不额外扩展,直接复用。
在本实施例中,到底是扩展兄弟节点还是子节点主要看需要。子节点用于补充属性,比如字段中文名、字段类型、表中文名,这些信息不属于AST树的整体框架。兄弟节点主要是保证AST树的结构一致性。
形变模块,用于按照制定的约束条件,将AST语法解析树进行变形,得到形变后的AST语法解析树,参照附图2。
为了后续结构体的方便使用,制定语法规则以保证AST树能够在语法规则约束下进行形变。
该语法规则包括:
规则1:所有的表必须有表别名。
规则2:所有的数据库源表必须有表中文名(除非其来源对应的数据库源表无中文注释,则扩充的第一子节点的值为空)。
规则3:子查询作为一种特殊的表,必须有表别名,但是可以没有表中文名。
规则4:所有的字段必须有字段别名。
规则5:所有的字段必须有字段类型。
规则6:所有的字段必须有字段中文名(除非其来源对应的数据库源字段无中文注释)。
规则7:所有的字段必须有归属的表别名,该表别名跟规则1保持一致。
规则8:子查询作为一种特殊的表,满足规则4、5、6、7。
规则9:所有类型为数据库、表、字段的值,设置为小写。
规则10:所有类型为关键字的值,设置为大写。
在本实施例中,扩展模块实现所有树叶节点信息补充,形变模块实现整个树结构按照设定的完整形态进行扩充。
通过扩展模块,我们得到底层SQL扩展后的AST抽象语法树。由于SQL代码经常包含子查询,子查询是根据底层SQL形成的一个临时表,但是其在元数据库中并没有有效登记,无法获得表名、字段名等信息,会导致有效的业务信息在向上传递的过程中丢失。
为了解决这个问题,当单段SQL语句包括至少一个层次的子查询时,将每个层次的节点属性为子查询的节点作为节点属性为表的节点。
扩展和变形AST语法解析树的方法还包括以下步骤:
S1.针对第一层次子查询,虚拟建立一张临时表,该临时表集成子查询的所有字段、字段中文名(步骤S2扩展得到)和字段类型(步骤S2扩展得到)。
S2.将步骤S1建立的临时表视为数据库表,对AST树进行扩展/变形。
S3.针对往上层次的所有子查询,递归执行步骤S1和S2,最终会获得一个经过扩充和形变后,符合语法规则的AST树。
保存模块,用于保存形变后的AST语法解析树。
将单段SQL语句变形为形变后的AST语法解析树的操作流程需要进行多次遍历,已达到不同的目的,包括:遍历第一次寻找需要与元数据库进行匹配的信息,第二次进行信息扩展,第三次进行AST树的变形,第四次进行保存。这个就是语法解析树存在的技术缺陷,也是我们为何使用XPATH语法保存的原因。
由于SQL解析树存在于内存中(JAVA类),无法有效存储,遍历比较困难,属性提取不直观,并不适宜后续应用。在本实施例中,根据所有SQL结构,建立一个用于存储SQL解析树的结构(SQL知识库结构),该结构具备可二维化存储、有灵活的遍历方式、可重新还原成SQL、可快速提取相关信息等能力,后续方便使用,并设计一个可以使用XPATH语法进行遍历的大字段,参照附图3,用于存储该结构。
在本实施例中,保存模块按照制定的XPATH规则,将形变后的AST树按照XML格式进行封装并保存到数据库二维表中。
该规则跟形变后的AST树严格对应,主要属性类型包括:
root根节点、ddlStatementddl语句、dmlStatementdml语句、SimpleSelect简单查询语句、QuerySpecification查询描述、SelectElements查询元素列表、FullColumnName字段、FullColumnCnName字段中文名、FullColumnType字段类型、FromClause from语句块、TableSources库名、TableSourceBase表来源、AtomTableItem原子表、TableName表名、TableCnName表中文名、FullId完整Id、Uid唯一Id、SimpleId简单Id、OuterJoin外连接、TNode终结符、SubqueryTableItem子查询表、ComparisonOperator比较运算符、PredicateExpression判别表达式、BinaryComparasionPredicate二元比较判别、ExpressionAtomPredicate原子表达式判别、ConstantExpressionAtom常量表达式判别、Constant常量、DecimalLiteral数字等。
保存模块将单段SQL语句保存在数据库二维表中的一行的XML里。
保存模块将多段SQL语句或SQL脚本根据SQL序号,将分割成的多个单段SQL语句分开保存到多行的XML里。
访问模块,用于使用XPATH规则访问数据库二维表,获得业务信息。
访问模块可以使用XPATH语法根据需要访问XML,获得业务信息,进行后续包括SQL信息提取、SQL自动注释、SQL格式规范化、SQL智能推荐、SQL相似性判定等应用。举例如下:
1.获取SQL语句或SQL脚本中使用到的表(调度血缘关系):提取所有的TableSourceBaseTableName节点并且去重(原始AST树可以获得)。
2.获取SQL语句或SQL脚本中使用到的字段(影响性分析):提取所有的TableSourceBase.TableName.FullColumnName节点并且去重(原始AST树无法获得,必须经过扩充后才能够判定)。
3.提取SQL语句或SQL脚本中使用到的关联关系(主外键关系):提取ComparisonOperator值为=,并且等式左右两边的TableSourceBase.TableName.FullColumnName归属于不同的表(原始AST树无法获得,必须经过扩充后才能够判定)。
4.提取表常用限制条件:提取ComparisonOperator值为=,并且等式左右分别是TableSourceBase.TableName.FullColumnName跟Constant(原始AST语法解析树无法获得,必须经过扩充后才能够判定)。
本实施例所述的系统补充完整SQL语法解析树,获得标准化SQL结构,从而可以获得原生SQL中无法获得的信息,包括但不局限于表中文名、字段中文名、字段归属的表(可以是嵌套结构)、表别名(可以对隐性表进性扩充)。
本实施例所述的系统可以实现所有的SQL代码(口径)的二维化存储,并且存储的SQL代码是经过扩充优化过,可以实现快速查找、关联查找、信息提取、SQL还原等多种功能。
本实施例所述的系统可以整合所有的脚本、个人写的SQL在统一平台上,支撑扩展应用和后续业务口径的梳理。
实施例二
参照附图4,本实施例公开了一种基于ANTLR4解析SQL后的AST抽象语法树优化方法,包括以下步骤:
S1.输入SQL语句或者SQL脚本。
其中,如果输入的是多段SQL语句或者完整的SQL脚本,需要根据标准分割符“;”将输入分割为多个单段SQL语句,并对单段SQL语句进行标序号,以便依次进行解析。
S2.解析单段SQL语句,得到AST语法解析树。
S3.遍历AST语法解析树,将AST语法解析树与元数据库进行匹配,提取AST语法解析树中节点的信息。
后序遍历AST树,与数据库的元数据库进行匹配,利用语法正确性原则,基于确定的归属情况下,我们就可以获得整个AST树里面的信息,包括表中文名、字段中文名、字段类型,同时也可以标注出表别名信息,用于后面的步骤。
S4.根据信息扩展AST语法解析树。
扩展步骤就是对AST树最底层节点进行信息补充,具体为根据需要扩展子节点或兄弟节点。其中,新增兄弟节点可能会导致原节点的下移,带一个父节点用于牵头。
S5.按照制定的约束条件,将AST语法解析树进行变形,得到形变后的AST语法解析树。
变形就是根据预定的AST树的完整结构,新增缺失节点。外层的结构需要在里层的结构进行信息扩充后才能进行信息扩充。
其中,如果SQL结构中包含包括至少一个层次的子查询时,将每个层次的节点属性为子查询的节点作为节点属性为表的节点,进行扩展和变形步骤。
S6.保存形变后的AST语法解析树。
制定与形变后的AST树严格对应的XPATH规则,按照该规则,将形变后的AST树按照XML格式进行保存。
S7.使用XPATH语法根据需要访问XML获得业务信息。
上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (9)
1.一种SQL语法解析树优化系统,其特征在于,包括:
输入模块,用于输入单段SQL语句;
语法解析器,用于解析所述单段SQL语句,得到AST语法解析树;
提取模块,用于遍历所述AST语法解析树,将所述AST语法解析树与元数据库进行匹配,提取所述AST语法解析树中节点的信息;
扩展模块,用于根据所述信息扩展所述AST语法解析树;
形变模块,用于按照制定的约束条件,将所述AST语法解析树进行变形,得到形变后的AST语法解析树;
扩展和变形所述AST语法解析树的方法包括:
针对节点属性为表的节点,扩充所述节点的第一子节点,所述第一子节点的节点属性为表中文名,值为该表对应中文名;
针对节点属性为字段的节点,扩充所述节点的第二子节点,所述第二子节点的节点属性为字段中文名,值为该字段对应中文名;
针对节点属性为字段的节点,扩充所述节点的第三子节点,所述第三子节点的节点属性为字段类型,值为该字段对应字段类型;
针对节点属性为表的节点,如果没有节点属性为表别名的兄弟节点,扩展所述节点的第一兄弟节点,所述第一兄弟节点的节点属性为表别名,值为该表对应别名;
针对节点属性为字段的节点,如果没有节点属性为字段别名的兄弟节点,扩展所述节点的第二兄弟节点,所述第二兄弟节点的节点属性为字段别名,值为该字段对应别名;
针对节点属性为字段的节点,如果没有节点属性为归属表别名的兄弟节点,扩展所述节点的第三兄弟节点,所述第三兄弟节点的节点属性为归属表别名,值为该字段归属的表对应别名;
保存模块,用于保存所述形变后的AST语法解析树。
2.根据权利要求1所述的SQL语法解析树优化系统,其特征在于,所述输入模块还用于输入多段SQL语句或SQL脚本,以及将所述多段SQL语句或所述SQL脚本分割为多个所述单段SQL语句。
3.根据权利要求2所述的SQL语法解析树优化系统,其特征在于,所述保存模块按照制定的XPATH规则,将所述形变后的AST语法解析树按照XML格式进行封装并保存到数据库二维表中。
4.根据权利要求3所述的SQL语法解析树优化系统,其特征在于,所述保存模块将所述单段SQL语句保存在所述数据库二维表中的一行的XML里,所述保存模块将所述多段SQL语句或所述SQL脚本根据分割成的多个所述单段SQL语句分开保存到多行的XML里。
5.根据权利要求4所述的SQL语法解析树优化系统,其特征在于,还包括访问模块,用于使用所述XPATH规则访问所述数据库二维表,获得业务信息。
6.根据权利要求1所述的SQL语法解析树优化系统,其特征在于,进行树的后序遍历。
7.根据权利要求1所述的SQL语法解析树优化系统,其特征在于,所述信息包括表中文名、表别名、字段中文名、字段类型以及表的归属关系。
8.根据权利要求1所述的SQL语法解析树优化系统,其特征在于,当所述单段SQL语句包括至少一个层次的子查询时,将每个层次的节点属性为子查询的节点作为节点属性为表的节点。
9.一种SQL语法解析树优化方法,其特征在于,包括以下步骤:
输入单段SQL语句;
解析所述单段SQL语句,得到AST语法解析树;
遍历所述AST语法解析树,将所述AST语法解析树与元数据库进行匹配,提取所述AST语法解析树中节点的信息;
根据所述信息扩展所述AST语法解析树;
按照制定的约束条件,将所述AST语法解析树进行变形,得到形变后的AST语法解析树;
扩展和变形所述AST语法解析树的方法包括:针对节点属性为表的节点,扩充所述节点的第一子节点,所述第一子节点的节点属性为表中文名,值为该表对应中文名;针对节点属性为字段的节点,扩充所述节点的第二子节点,所述第二子节点的节点属性为字段中文名,值为该字段对应中文名;针对节点属性为字段的节点,扩充所述节点的第三子节点,所述第三子节点的节点属性为字段类型,值为该字段对应字段类型;针对节点属性为表的节点,如果没有节点属性为表别名的兄弟节点,扩展所述节点的第一兄弟节点,所述第一兄弟节点的节点属性为表别名,值为该表对应别名;针对节点属性为字段的节点,如果没有节点属性为字段别名的兄弟节点,扩展所述节点的第二兄弟节点,所述第二兄弟节点的节点属性为字段别名,值为该字段对应别名;针对节点属性为字段的节点,如果没有节点属性为归属表别名的兄弟节点,扩展所述节点的第三兄弟节点,所述第三兄弟节点的节点属性为归属表别名,值为该字段归属的表对应别名;
保存所述形变后的AST语法解析树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146292.6A CN114003231B (zh) | 2021-09-28 | 2021-09-28 | 一种sql语法解析树优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146292.6A CN114003231B (zh) | 2021-09-28 | 2021-09-28 | 一种sql语法解析树优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114003231A CN114003231A (zh) | 2022-02-01 |
CN114003231B true CN114003231B (zh) | 2022-07-26 |
Family
ID=79921922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111146292.6A Active CN114003231B (zh) | 2021-09-28 | 2021-09-28 | 一种sql语法解析树优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003231B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080599B (zh) * | 2022-07-25 | 2022-11-25 | 成都烽顺科技有限公司 | 一种数据库查询sql字段血缘关系生成方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254581A (zh) * | 2021-05-25 | 2021-08-13 | 深圳市图灵机器人有限公司 | 一种基于神经语义解析的金融文本公式抽取方法及装置 |
CN113434533A (zh) * | 2021-07-22 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种数据溯源工具构建方法、数据处理方法、装置及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762969B2 (en) * | 2008-08-07 | 2014-06-24 | Microsoft Corporation | Immutable parsing |
CN105912595B (zh) * | 2016-04-01 | 2019-03-05 | 华南理工大学 | 一种关系数据库的数据起源收集方法 |
CN110032575A (zh) * | 2019-04-15 | 2019-07-19 | 网易(杭州)网络有限公司 | 数据查询方法、装置、设备和存储介质 |
CN111125758A (zh) * | 2019-12-19 | 2020-05-08 | 北京安华金和科技有限公司 | 一种基于全语法树解析的动态脱敏方法 |
CN111400338B (zh) * | 2020-03-04 | 2022-11-22 | 深圳平安医疗健康科技服务有限公司 | Sql优化方法、装置、存储介质及计算机设备 |
-
2021
- 2021-09-28 CN CN202111146292.6A patent/CN114003231B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254581A (zh) * | 2021-05-25 | 2021-08-13 | 深圳市图灵机器人有限公司 | 一种基于神经语义解析的金融文本公式抽取方法及装置 |
CN113434533A (zh) * | 2021-07-22 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种数据溯源工具构建方法、数据处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114003231A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11550783B2 (en) | One-shot learning for text-to-SQL | |
US6611843B1 (en) | Specification of sub-elements and attributes in an XML sub-tree and method for extracting data values therefrom | |
CN106202207B (zh) | 一种基于HBase-ORM的索引及检索系统 | |
US6889223B2 (en) | Apparatus, method, and program for retrieving structured documents | |
US9471711B2 (en) | Schema-less access to stored data | |
US20090024384A1 (en) | Data processing method and system, program for realizing the method, and computer readable storage medium storing the program | |
US20240012810A1 (en) | Clause-wise text-to-sql generation | |
US20070143321A1 (en) | Converting recursive hierarchical data to relational data | |
CN109840256B (zh) | 一种基于业务实体的查询实现方法 | |
US20090106286A1 (en) | Method of Hybrid Searching for Extensible Markup Language (XML) Documents | |
Sacks-Davis et al. | Atlas: A nested relational database system for text applications | |
Thao et al. | Using versioned tree data structure, change detection and node identity for three-way xml merging | |
JP2006053724A (ja) | Xmlデータ管理方法 | |
CN114003231B (zh) | 一种sql语法解析树优化方法及系统 | |
CN111475534B (zh) | 一种数据查询方法及相关设备 | |
CN113704575A (zh) | 解析XML与Java文件的SQL方法、装置、设备及存储介质 | |
CN113032371A (zh) | 数据库语法分析方法、装置和计算机设备 | |
CN110717014B (zh) | 一种本体知识库动态构建方法 | |
Nassiri et al. | Integrating xml and relational data | |
Yuan et al. | A survey on mapping semi-structured data and graph data to relational data | |
Li et al. | Extraction and integration information in HTML tables | |
CN114003230B (zh) | 一种sql脚本快速编写方法及系统 | |
JP2002297601A (ja) | 構造化文書管理方法および構造化文書管理装置およびプログラム | |
Saeedan et al. | dsJSON: A Distributed SQL JSON Processor | |
KR20040000194A (ko) | 문서구조정보 추출방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |