基于聚类的非一致性数据库查询方法技术

技术编号:9718868 阅读:133 留言:0更新日期:2014-02-27 05:40
本发明专利技术涉及一种基于聚类的非一致性数据库查询方法,属于数据库查询技术领域。具体包括:(1)多个关系的可信聚类概率的查询重写算法;(2)无连接聚集查询重写算法;(3)基于聚类的有连接聚集查询重写算法。本发明专利技术以元组匹配所产生的聚类和元组概率为基础,提出了可信聚类概念和基于概率方法的非一致性数据库查询重写方法。查询重写缩小了结果集中的可信聚类数量,有效地提高了查询性能。此基础上扩展了基于概率方法的聚集查询重写,不但考虑连接查询,而且考虑聚集分组SPJ查询。

【技术实现步骤摘要】

本专利技术涉及一种,属于数据库查询

技术介绍
聚类方法把数据集合分成若干类,使得每个类内部的数据尽量相似,而属于不同类的数据尽量不同。现实世界中,有ー种不确定信息,信息不精确。在处理不确定性信息方面,经典关系数据库处理不了具有不精确的数据,因而概率数据模型扩展了关系数据模型,对数据的不确定性进行了度量,在数据库的关系中引入概率属性来表示该元组的不确定性。对于实体对应的多个元组而言,每个元组的属性值是不确定的,表示实体的概率大小。基于聚类的概念,聚类内多个潜在的非一致性元组可以给定概率,假定ー个聚类代表ー个现实实体,聚类内的姆个元组表示实体的概率和为I,认为是元组在聚类内概率是条件独立的,在不同聚类之间概率是独立的;并提出了一种候选数据库概念,对聚类概率进行计算和评价,但考虑的候选数据库对于实际的海量数据库来说是不可行的,且没有考虑查询重写。
技术实现思路
本专利技术的目的在于提供一种,以便缩小结果集中的可信聚类数量,有效地提高查询性能。为了实现上述目的,本专利技术的技术方案如下。一种,具体包括: (I)多个关系的可信聚类概率的查询重写算法,详细的步骤如下: (Ia)在给定的ー个SPJ查询中,首先得到查询中的关系个数t和选择条件个数I初始化重写查询皮/。外循环次数为关系个数,内循环为选择条件个数。在外循环中,取得临时变量存储产生结果集的别名filter,初始化非连接合取谓词集和连接合取谓词属性集AJ; (Ib)在第I个内循环中,如果合取选择谓词中的属性是关系中的属性,则判断是否为连接的。如果为非连接合取谓词,则把合取选择谓词中的属性加入到非连接合取谓词属性集中,否则加入到连接合取谓词属性集中; (Ic)在第2个内循环中,如果合取选择谓词中的属性是查询中投影属性,把合取选择谓词中的属性加入到连接合取谓词属性集中; (Id)在外循环的最后取得该次循环产生的过滤查询ガブ。连接合取谓词属性集5^ゾ等于合取谓词属性集减去非连接合取谓词属性集SCW ; (Ie)通过已经取得的产生过滤查询ガブ、连接合取谓词属性集5Tゾ和结果集别名最终输出查询重写语句。注意到没有加入非连接合取谓词属性集5tF,这是因为在产生过滤查询ノび时,就已经对本次循环的关系进行了非连接合取谓词过滤元组,这样压缩了需要连接结果集的元组,在最后的结果集进行连接时,有助于提高查询性能。(2)无连接聚集查询重写算法,具体算法的基本步骤如下: (2a)首先对初始分组属性G和聚类属性cluster进行分组求聚集属性的最大值、最小值以及期望值和,得到结果集^/7ゴ; (2b)如果同一聚类内分组属性值不相同,则最小值为0,因此需要去掉这种情况的元组,在产生的结果集cmd上对初始分组属性G进行分组求最小值和,得到包含最小值的结果集min_cand ; (2c )在结果集cmd上对初始分组属性G进行分组求最大值和期望值和,得到包含最大值和期望值的结果集max_ cand ; (2d)在外查询中,对已经产生的包含最大值和期望值的结果集左连接到包含最小值的的结果集如果连接得到最小值为空,则最小值为O。最终产生初始分组属性G的最值和期望值。(3)基于聚类的有连接聚集查询重写算法,基本步骤如下: (3a)首先初始化重写查询,取得SPJ聚集查询的关系集合/?的元素个数、分组属性集合G的元素个数、选择谓词集合5T的元素个数和聚集属性集合A的元素个数; (3b)以关系集合/?的元素个数为外循环次数,以选择谓词集合5T的元素个数为内循环次数。在内循环中,如果条件谓词为关系的连接合取选择谓词,则过滤连接值不一致的聚类,取得该次循环中基于连接谓词的查询过滤子结果集; (3c)然后再次以关系集合/?的元素个数为外循环次数,初始化结果集标记分组属性集從、聚集值属性集メ万、非连接合取选择谓词集和非连接合取选择谓词集SCJ。在第I个内循环中,以聚集属性集合A的元素个数为内循环次数,如果聚集值属性在该次循环的关系中,聚集值属性加入到聚集值属性集W?。在第2个内循环中,以分组属性集合G的元素个数为内循环次数,如果分组属性在该次循环的关系中,分组属性加入到分组属性集d第3个内循环中,以选择谓词集合5T的元素个数为内循环次数,如果连接属性在该次循环的关系中,且选择谓词为连接合取选择谓词,则选择谓词的连接属性加入到分组属性集;如果连接属性在该次循环的关系中,且选择谓词为非连接合取选择谓词,则选择谓词的连接属性加入到非连接选择谓词集。在外循环中,取得本次循环根据非连接选择谓词集和聚类存在于候选集的条件,对聚类属性和分组属性集分组取得概率与聚集属性和的过滤结果集;然后连接选择谓词集5Tゾ为减去本次循环的非连接选择谓词; (3d)在外查询中,基于上ー步产生的过滤结果集进行连接,以连接选择谓词为条件,对分组属性集进行分组聚集求聚集属性的最小值的结果集;基于初始查询,加入聚类属性,对聚集属性求最大值和期望值的候选结果集;再对最大值和期望值的候选结果集左连接最小值的结果集,取得初始查询按照分组属性集的最大值、最小值和期望值的重写语句。该专利技术的有益效果在于:本专利技术以元组匹配所产生的聚类和元组概率为基础,提出了可信聚类概念和基于概率方法的非一致性数据库查询重写方法。查询重写縮小了结果集中的可信聚类数量,有效地提高了查询性能。此基础上扩展了基于概率方法的聚集查询重写,不但考虑连接查询,而且考虑聚集分组SPJ查询。【附图说明】图1是本专利技术实施例中基于聚类的标记图。图2是本专利技术实施例中基于聚类的无连接查询重写算法截图。【具体实施方式】下面结合附图和实施例对本专利技术的【具体实施方式】进行描述,以便更好地理解本专利技术。实施例 基于聚类的非一致性数据库查询是基于连接图的概念。为了更好地区分关系的聚类、连接属性、键属性和合取选择谓词中的属性,直观地表示SPJ查询,本专利技术给出了基于聚类的标记图定义。定义1:设^是ー个合取查询,如果它的连接图G是ー个标记图,那么^中的属性表不方式为:(a)如果是键属性,则表不为f ;如果键属性是连接属性,表不为(b)如果是非键属性,表示为メ ;如果这个非键属性是连接属性,则表示为W ; (C)如果非键属性是合取谓词选择条件中的属性,则表示为抑;(d)聚类属性cluster表示同一实体。定义2:设ヴ是ー个合取查询,它的连接图是以K,万〉,如果ヴ的图采用标记属性来表示边和节点,则7的连接图是基于聚类的标记图。如果7是采用标记属性来表示,则是基于聚类的标记查询。q的基于聚类的标记图可以表示为图1。基于上述定义,本专利技术实施例中的,具体包括: (I)多个关系的可信聚类概率的查询重写算法,其详细的步骤如下: (Ia)在给定的ー个SPJ查询中,首先得到查询中的关系个数t和选择条件个数I初始化重写查询皮/。外循环次数为关系个数,内循环为选择条件个数。在外循环中,取得临时变量存储产生结果集的别名filter,初始化非连接合取谓词集和连接合取谓词属性集AJ; (Ib)在第I个内循环中,如果合取选择谓词中的属性是关系中的属性,则判断是否为连接的。如果为非连接合取谓词,则把合取选择谓词中的属性加入到非连接合取谓词属性集中,否则加入到连接合取谓词属性集中; (Ic)在第本文档来自技高网...

