您现在的位置: 范文先生网 >> 商务管理论文 >> 电子商务论文 >> 正文

展望微软下一代数据库系统

时间:2006-11-28栏目:电子商务论文

微软的下一代数据库系统(代号Yukon)已经浮出水面。这一版本的数据库系统有不少的新特色。比如它使用的Transact-SQL将更加符合ANSI-99 SQL的标准,查询语句将更灵活,更富表达性。Yukon允许程序员用.NET的语言,比如C#,VB.NET来开发自定义函数(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兼容的高级程序语言进行开发,利用VB.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中完全相同的方式运行。

将CLR整合到Yukon中的好处是显而易见的。Yukon获得了CLR的各种有益的功能,如自动的内存管理,资源分配,垃圾回收等等。Yukon提供了一套.NET assemblies,这样允许程序员直接操作数据库对象。数据的操作是通过一套特殊的ADO.NET来实现的。这些新的方法和原来的ADO.NET非常相似,程序员应该感到非常的熟悉和亲切。细一点说,我们可以把Yukno集成了CLR的好处归结为以下几点:

1.丰富了编程模式。CLR兼容的高级程序语言比T-SQL要丰富的多,也强大的多。它们提供的功能和特色是以往SQL程序员不敢想象的。此外,Yukon还提供了一系列的类库(Framework APIs),这些类库的功能比以前SQL内置的功能强大的多

2.增强了安全性。管理程序运行于数据苦支持的CLR环境当中。这使得数据库的对象比以往的扩展存储过程(extended stored procedures)更安全

3.用户自定义的类型和集合。通过对CLR的集成,这两个新增的对象扩展了SQL数据库的查询和存储能力

4.为今后的Visual Studio®开发环境指明了方向。今后程序员可以向开发其他.NET程序那样用VB.NET或是C#这类的高级语言进行数据库的开发,调试工作。

5.性能的增强。在一些情况下,.NET语言的编译和执行可以提供比T-SQL更好的性能。

充分开发CLR的潜能

在以前的SQL数据库应用的开发中,服务器端的程序被限制于T-SQL。而在新的Yukon中,由于集成了CLR,使得开发工作变得前所未有的容易和方便。像VB.NET和C#这类的高级语言,全面支持数组(Array),结构化的异常处理(structured exception handling)以及各种集合操作(Collections)。这些功能使得程序员可以编写更复杂的逻辑和计

算工作。

更突出的一点就是Visual Basic .NET and C# 是面向对象的语言,它们自身所具有的数据封装(encapsulation),继承(inheritance)和多态性(polymorphism)是T-SQL所不能比拟的。在大型系统的开发中,这种基于模块化开发机制的优越性会更加明显。它可以更好的组织你的源程序,增加代码的重用性。将源程序按照逻辑关系编译成不同的assemblies和n字域(namespaces)可以增强程序的组织性,让程序员更方便的浏览和使用已有的程序。

Yukon实现了三个层次的assemblies安全的管理控制。这种安全机制是对以往基于用户验证和授权机制和新的CLR安全机制的有机合成。新的三级管理层次为:

[1] [2] 下一页

下页更精彩:1 2 3 4 下一页