- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库多维迭代算法.pdf
数据库多维迭代算法
关键词:数据库迭代递归多维
一、两种传统的数据库迭代结构算法
对于数据库的迭代结构,有两种传统的算法:递归算法和边界算法。
比如对于下面图1 的结构:
图1
递归算法的数据结构如表1 所示:
节点id 节点值 父节点id
1 1111 -2
3 1112 1
4 1113 1
5 1114 4
6 1115 4
7 1116 1
8 1117 7
9 1118 8
表1
父节点id 如为负值,表示这是一个根节点。
从表1 可以看出,我们用若干组父-子递归的结构来表达完整的迭代结构。
这种算法很容易理解,但是缺点也很明显:
1. 要从任意一个节点展现整个结构时,要从此节点向根节点做一个逆向递归,然后由根节点向所
有层的子节点做N 次正向递归,数据库的运算开销很大。特别是正向递归到达所有外围节点时
要做一个空查询,形成浪费。
2. 尽管oracle 对递归查询有优化算法,如
select distinct *
from table1
start with 节点值=1111
connect by prior 节点id=父节点id
这样可以形成以’1111’为根的整个节点树结构。
但是这种优化在统计时是无能为力的,而且此查询返回的结果丢失了很多结构的细节。
下面我们再来分析第二种迭代算法:边界算法。
这种算法有点类似邮递员送信路径的传统数学难题,方法是将节点的边界串起来,同时记录其结构。
对于图1 的结构,数据库中记录如表2 所示:
节点值 结构id 节点顺序 节点层次
1111 1001 1 1
1112 1001 2 2
1113 1001 3 2
1114 1001 4 3
1115 1001 5 3
1116 1001 6 2
1117 1001 7 3
1118 1001 8 4
表2
这里1001 是此结构的id。因此我们可以用结构id,仅通过一次查询,就可以将整个结构展现出来。
此算法的缺点是:
1. 取子结构麻烦,比如我们要查询1113-1114-1115 的子结构,我们要从1113 开始将整个结构截
取出来,然后分析哪些是它的子结构。
2. 数据更新麻烦,在插入或删除某个子结构时,要将节点顺序重新排序。
二、多维迭代算法的原理
所谓多维迭代算法,是指任意一个节点,在继承父节点的特性同时,创建自己的特性维度。
对于图1 的结构,其数据库中的记录如表3 所示:
节点值 结构id 节
您可能关注的文档
最近下载
- 2024NIHSS评分量表解读PPT.pptx VIP
- 跨文化交际――中西方文化差异PPT课件.ppt VIP
- 12J1工程做法图集标准.docx VIP
- 《跨文化交际》课件:探索不同国家的文化差异.ppt VIP
- 四法一纲.doc VIP
- 新人教版8年级上册物理全册教学课件(2024年秋季新版教材).pptx
- 领导力与管理沟通PPT课件(共19章)第9章 非语言表达.pptx VIP
- 领导力与管理沟通PPT课件(共19章)第8章 书面表达.pptx VIP
- 2025年农村公路路面改造以工代赈项目可行性研究报告-新大纲.docx VIP
- 江苏省化工和危险化学品生产企业安全审计表解读 2025年1月2日.pptx VIP
文档评论(0)