【技术保护点】
一种基于聚类的非一致性数据库查询方法,其特征在于:具体包括:?(1)多个关系的可信聚类概率的查询重写算法,详细的步骤如下:(1a)在给定的一个SPJ查询中,首先得到查询中的关系个数t和选择条件个数k,初始化重写查询RJ;外循环次数为关系个数,内循环为选择条件个数;在外循环中,取得临时变量存储产生结果集的别名filter,初始化非连接合取谓词集SCW和连接合取谓词属性集AJ;(1b)在第1个内循环中,如果合取选择谓词中的属性是关系中的属性,则判断是否为连接的;如果为非连接合取谓词,则把合取选择谓词中的属性加入到非连接合取谓词属性集SCW中,否则加入到连接合取谓词属性集AJ中;(1c)在第2个内循环中,如果合取选择谓词中的属性是查询中投影属性,把合取选择谓词中的属性加入到连接合取谓词属性集AJ中;(1d)在外循环的最后取得该次循环产生的过滤查询RJ;连接合取谓词属性集SCJ等于合取谓词属性集减去非连接合取谓词属性集SCW;(1e)通过已经取得的产生过滤查询RJ、连接合取谓词属性集SCJ和结果集别名filter,最终输出查询重写语句;(2)无连接聚集查询重写算法,具体算法的基本步骤如下:(2a)首先对初始分组属性G和聚类属性cluster进行分组求聚集属性的最大值、最小值以及期望值和,得到结果集cand;(2b)如果同一聚类内分组属性值不相同,则最小值为0,因此需要去掉这种情况的元组,在产生的结果集cand上对初始分组属性G进行分组求最小值和,得到包含最小值的结果集min_cand;(2c)在结果集cand上对初始分组属性G进行分组求最大值和期望值和,得到包含最大值和期望值的结果集max_cand;(2d)在外查询中,对已经产生的包含最大值和期望值的结果集max_cand左连接到包含最小值的的结果集min_cand;如果连接得到最小值为空,则最小值为0;最终产生初始分组属性G的最值和期望值;?????(3)基于聚类的有连接聚集查询重写算法,基本步骤如下:(3a)首先初始化重写查询,取得SPJ聚集查询的关系集合R的元素个数、分组属性集合G的元素个数、选择谓词集合SC的元素个数和聚集属性集合E的元素个数;(3b)以关系集合R的元素个数为外循环次数,以选择谓词集合SC的元素个数为内循环次数;在内循环中,如果条件谓词为关系的连接合取选择谓词,则过滤连接值不一致的聚类,取得该次循环中基于连接谓词的查询过滤子结果集;(3c)然后再次以关系集合R的元素个数为外循环次数,初始化结果集标记filter、分组属性集GR、聚集值属性集AE、非连接合取选择谓词集SCW和非连接合取选择谓词集SCJ;在第1个内循环中,以聚集属性集合E的元素个数为内循环次数,如果聚集值属性在该次循环的关系中,聚集值属性加入到聚集值属性集AE;在第2个内循环中,以分组属性集合G的元素个数为内循环次数,如果分组属性在该次循环的关系中,分组属性加入到分组属性集GR;第3个内循环中,以选择谓词集合SC的元素个数为内循环次数,如果连接属性在该次循环的关系中,且选择谓词为连接合取选择谓词,则选择谓词的连接属性加入到分组属性集;如果连接属性在该次循环的关系中,且选择谓词为非连接合取选择谓词,则选择谓词的连接属性加入到非连接选择谓词集;在外循环中,取得本次循环根据非连接选择谓词集和聚类存在于候选集的条件,对聚类属性和分组属性集分组取得概率与聚集属性和的过滤结果集;然后连接选择谓词集SCJ为减去本次循环的非连接选择谓词;(3d)在外查询中,基于上一步产生的过滤结果集进行连接,以连接选择谓词为条件,对分组属性集进行分组聚集求聚集属性的最小值的结果集;基于初始查询,加入聚类属性,对聚集属性求最大值和期望值的候选结果集;再对最大值和期望值的候选结果集左连接最小值的结果集,取得初始查询按照分组属性集的最大值、最小值和期望值的重写语句。...

