1 .一种基于关系代数的血缘关系生成方法,其特征在于,包括以下步骤:
S1、通过将输入SQL解析为抽象语法树;
S2、为抽象语法树字段和常量构建相应的节点,并创建临时表来存储节点;
S3、根据节点的字段属性进行分类保存;
S4、将满足关系定义的两组属性节点构建关系。
2 .根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于,所述关
系定义包括以下形式:
血缘关系,从属性列A到属性列B的数据来源关系;
数据影响关系,从选择操作的逻辑表达式到属性列B的元组数量间的数据影响关系;
数据连接关系,选择操作中逻辑表达式中比较运算符参数之间的对应关系。
3 .根据权利要求2所述的一种基于关系代数的血缘关系生成方法,其特征在于,关系定
义还包括以下形式:
集合并操作关系定义;
如果存多个关系的列数相同,且列号相同的属性列类型一致,关系R满足集合并操作,
则为血缘关系;
数据操纵语句INSERT SELECT关系定义;
如果数据操纵语句INSERT SELECT的目标关系与数据来源关系存在关系映射,则为血
缘关系;
count函数和源表行数的血缘关系;
如果在一个SQL查询语句Q2中,count函数与查询语句Q2的源表存在关系映射,则为血
缘关系。
4 .根据权利要求2所述的一种基于关系代数的血缘关系生成方法,其特征在于,关系定
义还包括以下形式:
SQL聚合函数和GROUPBY字句分组对象间的关系定义:
如果在一个SQL查询语句Q1中,有聚合函数与GROUPBY字句存在关系映射,则为影响关
系。
5 .根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于:关系定
义通过关系名称、关系的来源方向、关系的目标方向三个因素进行描述;
其中关系名称为血缘关系或影响关系;
关系的来源方向和关系的目标方向的取值为SQL的AST上的路径。
6 .根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于:所述S2
使用自动机用于按照关系定义进行扫描源路径和目标路径,获得关系来源方向的节点、关
系目标方向的节点。
7 .根据权利要求6所述的一种基于关系代数的血缘关系生成方法,其特征在于,还包括
以下步骤:
S5、根据构建完毕关系输出关系表。
8.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行
指令的存储器,其特征在于:所述处理器用于执行上述权利要求1‑7任一所述的方法。
9 .一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储
权 利 要 求 书
1/2 页
2
相关文档
评论