用SQL Server 2008 Express构建应用程序
SQL Server 2008理所应当是一个企业级的数据库系统:它运行快捷、可扩展性高,是一个商业智能平台,也是一个报表平台。事实上,SQL Server 2008拥有的特性集合远超过您在单一解决方案中可能会用到的特性。所以,昂贵的售价也是理所当然的。不过微软也为我们这些没什么本钱的劳苦大众提供了很多不同版本的 SQL Server,其中就包括本文要介绍的免费版Microsoft SQL Server 2008 Express。SQL Server 2008 Express总论
SQL Server 2008 Express是微软SQL Server 2008数据库产品的一个全功能版本。注意,这并不是说它拥有全部的特性。作为一个产品的入门级版本,它确实有其局限性,不过仍然是值得信赖的数据库。
说它值得信赖,是因为它给我们提供了一个能满足开发需求的快速可靠而且低开销的数据库解决方案。如果您所需要的是一个能用来存储应用数据同时还能在将来提供实现可扩展功能的工具,那么SQL Server 2008 Express应该是个很好的切入点。
如果您正在寻找的是一个比较先进的数据库,并希望它能在占用资源量较少的情况下提供更多的功能,那么SQL Server 2008 Express也是一个不错的选择。例如,SQL Server 2008 Express提供了能一种安全模式,让用户能够实施安全配置来保护应用程序用户基础的数据。其他的先进功能还包括全文搜索、.NET集成以及网络服务支持等,这些好处远远超过了一般免费数据库所能够提供的。
有不少开发人员很喜欢SQL Server 产品所提供的报表功能,不过报表也往往是一个被低估忽视的应用开发组分。从SQL Server 2005开始,SQL Server Express就已经把报表功能包含在内,不过并没有提供“报表编写器”。当然,您仍可以使用Microsoft Visual Studio来创建报表,但是,您的终端用户自身并没有创建报表的方法。虽然微软还没有最终做出决定,但看起来会在SQL Server Express 2008版本中引入一个报表编写工具。
微软为 SQL Server Express 2008打上这样的广告语“SQL Server 2008的全功能免费版本”,事实的确也是如此。不过“全功能”这个概念不免有点模棱两可,想必大家都清楚微软不可能提供一款功能齐全,而“特性”也齐全的版本供大家免费使用的。SQL Server Express 2008在系统配置规模上拥有以下的局限性:
[*] 只能用于一个CPU [*] 最大内存为1GB [*] 数据库大小不能超过4GB 当然,您可以在一个具有双核、8GB内存核500GB硬盘的服务器上运行SQL Server Express 2008,但SQL Server Express会自我控制不得超越上述限制。也就是说,SQL Server Express是专门为小规模服务器和台式机而设计的,因此为其推荐使用以下的系统配置:
内存:至少512MB
硬盘:至少有600MB可用空间
CPU:1 GHz Pentium III或更高级
操作系统:Windows Server(任何版本)、Windows XP、Windows Vista
附加软件:.NET Framework和Internet Explorer 6.0 SP1或更新版本
虽然微软还没有公布版本特性对比图来表明SQL Server 2008 Express会涵盖哪些特性。但我们还是可以根据SQL Server 2005的版本特性对比图来合理预测SQL Server 2008应当提供的特性。
聚焦SQL Server 2008 Express特性 SQL Server Express 2008关注的应当是数据以及利用其进行开发的开发者的能力,所以SQL Server Express 2008包含了以下引人注目的新开发特性:
新数据类型
SQL Server Express 2008提供了能够减少现代应用中数据工作量的新数据类型,包括空间数据(Spatial Data)、分层数据(Hierarchy data)和媒体格式(Media format)。
SQL Server Express 2008提供了对空间数据的支持,使您能够轻松捕捉地理数据,建立能够和Virtual Earth或Google Maps等集成的跨界混搭应用。空间数据的数据类型有地理数据和几何数据,前者侧重于以经纬度值为基础的位置数据,后者则是以坐标为基础的位置数据。
HierarchyID数据类型使我们跨越复杂的数据连接而表现数据的层次性。HierarchyID数据类型存储了层次树的结构,以及该树的记录位置。类似于GetAncestor()和GetDescendant这样SQL函数能够让您快速旋转该树以满足您的需要。
文件流(FileStream)数据类型提供了一种能够与数据库外部的所有文件和媒体格式数据进行互作的数据类型,例如Excel数据表和Windows Media视频等。文件流数据类型将SQL Express和文件系统集成在一起,您可以使用SQL语法来对文件流对象进行选择、插入、更新等操作。媒体格式文件在文件系统中存储为BLOB数据对象。这种集成对记录应用了SQL安全模式,并消除了维护两个安全模式(一个在SQL,一个在文件系统)的需要。
.NET语言集成(CLR)
这个并不是什么新鲜东西,不过往往会被忽视。SQL Server Express 2008将CLR作为数据库引擎的一个组成部分。您可以选择用.NET语言来构建.NET程序集,并将其存储在数据库中;还可以利用程序集来扩展SQL Server Express 2008的新功能或特性。
ADO.NET实体框架(EF)
一旦您以想要的数据库模型构建好数据库,接着就要编写代码来添加、编辑和删除数据。ADO.NET实体框架就是用来帮助编写代码的工具,用来在减少基于数据的应用程序所需的编写代码和维护代码的工作量。实体框架从数据库构建一个数据模型,然后生成代码类群为您处理数据表创建、更新和删除的代码编写问题。而且,实体框架还能帮您处理表与表之间的关系问题,您就可以停止使用代码来处理数据库中不同表的关系问题,让实体框架来帮您完成。
与PHP相关的特性(以及其他非微软技术)
SQL Server Express 2008是微软的产品而且只能在Windows系统下运行。不过这个规定并不妨碍SQL Server Express 2008与建立在其他平台上的解决方案共同合作,例如PHP(虽然PHP能够在Windows服务器上运行)。PHP能够支持SQL Server作为您的解决方案的数据库选项,但仍需要一些额外的配置来启动它们之间的连接。有兴趣的读者可以参考PHP的网站相关的详细设置指南。对于其他的非微软技术,也是类似的,不过您的解决方案最好能够快速布置到您的客户的微软环境中而不会引起基础架构的显著变化。同时,开发人员还可以使用自己细化的开发工具来开发自己的产品。
结论
SQL Server 2008 Express提供了SQL Server 2008的很多特性,但并没有涉及到企业关系数据库管理系统。因此SQL Server 2008 Express只是您开发应用程序的一个基础。如果您已经熟悉了SQL Server 2008 Express的应用,那么当您需要扩展SQL Server 2008 Express的功能时,可能就已经具备了毫不费力就可扩展到SQL Server其他高端版本的能力。SQL Server Express 2008所整合的特性,包括ADO.NET实体框架、与Visual Studio及.NET的集成等,为程序开发人员提供实现高效开发工作的可能。
页:
[1]