【技术特征摘要】
1.一种基于聚类的非一致性数据库查询方法,其特征在于:具体包括: (1)多个关系的可信聚类概率的查询重写算法,详细的步骤如下: (Ia)在给定的ー个SPJ查询中,首先得到查询中的关系个数t和选择条件个数I初始化重写查询皮/;外循环次数为关系个数,内循环为选择条件个数;在外循环中,取得临时变量存储产生结果集的别名filter,初始化非连接合取谓词集和连接合取谓词属性集AJ; (Ib)在第I个内循环中,如果合取选择谓词中的属性是关系中的属性,则判断是否为连接的;如果为非连接合取谓词,则把合取选择谓词中的属性加入到非连接合取谓词属性集中,否则加入到连接合取谓词属性集中; (Ic)在第2个内循环中,如果合取选择谓词中的属性是查询中投影属性,把合取选择谓词中的属性加入到连接合取谓词属性集中; (Id)在外循环的最后取得该次循环产生的过滤查询ガブ;连接合取谓词属性集5Tゾ等于合取谓词属性集减去非连接合取谓词属性集SCW ; (Ie)通过已经取得的产生过滤查询ガブ、连接合取谓词属性集5Tゾ和结果集别名A7 ter,最终输出查询重写语句; (2)无连接聚集查询重写算法,具体算法的基本步骤如下: (2a)首先对初始分组属性G和聚类属性cluster进行分组求聚集属性的最大值、最小值以及期望值和,得到结果集^/7ゴ; (2b)如果同一聚类内 分组属性值不相同,则最小值为O,因此需要去掉这种情况的元组,在产生的结果集cmd上对初始分组属性G进行分组求最小值和,得到包含最小值的结果集min_cand ; (2c )在结果集cmd上对初始分组属性G进行分组求最大值和期望值和,得到包含最大值和期望值的结果集max_ cand ; (2d)在外查询中,对已经产生的包含最大值和期望值的结果集左连接到包含最小值的的结果集;如果连接得到最小值为空,则最小值为O ;最终产生初始分组属性G的最值...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:湖南人文科技学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1