Transact-SQL的改进
SQL Server 2008通过几个关键的改进增强了Transact-SQL编程人员的开发体验。
· Table Value Parameters – 在许多客户的场景中,要传递一个表结构的值(行)的集合到服务器上的一个存储过程或函数中。这些值可能直接用于插入表或更新表,或者是用于更复杂的数据操作。值为表的参数为定义一个表类型和使应用程序创建、赋值和传递表结构的参数到存储过程和函数中提供了更简单的方式。
· 对象相关性——对象相关性的改进通过新推出的种类查看和动态管理功能使能够可靠的找出对象间的相关性。相关性信息总是关于绑定架构和未绑定架构的对象的最新的信息。这个相关性会跟踪存储过程、表、视图、函数、触发器、用户定义的类型、XML schema集合和其他对象。
· 日期/时间数据类型——SQL Server 2008推出了新的日期和时间数据类型:
(1) DATE——一个只包含日期的类型
(2) TIME——一个只包含时间的类型
(3) DATETIMEOFFSET – 一个可辨别时区的日期/时间类型
(4) DATETIME2 ——一个具有比现有的DATETIME类型更精确的秒和年范围的日期/时间类型
新的数据类型使应用程序可以有单独的日期和时间类型,同时为用户定义的时间值的精度提供较大的数据范围。
(四)偶尔连接系统
有了移动设备和活动式工作人员,偶尔连接成为了一种工作方式。SQL Server 2008推出了一个统一的同步平台,使得在应用程序、数据存储和数据类型之间达到一致性同步。在与Visual Studio 的合作下,SQL Server 2008使得可以通过ADO.NET中提供的新的同步服务和Visual Studio中的脱机设计器快速的创建偶尔连接系统。SQL Server 2008提供了支持,使得可以改变跟踪和使客户可以以最小的执行消耗进行功能强大的执行,以此来开发基于缓存的、基于同步的和基于通知的应用程序。
(五)不只是关系数据
应用程序正在结合使用越来越多的数据类型,而不仅仅是过去数据库所支持的那些。SQL Server 2008基于过去对非关系数据的强大支持,提供了新的数据类型使得开发人员和管理员可以有效的存储和管理非结构化数据,例如文档和图片。还增加了对管理高级地理数据的支持。除了新的数据类型,SQL Server 2008还提供了一系列对不同数据类型的服务,同时为数据平台提供了可靠性、安全性和易管理性。这篇白皮书的下一章节将介绍非关系数据存储的一些优点。
SQL Server 2008使数据库应用程序以比以前更有效的方式建立树结构。HierarchyId是一个新的系统类型,它可以存储一个层次树中显示的结点的值。这个新的类型提供了一个灵活的编程模型。它作为一个CLR用户定义的类型(UDT)来执行,它提供了几种用于创建和操作层次结点的有效的及有用的内置方法。
新的SQL Server 2008 FILESTREAM 数据类型使大型的二进制数据,像文档和图片等可以直接存储到一个NTFS文件系统中;文档和图片仍然是数据库的主要组成部分,并维护事务的一致性。
FILESTREAM 使传统的由数据库管理的大型二进制数据可以作为单独的文件存储在数据库之外,它们可以通过使用一个NTFS流API进行访问。使用NTFS流API使普通文件操作可以有效的执行,同时提供所有丰富的数据库服务,包括安全和备份。
集成的全文检索使得在全文检索和关系数据之间可以无缝的转换,同时使全文索引可以对大型文本字段进行高速的文本检索。
这个功能使NULL数据不占物理空间,从而提供了一个非常有效的管理数据库中的空数据的方法。例如,稀疏列使得一般包含极多要存储在一个SQL Server 2008数据库中的空值的对象模型不会占用很大的空间。稀疏列还允许管理员创建1024列以上的表。
SQL Server 2008删除了对用户定义的类型的8,000字节的限制,使用户可以显著的扩大他们的UDT的规模。
地理信息
SQL Server 2008为在基于空间的应用程序中消耗、扩展和使用位置信息提供了广泛的空间支持。
· 地理数据类型
这个功能使你可以存储符合行业空间标准例如开放地理空间联盟(Open Geospatial Consortium,OGC)的平面的空间数据。这使得开发人员可以通过存储与设计的平面表面和自然的平面数据例如内部空间等相关联的多边形、点和线来实现“平面地球”解决方案。
· 几何数据类型
这个功能使你可以存储地理空间数据并对其执行操作。使用纬度和经度的组合来定义地球表面的区域,并结合了地理数据和行业标准椭圆体(例如用于全球GPS解决方案的WGS84)。