XML 关键字搜索中的分组和聚合函数解析
在 XML 数据处理中,分组和聚合函数的应用十分重要。下面将详细介绍相关的技术细节。
重复数据对聚合函数的影响
- 重复对象的影响 :以统计讲师 Albert 所教学生数量为例,若不考虑重复对象,查询 {Albert, count student} 得到的学生数量为 4。但实际上对象节点 Student (1.1.1.2) 和 Student (1.1.2.1) 指向同一个对象 ,所以 Albert 实际所教学生只有 3 名。
- 重复关系的影响 :回顾查询 {Anna, count A},在 XML 数据中, 和 的关系重复了两次,导致该关系的 grade 属性也重复。不考虑重复关系时,grade A 的数量为 3;而只保留每个关系的一个实例时,答案为 2。
因此,为了正确执行 sum、avg 和 count 等聚合函数,必须检测重复的对象和关系,并为每个对象和关系只保留一个实例。不过,重复数据对 max 和 min 聚合函数的正确性没有影响。
检测重复数据
若对象类 A 和 B 之间存在 m : n 或 m : 1 的关系类型,那么作为 B 或 B 的后代出现的所有对象类(或关系类型)的对象(或关系)可能会有重复。否则,若不存在 m : n 或 m : 1 的关系类型,就不会出现重复。检测重复的步骤如下:
1. 识别重复可能性 :通过检查 m : n 和 m : 1 关系类型来确定重复的可能性。若不存在这两种关系类型,可快速确
超级会员免费看
订阅专栏 解锁全文
1165

被折叠的 条评论
为什么被折叠?



