电脑技术学习

SQL Server 2008与Microsoft数据平台开发

dn001

一、前言:

目前,随着数据库系统和编程语言的不断发展,它们各自都有了自己专注的特定的功能而逐渐分离开。这导致产生了在现今的应用程序中的数据存储和业务逻辑之间的阻抗失谐。SQL Server 2008与Microsoft数据平台技术的结合使得你可以快速并轻松的建立能够消除这个失谐的综合的和可扩展的基于数据的解决方案。


尤其是,ADO.NET 实体框架为开发人员定义了一个新的方式来将数据放到易于使用的实体中,而一个叫做LINQ的创新技术定义了一个新的、强大的数据访问查询语法来与实际的任何数据类型直接通信,包括实体和SQL Server 2008。


SQL Server 2008专注于三个关键领域来满足目前的数据可编程性需求:


· 生产力。SQL Server 2008和Microsoft Visual Studio®为开发人员提供了新的数据模型、语法和团队合作工具,提高了开发人员的生产力。


· 连接。SQL Server 2008支持新的和旧的连接技术,使得开发人员可以使用最适合他们的要求的技术。


· 可扩展性。SQL Server 2008提供了一个用于许多不同类型的工作负载(从移动设备到企业解决方案)的可扩展的数据库系统。它还与Visual Studio 集成,从而使得开发人员可以建立可扩展的解决方案。


二、提高了生产力


Microsoft SQL Server 2008和Microsoft 数据平台的开发技术为开发人员提供了架构、数据连接技术、编程语言、Web services 、开发工具、和数据间的无缝集成,从而提高了开发人员的生产力。


ADO.NET实体框架


开发人员经常花费大量的时间解析数据库架构和编写复杂的查询来获取他们的应用程序中所需要的数据。ADO.NET 实体框架简化了这些工作,使得开发人员可以专注于他们的应用程序的业务逻辑。


企业系统经常使用多个异构数据源的数据,这些数据使用不同的架构和命名规则。此外,这些数据源经常使用不同的标准化级别,这导致用于某个特定的业务项目的信息跨越了多个表和行。而这使得开发人员得写大量的应用逻辑来管理这些复杂的数据库关系。


ADO.NET 实体框架基于实体数据模型,使得开发人员可以将数据库架构中的关系数据转换到可以直接在应用程序中使用的概念实体中。例如,你的应用程序中的客户数据可能存储在数据库中的多个表中。通过使用ADO.NET实体框架,架构师和开发人员可以定义一个单独的概念上的客户实体,这个实体完全抽象了从应用程序中访问和更新客户数据所需要的复杂关系。这个抽象层将数据访问逻辑封装到一组用在一个应用程序中的良好定义的实体中,而这个抽象帮助开发人员专注于开发应用程序的逻辑。


DO.NET 实体框架提供了一个数据编程界面

· 易于理解概念数据模型。通过使用实体数据模型,你可以按照应用程序中的业务逻辑来使用数据,而不是数据源的逻辑架构。


· 易于设计和开发应用程序。开发结合了业务逻辑和数据访问逻辑的应用程序使得架构师设计应用程序和开发人员编写代码都变得简单得多。


· 易于维护应用程序。通过使用一个概念数据模型,开发人员可以专注于应用程序的业务逻辑,而不是数据存储逻辑。而且,ADO.NET 实体框架保护应用程序,防止对后台数据架构的改动,这样就将维护工作降低到最小。


因为实体数据模型使用实体而不是表和行,开发人员需要一个与这些对象交互的查询语言。实体SQL(Entity SQL)是一个新的语言,它能够执行面向集合的声明性查询语言和对实体数据模型中的实体和关系的更新。实体SQL与实际的数据提供商无关,所以你可以重用对不同的数据库提供商的查询,这节省了你的编码时间。


