许多数据库开发人员负责创建的查询需要用来返回其应用程序所需的数据。您可能熟悉 LINQ(语言集成查询)工具,它允许数据库开发人员使用基于 Microsoft .NET 的编程语言而非普通的 T-SQL 语句向数据库发出查询请求。SQL Server 2008 向 SQL 提供程序提供了新的 LINQ 命令,可以允许开发人员直接对 SQL Server 表和列发出 LINQ 命令,从而增强了 LINQ 的功能。这将缩短创建新数据查询所需的时间。
对数据库进行开发时,开发人员会使用较高级别对象,将其映射到单独的数据库表和列。这些对象(也称为实体)代表数据库应用程序所需的数据,因此开发人员并不需要了解该数据的实际存储结构以及数据库的架构。新的 ADO.NET 实体框架现在允许开发人员使用这些实体来创建数据库查询。底层数据库结构的抽象化可极大地提高开发人员的生产率。
SQL Server 2008 为 T-SQL 提供了许多不同的增强功能,可以提高数据库开发人员的效率。新的 MERGE 语句就是一个例子,它允许开发人员在试图插入数据前先检查该数据是否存在。执行 INSERT 语句之前所做的这项检查允许数据进行更新。现在不再需要创建复杂的连接来更新已存在的数据并插入不存在的数据,所有这些都可以在一个单独的语句中完成。
此外,从合并的日期/时间数据类型中分离时间和日期数据也变得更加简单。SQL Server 2008 引入了两种独立的数据类型来处理日期和时间数据。不同数据类型的转换可以改进许多查询的性能,因为无需对数据执行任何操作即可将其用于查询。
创建较新的数据库结构时,数据库开发人员经常会发现他们必须要扩展数据库的结构才能执行映射应用程序。SQL Server 2008 使用全新的空间数据类型来帮助解决此问题。GEOGRAPHY 和 GEOMETRY 这两种空间数据类型允许开发人员将位置特定的数据直接存储到数据库中,而无需将这些数据元素细分为适合其他标准数据类型的格式。
过去,数据库开发人员经常会遇到如何存储及利用大型二进制对象(例如文档和介质文件)的问题。常用的方法是将文件存储在数据库以外,而只在数据库中存储一个到外部文件的指针。但是使用这种方法时,在移动文件时必须要记得同时更新指针。
SQL Server 2008 使用新的 FILESTREAM 数据类型来解决此问题。使用这种数据类型,文件仍可以存储在数据库以外,但是数据被视为数据库的一部分从而实现事务的一致性。这将允许使用常规的文件操作方法,同时保持数据库在性能和安全方面的优势。
SQL Server 2008 引入了稀疏列,允许存储的 NULL 不占用磁盘上的任何物理空间。因为稀疏列不消耗实际空间,因此包含稀疏列的表可以不受 1,024 列的限制。