- 1
- 0
- 约2.8千字
- 约 5页
- 2016-12-03 发布于天津
- 举报
展望微软下一代数据库系统
展望微软下一代数据库系统
微软的下一代数据库系统(代号Yukon)已经浮出水面。这一版本的数据库系统有不少的新特色。比如它使用的Transact-SQL将更加符合ANSI-99 SQL的标准,查询语句将更灵活,更富表达性。Yukon允许程序员用.NET的语言,比如C#,来开发自定义函数(user-defined functions),存储过程(stored procedures)和触发(triggers)。另外它还支持W3的XQuery语言,支持XML等等。
在Yukon的酝酿和设计过程中,设计师对下一代数据库系统的编程能力下了很多气力。微软内部的开发人员认为,下一代的数据库系统一定要包括更多的对称编程模式,对各种数据类型的查询应该更灵活。所谓的对称编程模式是指对于常见的数据库操作,用户应该可以使用XML,.NET或是传统的T-SQL程序
在这种设计思想的指导下,Yukon在许多方面有了大的拓展。首先,.NET的公用语言执行环境(CLR)被融合到了新的系统里;第二,融合进来的.NET提供了很多强有力的数据库对象;第三,XML在这版的数据库里得到了更好和更深的支持;第四,数据库的服务器端提供了对XML查询(XQuery)以及XML规范定义语言XSD的支持;第五,传统意义上的T-SQL也得到了进一步的增强
新的编程模式和新增的语言一道使得数据库应用的开发有了更丰富的选择。新的体系结构使得我们更容易构造可靠的,可扩展的,稳定的应用,并且开发的效率也得到了极大的提高。Yukon中还引入了全新的服务代理(Service Broker),一种分布式的一部消息传递机制,现在让我们先看看编程语言方面的增强。
目录
Transact-SQL 语言的增强
在SQL服务器中使用.NET来编程
充分开发CLR的潜能
在T-SQL和管理程序之间的取舍
用户定义的类,函数和集合
管理的存储过程
Transact-SQL 语言的增强
Yukon对微软的T-SQL有了很多的增强。用户可以在Yukon的Online帮助中得到详细的信息,限于便服,在此不一一列了。新增的特色表明了微软对ANSI-99 SQL标准的进一步支持,同时也反映了对广大用户反馈意见的相应。新的增强主要是为了使查询更富有表达性。有几种新增的查询可以很好的覆盖用户常用的一些查询类型。比如说,递归查询可以返回有层次机构的结果集合(hierarchical resultset)或是a bill of materials。
Yukon提供了新的PIVOT和UNPIVOT操作。这些操作的输入是表格类的表达式(table-valued expression),其输出结果同样是表格类型。PIVOT操作是将行转变为列,并进行集合以及其他的数学操作。在输入的表格中它将以一个给定的列为轴进行旋转,其成生的表格的列是有不同值的原旋转列。这种操作使得生成的表格变宽(设想一个5列100行的输入表格,其结果可能是100列5行的表格)。UNPIVOT是PIVOT的逆操作。它将输入表格的列转换为行。其结果是使输入表格变窄。
Yukon的异常捕捉和处理机制也有了很大的变化。它使用了和.NET一致的TRY/CATCH结构。导致交易终止的错误将会被捕捉并且处理。另外为了配合.NET的框架提供的安全,复制,提示服务以及XML等等功能(security, replication, Notification Services, XML),Yukon引入了不少新的语言构造。.NET在服务器端的技术也极大了影响了SQL数据库的研制和发展。
在SQL服务器中使用.NET来编程
程序员可以在Yukon中使用和.NET兼容的高级程序语言进行开发,利用,C#这一类的语言编写自定义函数(user-defined functions),存储过程(stored procedures)和触发(triggers)。另外,利用管理程序(managed code)还可以开发自定义函数(UDTs),集合(aggregates),函数(functions)。公用语言执行环境(CLR)是.NET的核心,它是一切基于.NET开发的程序的运行平台。它提供了诸多的服务,比如实时编译(just-in-time compilation),内存管理和分配(memory management and allocation),类型安全强制(type safety enforcement),异常处理(exception handling),线程管理(thread management)以及安全检查(security)等等(CLR对于.NET程序就好比Java的虚拟机对于Java程序一样)。在Yukon中,.NET程序将和在CLR中完全相同的方式运行。
原创力文档

文档评论(0)