大多数开发人员使用面向对象的编程语言例如C#和Visual Basic 在他们的商业应用程序中编写新的代码。这些语言模型实体将类及其活动作为它们的代码,而ADO.NET将数据作为它的值。这导致了数据和应用程序间的阻抗失谐。ADO.NET 实体框架提供了一个对象服务层,它降低了这个失谐程度。开发人员可以使用对象服务来建立类型查询和返回、操纵和更新作为业务对象的结果。ADO.NET 实体框架从架构中的实体数据模型实体生成.NET类。这些类是局部类,因此开发人员可以用定制的业务逻辑来扩展它们,而不会影响已生成的代码。这些业务对象可以通过实体SQL或语言级集成查询能力来查询(Language Integrated Query,LINQ)。

LINQ


目前的数据访问代码是内嵌在应用程序的字符串中的,用各个数据库特定的SQL语言来编写。由于这个原因,开发人员必须熟悉一个SQL语言和他们所选择的编程语言。这增加了对基于数据的解决方案的开发人员的知识要求。字符串中的内嵌查询意味着代码不能在编译的时候进行检查,因此开发人员必须等到查询代码发送到数据库服务器上才能确定是否是正确的。这个运行时调试通常导致更复杂的调试过程。


LINQ 是一组对Microsoft .NET 框架库、C#和Visual Basic .NET 的扩展,它使得这些语言将数据看作是普通的对象。LINQ使得开发人员能够以他们本地的编程语言来编写查询,然后这个查询会在编译时进行检测和语法检查。因为它是.NET 语言的一个主要组成部分,LINQ还可以利用Microsoft Visual 套件开发系统的Microsoft IntelliSense。


LINQ 可以用于多种数据源,包括内存数据结构、XML文档、数据库、实体模型、和数据集。例如,LINQ可以用于访问三个不同的数据源的数据,操纵数据,然后将它输出到第四个数据存储里。整个功能极大的简化了对异构数据源的数据的使用。


有五个使你可以访问数据的LINQ工具:


· LINQ到SQL(LINQ to SQL) 支持快速的开发通过使用直接与SQL Server 架构中的数据库对象匹配的programmatic 对象(例如表、视图、存储过程和用户定义的函数)来查询所有的Microsoft SQL Server 版本的应用程序。


· LINQ 到实体(LINQ to Entities) 支持一个更灵活的对象与关系表、视图、存储过程和用户定义的函数之间的匹配。你可以使用LINQ到实体通过扩展的ADO.NET数据提供商来访问SQL Server和其它关系数据库中的数据。


· LINQ 到数据集(LINQ to DataSet) 推出了针对常规的和类型化的数据集的丰富的查询功能。这使得你可以创建和查询数据集中数据表间的连接。


· LINQ 到XML(LINQ to XML) 是一个内存XML编程应用程序编程界面(API),它是设计用来利用最新的.NET 框架语言的创新。


· LINQ 到对象(LINQ to Object) 使得你可以对内存对象执行LINQ查询。这使得你可以以你使用其它数据源的数据的相同方式来使用内存数据。


Visual Studio


Visual Studio 将所有这些数据平台技术结合到一个强大的、而且高效的和易于使用的环境中去。Visual Studio 是一个综合的开发环境,它使得架构师和开发人员可以轻松的设计和开发客户端和服务器代码。


Visual Studio 为开发人员提供了可以自动为已有的和新的数据源创建实体的工具。可以产生能够利用新的对象服务层的局部类。在生成了实体数据模型之后,开发人员可以使用实体SQL和LINQ以一种新的和高效的方式来为它制定计划。


Visual Studio在开发人员编写代码时为其提供IntelliSense 信息。因为ADO.NET 实体框架和LINQ是完全集成到C#和Visual Basic .NET 中的,当使用这些功能来建立应用程序的时候开发人员可以使用强大的IntelliSense功能。这导致生成了用于设计和开发数据库应用程序的更高效的开发环境、更高质量的代码和一个更易于维护的系统。


Visual Studio Team System帮助你提高你的整个开发过程的效率,它为你提供了一些功能,例如源代码控制、跟踪,它还为你提供了整个团队从项目经理到测试人员都可以使用的开发工具。