CN102402615A - 一种基于结构化查询语言语句的源信息追踪方法 - Google Patents

一种基于结构化查询语言语句的源信息追踪方法 Download PDF

Info

Publication number
CN102402615A
CN102402615A CN201110434707XA CN201110434707A CN102402615A CN 102402615 A CN102402615 A CN 102402615A CN 201110434707X A CN201110434707X A CN 201110434707XA CN 201110434707 A CN201110434707 A CN 201110434707A CN 102402615 A CN102402615 A CN 102402615A
Authority
CN
China
Prior art keywords
sql statement
sql
source information
statement
field
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.)
Granted
Application number
CN201110434707XA
Other languages
English (en)
Other versions
CN102402615B (zh
Inventor
黄少滨
朴秀峰
申林山
毛瑞雪
刘国峰
刘建华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN 201110434707 priority Critical patent/CN102402615B/zh
Publication of CN102402615A publication Critical patent/CN102402615A/zh
Application granted granted Critical
Publication of CN102402615B publication Critical patent/CN102402615B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于结构化查询语言语句的源信息追踪方法。首先将SQL语句按其不同的结构进行分类,之后对不同类型的SQL语句进行逆向处理,在得到源信息后将源信息进行存储,并在源信息上再次执行原SQL语句,与之前得到的结果集进行对比,得出结论。该源信息查询方法已经通过实际数据进行了验证,验证结果证明该方法与其他数据血缘方法相比,可以在原有SQL的基础上,直接对SQL语句进行处理,将其有效的转化成源信息查询语句,并成功查找到对应的源信息。本发明提供的数据追踪方法适用于关系数据库中源信息的查询,可应用在各领域中对源信息进行的查询和存储。

Description

一种基于结构化查询语言语句的源信息追踪方法
技术领域
本发明涉及的是一种源信息的追踪方法。
背景技术
近些年来,数据的规模、范围不断扩大,数据形式日趋多样化。对数进行清洗和中间处理的过程被传统的数据集成方法所忽略,而集成后的目标数据成为它的关注的重点。然而由于中间数据集合在质量、结构、层次、来源上各不相同,为了达到评价数据质量及正确性的目的,分析中间数的产生和深化的过程显得十分重要。整体来说,理解及管理数据源信息的必要性几乎在科学应用的每个领域都有所提升。在许多情况下,关于数据出处的信息构成了证实科学应用所产生的结果的正确与否的依据,科学结果源信息的相关知识与科学结果本身同样的重要。
高明,金澈清等人在2010年3月份的计算机学报上发表的文章“数据世系管理技术研究综述”中提到了目前国内外使用的多种源信息查询方法,这些方法主要应用的是数据血缘技术,该技术的实现有多种方法,如辅助数据库方法,模式映射方法,注释法等,但在这多种方法中没有根据具体的SQL(Structured Query Language——结构化查询语言)语句来对源信息进行查询的技术。
发明内容
本发明的目的在于提供一种适用于关系数据库中源信息的查询,可应用在各领域中对源信息进行的查询和存储的基于结构化查询语言语句的源信息追踪方法。
本发明的目的是这样实现的:
首先将SQL语句按其不同的结构进行分类,之后对不同类型的SQL语句进行逆向处理,在得到源信息后将源信息进行存储,并在源信息上再次执行原SQL语句,与之前得到的结果集进行对比,得出结论。
本发明的具体实现步骤包括:
步骤1对SQL语句进行分类
1.1扫描SQL语句,根据其关键字将SQL语句内容存储到SQL语句结构表中;
1.2获取from及where字段值,并进行判断;
1.3如果from字段中不包括in或“(”或“,”字样或符号,且where字段中不包括>、<、=比较运算符及exists谓词,且join及on的字段值为空,则为简单类型SQL语句,执行步骤2;
1.4如果字段不包括in或“(”字样或符号,但包括“,”,或join及on的字段值不为空,且where字段中不包括>、<、=比较运算符及exists谓词,则为含多表操作的简单SQL语句,则执行步骤3;
1.5如果字段包括in或“(”字样或符号,或where字段中包括>、<、=比较运算符或exists谓词,则为嵌套含子查询的SQL语句,则执行步骤4;
步骤2简单类型SQL语句S1的逆向处理:
2.1输入:SQL语句S1;
2.2输出:S1的逆向SQL;
2.3扫描SQL语句,对结构进行存储;
2.4根据对SQL语句的扫描,得到FROM后的表名;
2.5如果语句中含有ORDER BY从句,则分析expression i是否含有TOP选项,其中1≤i≤n;如不含有TOP选项,则将ORDER BY从句忽略,转向2.7;如含有TOP选项,则获取相应字段,转向2.6;
2.6获取GROUP BY字段中的值,如果值为空,则转向2.7,如不为空,对GROUP BY字段中的expression i作为连接条件,写成嵌套形式的SQL,嵌套SQL语句的内部为原SQL语句除SELECT外的所有字段,SELECT字段为SELECT expression i;
2.7从SQL语句结构表中提取SQL语句的WHERE字段的属性值;
2.8将2.2、2.3、2.4或2.5中获得的各字段转换为相应的SQL语言,并与SELECT字段拼接形成SQL语句;
步骤3:含多表操作的简单SQL语句S2逆向处理
输入:SQL语句S2,
输出:S2的逆向SQL;
3.1获取FROM后及JOIN后的表名;
3.2分别对各个表进行源数据的查询,将WHERE后或ON后的与多表相关的匹配条件改写为逆向SQL中的嵌套SQL形式;
3.3判断WHERE后是否有对单表进行筛选的条件,如果有,则在对在筛选条件中出现的具体表进行源信息查询时,将筛选条件添加到WHERE筛选条件中;
3.4如果WHERE中的筛选条件含有对多个表的不同属性进行的计算,则对相关表进行逆向获取原数据时在子查询内要用JOIN…ON…进行关联运算,将需要进行多表计算的筛选条件加入;
3.5如果语句中含有ORDER BY从句,则分析expression i是否含有TOP选项,其中1≤i≤n,如不含有TOP选项,则在逆向处理时将ORDER BY从句忽略,如含有TOP选项,则获取字段;
3.6将3.3、3.4、3.5步骤所得多个字段改为SQL语言形式,并与SELECT字段进行拼接,形成逆向SQL语句;
步骤4嵌套含子查询的SQL语句S3逆向方法
输入:SQL语句S3,
输出:S3的逆向SQL;
4.1扫描SQL语句,将SQL语句分层,并存储层次结构;
4.2根据对SQL语句的扫描,得到FROM后或WHERE后的嵌套SQL语句的需要进行源信息查询的表名;
4.3由内而外,依次分析每层SQL语句的表名是否在外层SQL中出现,若不出现,且中间表的信息不在筛选条件中出现,则在层次内对表进行源信息的处理。如果层为简单的单表执行的SQL语句,则用步骤2进行处理;若层为多表执行的简单SQL语句,则用步骤3进行处理;
4.4从内而外,为最内层SQL语句建立一个视图,将视图作为中间表,代替原SQL语句中的中间表部分,依次对当前层SQL语句进行4.3的处理,直到SQL语句变为简单的无嵌套查询的形式;
4.5由于用中间视图代替中间表名,在对具体表进行逆向处理时,SQL语句中已经不存在表名,在表所在层次的SQL语句中找到表与层中间表之间的关系,将这个连接条件作为层视图和表之间的连接条件;
4.6分析4.4所得到的SQL语句的WHERE后的筛选条件,当含有中间表与实体表之间通过属性值相等而进行连接的筛选条件时,由于是对具体表进行属性查询,不能对中间表进行连接操作,因此将筛选条件改为嵌套子查询的形式,并在子查询内对4.4得到的中间视图进行连接;
4.7对WHERE后其他的筛选条件进行判断,在对筛选条件中出现的具体表进行源信息查询时,将与表对应的筛选条件加到WHERE筛选条件中;
4.8将得到的嵌套子查询,WHERE语句相关信息与SELECT语句进行拼接,得到逆向SQL语句。
本发明提供了一种基于SQL语句的数据追踪方法。将已有SQL语句,根据其不同的结构将其转换为源信息查询语句。根据该数据追踪方法的特点,主要包括两部分:
1.根据SQL语句结构,给出分类方法。
2.针对不同类型的SQL语句,分别给出不同的源信息查询方法。
本发明的分类方法将SQL语句分为以下三类:
1)简单类型SQL语句:该类型的SQL语句只对单表进行查询,不涉及表的连接操作及嵌套子查询;
2)含多表操作的简单SQL语句:该类型的SQL语句含多表操作,但不涉及嵌套子查询;
3)含嵌套子查询的SQL语句。
源信息查询方法包括:
1)简单类型SQL语句数据追踪方法;
2)含多表操作的简单SQL语句数据追踪方法;
3)含嵌套子查询的SQL语句数据追踪方法。
为了验证方法的正确性,需要对通过以上算法得到源信息进行验证,因此需要将源信息进行存储。
将源信息存储后需要验证逆向SQL的正确性,需要在追踪出的源信息上再次执行原SQL语句,得到的结果与原结果进行对比,如果结果集相同则验证通过,主要分为初步验证和抽样验证。
由上所述,对于一个具体的SQL语句,将其转化为源信息查询语句(逆向SQL语句)的过程是:
1)根据分类算法,将该SQL语句归类;
2)根据不同类型SQL语句的逆向算法,对该SQL进行逆向处理;
3)执行步骤2得到的源信息查询语句,对查找到的源信息进行存储;
4)正确性验证。
本发明提供的数据追踪方法适用于关系数据库中源信息的查询,可应用在各领域中对源信息进行的查询和存储。该数据追踪方法主要是在原SQL(Structured Query Language——结构化查询语言)语句的基础上对其进行更改,利用原SQL语句的检索条件对其执行结果在相应表中的源信息进行查询。首先将SQL语句进行分类,针对不同复杂程度的SQL语句提出不同的方法对其源数据进行查询。对不同复杂程度的SQL语句进行分析,并针对SQL语句的复杂程度,给出了不同的源信息查询算法,同时将存储源信息的表结构与原始表的表结构进行对比,确定源信息的存储结构,建立源信息表,将源信息存储于源信息表中。最后提出了在源数据库上用抽样验证的方法对该数据追踪方法的正确性进行验证的方法,并得出验证结果。
附图说明
图1本发明的基本结构;
图2技术路线;
图3SQL语句验证过程;
图4SQL语句结构表。
具体实施方式
下面结合附图举例对本发明做更详细地描述:
(1)主要处理过程
图1为问题的具体定义,本发明的主要内容是在原SQL语句的基础上对其进行更改,利用原SQL语句的筛选条件对其执行结果在相应表中的源信息进行查询。在原数据上执行SQL语句得到一个结果集,而这个结果集可能只是原数据的一部分在SQL语句的作用下产生的,为了找到这一部分原数据,需要对原SQL语句进行更改,使其能够追踪到结果集的源信息,而这部分源信息应与产生结果集的那部分原数据相等。
图2为技术路线,其中左侧框内为对原SQL语句进行处理的部分,右侧框内为对处理后的SQL语句进行验证的部分。整体过程如下:首先将SQL语句按其不同的结构进行分类,之后对不同类型的SQL语句进行逆向处理,在得到源信息后将源信息进行存储,并在源信息上再次执行原SQL语句,与之前得到的结果集进行对比,得出结论。
图3为逆向SQL语句的验证过程,首先将执行逆向SQL产生的结果存入新源信息表中,之后随机抽取执行原SQL语句得到的若干条记录记为A,然后在源信息中找到该记录A在所有表中对应的源信息,并针对每个相关表分别建立视图,最后在新建立的视图上执行更改后的SQL语句,得到结果A′,分别比对A与A中相应的数据,如果A中每条数据都能与A′中的相关数据对应,则抽样验证通过。
(2)具体算法
图4为将SQL按其保留字进行存储表,通过对SQL语句结构的存储,对其所属类别进行判断,根据其所属种类,对不同类型的SQL语句进行分别的逆向处理,具体算法如下:
算法1SQL语句分类算法
1)扫描该SQL语句,根据其关键字将该SQL语句内容存储到SQL语句结构表中。
2)获取from及where字段值,并对它们进行判断。
3)如果from字段中不包括in或“(”或“,”等字样或符号,且where字段中不包括>、<、=等比较运算符及exists谓词,且join及on的字段值为空,则该语句属于简单类型SQL语句,转身算法2.
4)如果该字段不包括in或“(”等字样或符号,但包括“,”,或join及on的字段值不为空,且where字段中不包括>、<、=等比较运算符及exists谓词,则该SQL语句属于简单含多表类别,则转向算法3。
5)如果该字段包括in或“(”等字样或符号,或where字段中包括>、<、=等比较运算符或exists谓词,则该SQL语句属于含子查询的SQL语句,则转身算法4。
算法2简单SQL语句逆向算法
对一个简单的SQL语句S1,结构如下:
Figure BDA0000123638880000061
该SQL语句只涉及到单表查询,想要找到该查询结果在table1表中的所有源信息,只需要将SELECT后的字段改为SELECT table1.*即可,WHERE后的筛选条件保持不变,主要算法:
算法2:简单SQL语句逆向算法
1)输入:SQL语句S1
2)输出:S1的逆向SQL
3)扫描SQL语句,对其结构进行存储。
4)根据对SQL语句的扫描,得到FROM后的表名。
5)如果语句中含有ORDER BY从句,则分析expression i(1≤i≤n)是否含有TOP选项,如不含有TOP选项,则在逆向处理时可将ORDERBY从句忽略,以节省时间,转向步骤7。如含有TOP选项,则获取相应字段,转向步骤6。
6)获取GROUP BY字段中的值,如果值为空,则转向步骤7,如不为空,对GROUP BY字段中的expression i,将其作为连接条件,写成嵌套形式的SQL,嵌套SQL语句的内部为原SQL语句除SELECT外的所有字段,SELECT字段为SELECT expression i。
7)从SQL语句结构表中提取该SQL语句的WHERE字段的属性值。
8)将2、3、4(或5)步骤中获得的各字段转换为相应的SQL语言,并与SELECT字段拼接形成SQL语句。
算法3含多表操作的SQL语句逆向算法
含多表的SQL语句主要有两种表达形式:(1)多个表的关联关系在WHERE语句中。(2)多个表的关联关系通过JOIN…ON…语句实现。在对这种SQL语句进行逆向时要将逆向SQL改为嵌套语句的形式,如下面的SQL语句s2:
Figure BDA0000123638880000071
在对其中一个表进行源数据查询时,将WHERE或ON后的匹配条件作为该逆向SQL子查询的条件,具体如下:
算法3:含多表操作的SQL语句逆向算法
输入:SQL语句S2
输出:S2的逆向SQL
1)获取FROM后及JOIN后的表名。
2)分别对各个表进行源数据的查询,将WHERE后或ON后的与多表相关的匹配条件改写为逆向SQL中的嵌套SQL形式。
3)判断WHERE后是否有对单表进行筛选的条件,如果有,则在对在该筛选条件中出现的具体表进行源信息查询时,将该筛选条件添加到WHERE筛选条件中。
4)如果WHERE中的筛选条件含有对多个表的不同属性进行的计算,则对相关表进行逆向获取原数据时在子查询内要用JOIN…ON…进行关联运算,将需要进行多表计算的筛选条件加入。
5)如果语句中含有ORDER BY从句,则分析expression i(1≤i≤n)是否含有TOP选项,如不含有TOP选项,则在逆向处理时可将ORDER BY从句忽略,如含有TOP选项,则获取该字段。
6)将3、4、5步骤所得多个字段改为SQL语言形式,并与SELECT字段进行拼接,形成逆向SQL语句。
算法4含有子查询的SQL语句逆向算法
根据SQL语句的执行顺序,在含有子查询时,按从里层到外层的顺序依次执行,因此可对SQL语句进行逆向处理时可将里层嵌套的SQL语句作为一个中间表,将SQL语句进行化简,再对简化的SQL语句进行逆向处理,如果里层的SQL语句含有与外层SQL中不同的表,则应再对里层SQL语句中的表进行逆向的原数据查询,此时由于里层SQL语句的筛选条件不受外层SQL语句的限制,因此不必考虑外层的约束,这时就需要记录SQL语句的层次结构。根据in、>、<、=、exists等谓词或算术比较符来对SQL语句进行分层,之后将各层次及它们之间的相互关系存储到下表所示的SQL语句层次表中,最外层的SQL语句层次标号设为1,其内层SQL语句标号设为1.1,依此类推。
Figure BDA0000123638880000081
其中,包含字段表示该层次的SQL语句包含哪些层次的SQL语句,并将每一层次的SQL语句分别存储在SQL语句结构表中,判断要对哪些表进行逆向的源数据查询,对于嵌套在内层的SQL语句,还要对其所查询的表进行判断,如果其所查询的表是其外层SQL语句中没有的,则要根据该层SQL语句的结构对该表进行逆向的数据查询,这个步骤也是从内而外,依次进行。首先找到包含字段中属性值为NULL的层次的SQL语句,找到其所查询的表名,与SQL结构表中的其他层次的表名进行对比,如果没有一致的表名则先对该层进行逆向处理,具体的处理方法按算法2或3来进行,之后通过包含字段找到包含该层次SQL语句的外部层次,继续进行上述处理,以此类推,直到所处理的SQL语句层次为1为止。具体算法如下:
算法4:含有子查询的SQL语句逆向算法
输入:SQL语句S3
输出:S3的逆向SQL
1)扫描SQL语句,将SQL语句分层,并存储其层次结构。
2)根据对SQL语句的扫描,得到FROM后或WHERE后的嵌套SQL语句的需要进行源信息查询的表名。
3)由内而外,依次分析每层SQL语句的表名是否在其外层SQL中出现,若不出现,且该中间表的信息不在筛选条件中出现,则在该层次内对该表进行源信息的处理。如果该层为简单的单表执行的SQL语句,则用算法2)进行处理。若该层为多表执行的简单SQL语句,则用算法3)进行处理。
4)从内而外,为最内层SQL语句建立一个视图,将视图作为中间表,代替原SQL语句中的中间表部分,依次对当前层SQL语句进行步骤3)的处理,直到SQL语句变为简单的无嵌套查询的形式。
5)由于用中间视图代替中间表名,在对具体表进行逆向处理时,SQL语句中已经不存在该表名,在该表所在层次的SQL语句中找到该表与该层中间表之间的关系,将这个连接条件作为该层视图和该表之间的连接条件。
6)分析4)所得到的SQL语句的WHERE后的筛选条件,当含有中间表与实体表之间通过属性值相等而进行连接的筛选条件时,由于是对具体表进行属性查询,不能对中间表进行连接操作,因此将该筛选条件改为嵌套子查询的形式,并在子查询内对步骤4)得到的中间视图进行连接。
7)对WHERE后其他的筛选条件进行判断,在对筛选条件中出现的具体表进行源信息查询时,将与该表对应的筛选条件加到WHERE筛选条件中。
8)将上述得到的嵌套子查询,WHERE语句等相关信息与SELECT语句进行拼接,得到逆向SQL语句。
该源信息查询方法已经通过实际数据进行了验证,验证结果证明该方法与其他数据血缘方法相比,可以在原有SQL的基础上,直接对SQL语句进行处理,将其有效的转化成源信息查询语句,并成功查找到对应的源信息。本发明提供的数据追踪方法适用于关系数据库中源信息的查询,可应用在各领域中对源信息进行的查询和存储。

