Microsoft数据引擎 MSDE


概述
创建应用程序的开发人员面临着这样一个选择:在众多的数据库选项中,应该选择哪一种技术?在选择一种数据库技术之前,开发人员需要考虑很多因素。

比如,该应用程序需要支持多少个用户?所有的用户是否会同时访问数据库系统?该应用程序的开发涉及到哪些费用?如果该应用程序的需求随着时间的推移而发生变化,该技术是否允许对该数据库的功能和规模进行扩充?
直到最近,Microsoft推出了两种数据库管理方案:Microsoft Jet (即Microsoft Access 数据引擎,该引擎随同Access 和Microsoft Visual Studio发布) 和 Microsoft SQL Server。由于每一种技术方案都有自身的优势,同时又存在某些局限性,因此,以前如果要求开发人员选择这样一种数据库技术:使它既满足从桌面到数据中心环境下运行,而数据库应用程序又适应长期和短期需要,一般而言是很困难的。由于基于Jet的解决方案具有易于使用和开发成本低的优点,因此,对于桌面或者共享的应用程序而言,它是一种很不错的选择。然而,开发人员发现:随着应用系统规模的扩大,在他们将Jet应用程序移植到SQL Server的平台之前,需要对程序代码进行大量的修改。值得开发人员高兴的是:随着一个与SQL Server 兼容的数据引擎—Microsoft 数据引擎(MSDE)的发布,开发人员可以选用一种新的方式来创建基于桌面和共享环境的数据库应用程序。利用MSDE,开发人员可以创建自由分布的桌面和共享的数据库解决方案。当需要对系统的规模进行扩充时,采用这种解决方案的数据库应用程序可以很容易地移植到SQL Server中。
数据引擎涉及哪些技术
从本质上讲,一个处于运行状态的“数据引擎”就是一个核心进程。一个数据库管理系统,比如Access 或者 SQL Server,将利用这个核心进程来存储和管理数据库中的数据。从这种意义上讲,我们通常可以把一个数据引擎看作是一个没有相应的图形管理工具的数据库管理系统。数据引擎主要有两种作用:一是用来存储数据,二是用来处理其它对象对存储的信息所提交的请求。我们通常把用来检索或者更新数据的请求称作数据库查询。
通常,数据引擎与自定义数据库应用程序一起对客户机应用程序提交的数据库请求进行响应。自定义数据库应用程序是用某种开发工具,比如Microsoft Visual Studio创建的。在这种情况下,由于自定义的数据库应用程序已经包含了内置的工具对底层的数据库进行管理,因此,在数据引擎中,就没有必要包含图形工具来对数据库进行管理了。此外,由于数据引擎具有容易分布的特点,开发人员可以将相应的数据引擎包含到自定义应用程序中,在应用程序的安装过程中,用户可以通过选取该引擎组件而将其安装到系统中。
Microsoft数据引擎
Microsoft 数据引擎(MSDE)与SQL Server完全兼容,在以Visual Studio 6.0 或者Access 2000为开发工具所创建的桌面和共享的数据库解决方案中,该引擎可以用来对数据库进行处理。对于Visual Studio 6.0 或者 Access 2000开发人员来说, 他们可以在不单独对MSDE进行注册的情况下发布使用MSDE创建的数据库应用程序。MSDE用到了SQL Server提供的一些技术,并且与SQL Server 7.0完全兼容。在Access 2000中,MSDE是代替Jet(Access 2000数据库使用的缺省引擎)的理想选择。此外,对于Visual Studio 6.0开发人员而言,如果他们想创建自定义的数据库应用程序,并且希望在这些自定义的应用程序中使用与SQL兼容的的数据库,那么,他们可以通过采用MSDE作为数据引擎的方式来达到这一目的。MSDE与SQL的兼容性意味着:开发人员可以对现有的以MSDE作为数据引擎、桌面和共享的数据库应用程序代码不作任何修改,就可以将其移植到SQL Server中。
MSDE以提供某种服务的方式在后台运行。在此,服务指的是以后台进程运行的应用程序。服务与其它的应用程序的运行方式有所不同。比如,只要用户通过从“开始”菜单选取“启动”选项,对应的应用程序就可以投入运行。但对于服务而言,如MSDE,情况就不是这样。它们的启动和关闭通常是由操作系统来完成的。以MSDE作为数据引擎的桌面和共享的数据库应用程序通常具有以下限制:在数据库应用程序存活期间,MSDE服务应该处于运行状态。一般而言,使用服务的对象是其它应用程序,而不是终端用户。一般情况下,服务在后台运行,当它接收到客户机应用程序向它提交的处理请求时,它就转去执行相应的请求。对于MSDE来说,这些请求是一些将要对数据库执行的操作。由于使用服务的对象是客户机应用程序,而不是终端用户,因此服务不需要有用户界面。在Access 2000中创建的一个工程或者一个Visual Basic应用程序可以直接与某个服务进行交互。对于MSDE而言,这些客户机应用程序充当了用户界面。
MSDE的特性:
* 完全与Microsoft SQL Server 7.0 以及以前的版本相兼容。
* 对于Visual Studio 6.0 或者 Microsoft Office 2000 开发人员而言,他们可以将基于MSDE的数据库应用程序免费发布给最终用户。
* 可以在Windows 95, Windows 98, Windows NT, 以及Windows 2000 (Intel 和 Alpha)平台上运行。
* 具有客户机/服务器的体系结构(MSDE在数据库服务器,而不是在客户机上执行对数据库的操作)。
* 以提供服务的方式在后台运行。
* 在数据库的开发过程中,开发人员不需要为该引擎创建相应的用户界面。其它应用程序,比如用Access 2000 或者 Visual Basic开发的自定义应用程序需要为数据库提供相应的用户界面.
Jet 4.0
Jet 4.0是在Microsoft Access 2000中使用的缺省的数据引擎。在Visual Studio 6.0 开发工具包中,也包含了这一引擎。Jet是基于文件的数据库管理系统。这种类型的数据库管理系统具有如下特点:系统中的数据库包含在一个独立的数据库文件中,并且对数据库的读写操作是由客户机控制的。Jet 可以在多用户的环境下使用,并且开发人员还能够将采用Jet作为引擎的数据库应用程序扩充为桌面和共享的数据库应用程序。Microsoft Access为Jet数据引擎提供了一个易于使用的界面。开发人员还可以利用 Visual Basic或者其它开发工具来创建自定义的前端应用程序,在这些应用程序中,包含了以Jet作为引擎的数据库。
SQL Server
SQL Server是一个基于客户机/服务器模式的数据库管理系统。与基于文件的数据库中使用的引擎不同,在基于客户机/服务器模式的数据库管理系统中,数据引擎将负责管理数据库的读写操作。由于这一特性,基于客户机/服务器模式的数据库管理系统,比如SQL Server,可以在很大的程度上提高系统能够处理的并发用户数和数据量。当前,企业中使用的大型数据库应用程序需要支持的并发用户数和处理的数据量在不断增加,SQL Server就是为满足这一迫切需要而设计的。这些数据库应用程序包括在今天已经实现和在将来还需要进一步改进的企业管理系统和决策支持系统。SQL Server具有各种发行版本,以满足在不同的环境下对处理的数据量、并发用户数和硬件的不同要求。
数据库与SQL的兼容性
数据库与SQL的兼容性指的是,数据库在多大程度上与用来进行数据库通信的ANSI结构化查询语言(ANSI-SQL)行业标准保持一致。MSDE 和 SQL Server两者都遵从Transact-SQL (T-SQL)中定义的语言规范,而Jet则没有采用这种规范。与此不同的是,Jet定义并实现了它自己的一套查询语言。在这种查询语言中,Jet可以调用Visual Basic应用程序(VBA)中的函数过程。Transact-SQL是一套定义完善的语言,开发人员可以通过这种语言来进行数据库应用程序和数据库服务器之间的通信,并能够对数据库服务器进行编程处理。Transact-SQL是ANSI-SQL的一个超集,利用Transact-SQL,开发人员可以通过对服务器进行编程的方式来使服务器执行一些定制的事务逻辑处理。用户可以通过在客户端调用这些以事件或者消息的方式驱动的事务逻辑处理过程,而实际执行时,这些逻辑处理过程则是在服务器上完成的。MSDE与Transact-SQL的语言规范保持一致意味着:MSDE中的对象不加修改就能够在SQL Server中运行。因此,在这一点上,MSDE要优越于Jet。
如何选择数据引擎
如果你手头的数据库应用程序的功能和规模已经不能满足数据库系统的需求,你可能准备新建一个基于功能强大的数据引擎的应用程序,也可能打算通过使用一个新的数据引擎来代替原来的引擎的方式对现有的数据库应用程序进行移植,不管你采用哪一种方式,对现有的条件和计划使用的每一种数据引擎的特性进行一定的了解是非常重要的。那么,你到底应该选择哪种数据引擎呢?如果你希望创建桌面和共享的数据库应用程序,那么,你可以考虑用MSDE来代替Jet。在本节中,我们讨论了在开发的过程中很多数据库应用程序对系统提出的需求,另外,我们还提供了一些建议,以告诉开发人员如何选择一个合适的数据引擎,使该引擎能够在最大程度上满足他们将要创建的工程需求。
数据库应用程序的需求
表1列出了在企业环境下运行的数据库应用程序的需求,并说明了每一种数据引擎在多大程度上能够满足这些需求。如果你的应用程序在当前(或者在将来会)具有在表1最左边的一列中所给出的任何需求,你就应该考虑用MSDE来代替Jet作为数据库的引擎了。
在哪些情况下应选择MSDE作为数据库系统的引擎
在以下两种情况下,我们可以选用MSDE作为数据库应用程序的引擎。一是用MSDE 代替Jet来移植现有的数据库应用程序,以提高它的可伸缩性。二是以MSDE作为引擎来创建桌面和共享的数据库应用程序,当系统的规模扩大时,这些数据库能够很容易地移植到SQL Server。
MSDE与SQL Server的兼容性
MSDE数据引擎与SQL Server完全兼容

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3