- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Microsoft SQL Server中T-SQL关于树(层次)结构的处理研究.pdf
第 24 卷第 9 期
Vol. 24 No.9
荆楚理工学院学报
Journal of Jingchu University of Technology
2∞9 年 9 月
Sep.2∞9
Microsoft SQ L Server 中
T-SQL 关于树(层次)结构的处理研究
钟绍辉
(荆楚理工学院师范学院,湖北荆门 4482∞)
[摘 要] 在 T-SQL 中,图和树(层次)是两种比较复杂但又非常有用的数据结构,在这两种数据结构
中,最常用的当属树(层次)结构。文章主要研究在 Microsoft SQL Server 中用 T-SQL 来处理树形数据结构的
方法一迭代法在处理树形结构中的应用。
[关键词] 图:树(层次)结构;迭代法;排序;循环
[申图分类号] TP311. 12 [文献标识码] A [文章编号] 1∞8 -4657(2ω}ω-∞24 -05
Microsoft SQL Server 是一个关系数据库管理系统。它是建立在 Windows 的可伸缩性和可管理性之
上,提供功能强大的客户/服务器平台,高性能客户/服务器结构的数据库挂历系统可以将 Visual Basic ,
Visual C + +等众多语言作为客户端开发工具,而将 SQL Server作为存储数据的后台服务器软件。随着
SQL Se凹er 产品性能的不断扩大和改善,已经在数据库系统领域占有非常重要的地位。 SQLSe凹er 使用
T-SQL 语言来维护,实现和访问数据库,T-SQL 是 SQL 的一个子集标准。 SQL Server 有多种实现程序
允许用户来访问它的服务,用户可以用这些实用程序对 SQL Server 进行本地管理或远程管理。
树(层次)结构在现实生活和生产中在着广泛的应用,如公司员工组织结构图,国家道路系统等。
然而,在 T-SQL 中树(层次)结构的实现却并不容易。[1-2] 实现这种结构的方面主要有两种:一个是基
于迭代/递归逻辑,另一个基于在数据库中具体化描述数据结构的附加信息。在此,本文只讨论基于迭
代/递归逻辑方法对于树(层次)结构的实现。
迭代法就是使用某些形式的循环或递归。有许多迭代算法可以遍历图。有些算法一次只遍历图的
一个节点,而且通常利用游标实现,这些算法通常非常慢。在此,主要关注一次遍历图的一个树(层次)
的算法,用迭代或递归逻辑和基于集合的查询实现。假设有一个结点集合 U,下级结点集合为 V,它有
U 中的结点的直接下级孩子组成。根据经验,一次遍历一个树(层次)的迭代算法要比一次遍历一个节
点的迭代算法快得多。
1 数据实例
主要使用两个工具来实现例中的解决方案:用户自定义函数和递归的公用表达式。但要注意当
UDF 或 cπ 的性能无法满足需要时,可能要利用存储过程来实现解决方案以得到更好的性能。
首先,设置 1 个使用场景:公司员工组织结构图(树,树(层次)结构)。如图 1 所示。
创建 Employees 表, Employees 表把管理体系表示为邻链接表,其中经理和员工分别表示父节点和
子节点。
CREATE TABLE dbo. Employees
[收稿日期] 2∞9- fJ7 -10
[作者简介]钟绍辉(1980 -),男,湖北谷城人,荆楚理工学院助教。研究方向:教学管理及软件开发研究。
24
图 1 公司员工组织结构圈
empid INT NOT NULL PRIMARY KEY ,
mgrid INT NU口, REFERENCES dbo. Employees ,
empname VARCHAR(25) NOT NUIl..,
salary MONEY NOT NU口
CHECK (er叩id mgrid)
) ;
GO
2 迭代法实现的功能
2.1 排序
排序是一种显示方面的要求,通常在客户端使用。这意味着可能需要在客户端为具有树(层次)结
构的数据排序。当选择在服务器端处理排序时会用到这种方法。
DAG 的拓扑排序是指孩子的排序值大于它的父亲。拓扑排序有时也称为正确的树(层次)顺
序。[34DAG 的正确排序方法不止一种。如果不关心兄弟之间的排序,你可以为每个节点构造一个枚
举路径以实现排序。
枚举路径是由该节点的祖先 ID 和分隔符组成的字符串。这意味着兄弟之间是按它们的节点 ID 排
序,因为路径是基于字符的,所有排序也是基于字符的,它可能不同于整数排序。例如:尽管 9 11 ,员
工 11 比它的 ID 为 9 的兄弟排得低。按枚举路径排序,可以确保能生成正确的树(层次)排序,但不保证
兄弟之间的顺序。如果要确保兄弟之间的顺序,需要一个不同的解决方案。
要想得到最理想的排序灵活性,应该具备以下几项条件: 1)正确的拓扑排序:排序时孩子
您可能关注的文档
最近下载
- 数字经济赋能扬州旅游产业发展研究.docx VIP
- 古诗词诵读 《客至》 课件(共26张PPT)统编版高中语文选择性必修下册.pptx VIP
- 人形机器人项目可行性报告(范文参考).docx
- 2024年陕西国防工业职业技术学院单招职业技能测试题库(考试直接用).docx VIP
- 江苏省机动车检测授权签字人考核试卷(C卷含答案).doc
- 大学英语六级(CET-6)历年真题大全【90-07年37套】.pdf
- 大数据 数据治理实施指南.pdf VIP
- 矿运车辆安全培训课件.pptx
- 第四课《PowerPoint2010的动画设置》精品课件.pptx VIP
- 机电一体化测试题含答案300题 .pdf VIP
文档评论(0)