Claims (2)

1.一种基于结构化查询语言语句的源信息追踪方法,其特征是:首先将SQL语句按其不同的结构进行分类,之后对不同类型的SQL语句进行逆向处理,在得到源信息后将源信息进行存储,并在源信息上再次执行原SQL语句,与之前得到的结果集进行对比,得出结论。
2.根据权利要求1所述的一种基于结构化查询语言语句的源信息追踪方法,其特征是具体实现步骤包括:
步骤1对SQL语句进行分类
1.1扫描SQL语句,根据其关键字将SQL语句内容存储到SQL语句结构表中;
1.2获取from及where字段值,并进行判断;
1.3如果from字段中不包括in或“(”或“,”字样或符号,且where字段中不包括>、<、=比较运算符及exists谓词,且join及on的字段值为空,则为简单类型SQL语句,执行步骤2;
1.4如果字段不包括in或“(”字样或符号,但包括“,”,或join及on的字段值不为空,且where字段中不包括>、<、=比较运算符及exists谓词,则为含多表操作的简单SQL语句,则执行步骤3;
1.5如果字段包括in或“(”字样或符号,或where字段中包括>、<、=比较运算符或exists谓词,则为嵌套含子查询的SQL语句,则执行步骤4;
步骤2简单类型SQL语句S1的逆向处理:
2.1输入:SQL语句S1;
2.2输出:S1的逆向SQL;
2.3扫描SQL语句,对结构进行存储;
2.4根据对SQL语句的扫描,得到FROM后的表名;
2.5如果语句中含有ORDER BY从句,则分析expression i是否含有TOP选项,其中1≤i≤n;如不含有TOP选项,则将ORDERBY从句忽略,转向2.7;如含有TOP选项,则获取相应字段,转向2.6;
2.6获取GROUP BY字段中的值,如果值为空,则转向2.7,如不为空,对GROUP BY字段中的expression i作为连接条件,写成嵌套形式的SQL,嵌套SQL语句的内部为原SQL语句除SELECT外的所有字段,SELECT字段为SELECT expression i;
2.7从SQL语句结构表中提取SQL语句的WHERE字段的属性值;
2.8将2.2、2.3、2.4或2.5中获得的各字段转换为相应的SQL语言,并与SELECT字段拼接形成SQL语句;
步骤3:含多表操作的简单SQL语句S2逆向处理
输入:SQL语句S2,
输出:S2的逆向SQL;
3.1获取FROM后及JOIN后的表名;
3.2分别对各个表进行源数据的查询,将WHERE后或ON后的与多表相关的匹配条件改写为逆向SQL中的嵌套SQL形式;
3.3判断WHERE后是否有对单表进行筛选的条件,如果有,则在对在筛选条件中出现的具体表进行源信息查询时,将筛选条件添加到WHERE筛选条件中;
3.4如果WHERE中的筛选条件含有对多个表的不同属性进行的计算,则对相关表进行逆向获取原数据时在子查询内要用JOIN…ON…进行关联运算,将需要进行多表计算的筛选条件加入;
3.5如果语句中含有ORDER BY从句,则分析expression i是否含有TOP选项,其中1≤i≤n,如不含有TOP选项,则在逆向处理时将ORDER BY从句忽略,如含有TOP选项,则获取字段;
3.6将3.3、3.4、3.5步骤所得多个字段改为SQL语言形式,并与SELECT字段进行拼接,形成逆向SQL语句;
步骤4嵌套含子查询的SQL语句S3逆向方法
输入:SQL语句S3,
输出:S3的逆向SQL;
4.1扫描SQL语句,将SQL语句分层,并存储层次结构;
4.2根据对SQL语句的扫描,得到FROM后或WHERE后的嵌套SQL语句的需要进行源信息查询的表名;
4.3由内而外,依次分析每层SQL语句的表名是否在外层SQL中出现,若不出现,且中间表的信息不在筛选条件中出现,则在层次内对表进行源信息的处理。如果层为简单的单表执行的SQL语句,则用步骤2进行处理;若层为多表执行的简单SQL语句,则用步骤3进行处理;
4.4从内而外,为最内层SQL语句建立一个视图,将视图作为中间表,代替原SQL语句中的中间表部分,依次对当前层SQL语句进行4.3的处理,直到SQL语句变为简单的无嵌套查询的形式;
4.5由于用中间视图代替中间表名,在对具体表进行逆向处理时,SQL语句中已经不存在表名,在表所在层次的SQL语句中找到表与层中间表之间的关系,将这个连接条件作为层视图和表之间的连接条件;
4.6分析4.4所得到的SQL语句的WHERE后的筛选条件,当含有中间表与实体表之间通过属性值相等而进行连接的筛选条件时,由于是对具体表进行属性查询,不能对中间表进行连接操作,因此将筛选条件改为嵌套子查询的形式,并在子查询内对4.4得到的中间视图进行连接;
4.7对WHERE后其他的筛选条件进行判断,在对筛选条件中出现的具体表进行源信息查询时,将与表对应的筛选条件加到WHERE筛选条件中;
4.8将得到的嵌套子查询,WHERE语句相关信息与SELECT语句进行拼接,得到逆向SQL语句。
CN 201110434707 2011-12-22 2011-12-22 一种基于结构化查询语言语句的源信息追踪方法 Expired - Fee Related CN102402615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110434707 CN102402615B (zh) 2011-12-22 2011-12-22 一种基于结构化查询语言语句的源信息追踪方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110434707 CN102402615B (zh) 2011-12-22 2011-12-22 一种基于结构化查询语言语句的源信息追踪方法

Publications (2)

Publication Number Publication Date
CN102402615A true CN102402615A (zh) 2012-04-04
CN102402615B CN102402615B (zh) 2013-02-27

Family

ID=45884815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110434707 Expired - Fee Related CN102402615B (zh) 2011-12-22 2011-12-22 一种基于结构化查询语言语句的源信息追踪方法

Country Status (1)

Country Link
CN (1) CN102402615B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036007A (zh) * 2014-06-23 2014-09-10 北京京东尚科信息技术有限公司 一种分布式数据库查询方法及装置
CN104216888A (zh) * 2013-05-30 2014-12-17 中国电信股份有限公司 数据处理任务关系设置方法及系统
CN104391923A (zh) * 2014-11-20 2015-03-04 北京锐安科技有限公司 一种查询数据集的方法及装置
CN104424269A (zh) * 2013-08-30 2015-03-18 中国电信股份有限公司 数据血统分析方法与装置
CN104462501A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 基于结构化数据的知识图谱构建方法和装置
CN106202386A (zh) * 2016-07-08 2016-12-07 唐博 自动分析数据库表关系的方法
CN107203640A (zh) * 2017-06-14 2017-09-26 成都四方伟业软件股份有限公司 通过数据库运行记录建立物理模型的方法及系统
CN109947791A (zh) * 2019-03-27 2019-06-28 上海达梦数据库有限公司 一种数据库语句优化方法、装置、设备及存储介质
CN110096514A (zh) * 2019-04-01 2019-08-06 跬云(上海)信息科技有限公司 数据查询方法和装置
CN110263155A (zh) * 2019-05-21 2019-09-20 阿里巴巴集团控股有限公司 数据分类方法、数据分类模型的训练方法及系统
CN112416966A (zh) * 2020-12-11 2021-02-26 北京顺达同行科技有限公司 即席查询方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112736A1 (en) * 2005-11-15 2007-05-17 Russell Okamoto Multi-query optimization
CN102117302A (zh) * 2009-12-31 2011-07-06 南京理工大学 传感器数据流复杂查询结果的数据起源跟踪方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112736A1 (en) * 2005-11-15 2007-05-17 Russell Okamoto Multi-query optimization
CN102117302A (zh) * 2009-12-31 2011-07-06 南京理工大学 传感器数据流复杂查询结果的数据起源跟踪方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
戴超凡,王涛,张鹏程: "数据起源技术发展研究综述", 《计算机应用研究》 *
戴超凡,王涛: "面向ETL的数据起源追踪系统", 《计算机工程》 *
李亚子: "数据起源标注模式与描述模型", 《现代图书情报技术》 *
高明,金澈清,王晓玲,田秀霞,周傲英: "数据世系管理技术研究综述", 《计算机学报》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216888B (zh) * 2013-05-30 2017-10-17 中国电信股份有限公司 数据处理任务关系设置方法及系统
CN104216888A (zh) * 2013-05-30 2014-12-17 中国电信股份有限公司 数据处理任务关系设置方法及系统
CN104424269A (zh) * 2013-08-30 2015-03-18 中国电信股份有限公司 数据血统分析方法与装置
CN104424269B (zh) * 2013-08-30 2018-01-30 中国电信股份有限公司 数据血统分析方法与装置
CN104036007A (zh) * 2014-06-23 2014-09-10 北京京东尚科信息技术有限公司 一种分布式数据库查询方法及装置
CN104036007B (zh) * 2014-06-23 2017-12-12 北京京东尚科信息技术有限公司 一种分布式数据库查询方法及装置
CN104391923A (zh) * 2014-11-20 2015-03-04 北京锐安科技有限公司 一种查询数据集的方法及装置
CN104462501A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 基于结构化数据的知识图谱构建方法和装置
CN106202386A (zh) * 2016-07-08 2016-12-07 唐博 自动分析数据库表关系的方法
CN107203640A (zh) * 2017-06-14 2017-09-26 成都四方伟业软件股份有限公司 通过数据库运行记录建立物理模型的方法及系统
CN107203640B (zh) * 2017-06-14 2019-12-31 成都四方伟业软件股份有限公司 通过数据库运行记录建立物理模型的方法及系统
CN109947791A (zh) * 2019-03-27 2019-06-28 上海达梦数据库有限公司 一种数据库语句优化方法、装置、设备及存储介质
CN109947791B (zh) * 2019-03-27 2021-01-26 上海达梦数据库有限公司 一种数据库语句优化方法、装置、设备及存储介质
CN110096514A (zh) * 2019-04-01 2019-08-06 跬云(上海)信息科技有限公司 数据查询方法和装置
CN110263155A (zh) * 2019-05-21 2019-09-20 阿里巴巴集团控股有限公司 数据分类方法、数据分类模型的训练方法及系统
CN110263155B (zh) * 2019-05-21 2023-02-28 创新先进技术有限公司 数据分类方法、数据分类模型的训练方法及系统
CN112416966A (zh) * 2020-12-11 2021-02-26 北京顺达同行科技有限公司 即席查询方法、装置、计算机设备和存储介质
CN112416966B (zh) * 2020-12-11 2024-01-26 北京顺达同行科技有限公司 即席查询方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN102402615B (zh) 2013-02-27

Similar Documents

Publication Publication Date Title
CN102402615B (zh) 一种基于结构化查询语言语句的源信息追踪方法
Kim Lobbyview: Firm-level lobbying & congressional bills database
CN110383319B (zh) 大规模异构数据摄取和用户解析
EP2342684B1 (en) Fuzzy data operations
Papenbrock et al. Data-driven Schema Normalization.
CN111967761B (zh) 一种基于知识图谱的监控预警方法、装置及电子设备
Lbath et al. Schema inference for property graphs
Nikolov et al. Overcoming schema heterogeneity between linked semantic repositories to improve coreference resolution
Raasveldt et al. Deep Integration of Machine Learning Into Column Stores.
CN115438199A (zh) 一种基于智慧城市场景数据中台技术的知识平台系统
Achichi et al. A survey on web data linking.
CN105573984A (zh) 社会经济指标的识别方法及装置
Mehrab et al. Apply uncertainty in document-oriented database (MongoDB) using F-xml
Gabor-Toth et al. Linking Deutsche Bundesbank Company Data
Gollapalli et al. Ontology guided data linkage framework for discovering meaningful data facts
Zhu et al. A Type‐Based Blocking Technique for Efficient Entity Resolution over Large‐Scale Data
Tang et al. Materials Science Literature-Patent Relevance Search: A Heterogeneous Network Analysis Approach
CN113688250A (zh) 一种基于词性和语序分析的法律知识图谱自动构建方法
dos Reis et al. Large database schema matching using data mining techniques
AU2015249134B2 (en) Fuzzy data operations
CN105138544B (zh) 一种重塑逻辑演绎链的搜索方法
Januzaj et al. An application of data mining to identify data quality problems
Mirza et al. A survey of data level conflicts in database integration
Eberius et al. Identifying and weighting integration hypotheses on open data platforms
CN116303392B (zh) 关于不动产登记数据的多源数据表管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130227

Termination date: 20181222