网站大量收购独家精品文档,联系QQ:2885784924

Microsoft SQL Server中T-SQL关于树(层次)结构的处理研究.pdfVIP

Microsoft SQL Server中T-SQL关于树(层次)结构的处理研究.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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)正确的拓扑排序:排序时孩子

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档