Access软件网-朱亦文专栏

来源:百度文库 编辑:神马文学网 时间:2024/04/28 10:48:46
什么是Access之我见
发表时间:2008-4-19 10:07:31 评论(4) 浏览(2935)评论 | 加入收藏
摘 要:Microsoft Office包含了很多办公组件,如Word是文字处理与排版软件,用于编写报告;Excel是电子表格试算与数据分析软件,用于编制报表和图表;PowerPoint幻灯片制作软件,用于制作演讲稿和动画;Outlook是消息传递软件,用于收发邮件和传递电子表单。那么作为Microsoft Office中极为重要的一员Access是什么吗?很多人都对此有疑问,不甚了了,有人说它是一个桌面的关系数据库产品,其实这种说法从严格的意义上来说是一种误解。
正 文:
Microsoft Office包含了很多办公组件,如Word是文字处理与排版软件,用于编写报告;Excel是电子表格试算与数据分析软件,用于编制报表和图表;PowerPoint幻灯片制作软件,用于制作演讲稿和动画;Outlook是消息传递软件,用于收发邮件和传递电子表单。那么作为Microsoft Office中极为重要的一员Access是什么吗?很多人都对此有疑问,不甚了了,有人说它是一个桌面的关系数据库产品,其实这种说法从严格的意义上来说是一种误解。
其实Access是一款数据库应用的开发工具软件,其开发对象主要是Microsoft JET数据库和Microsoft SQL Server数据库。由于在Office 97及以前的版本中,Microsoft JET 3.51及以前版本的数据库引擎是随Access一起安装和发布的,JET数据库与Access就有了天生的血缘关系,并且Access对JET数据库做了很多地扩充,如,在Access的环境中,可以在查询中使用自己编写的VBA函数,Access的窗体、报表、宏和模块是作为一种特殊数据存储在JET数据库文件(.mdb)中,只有在Access环境中才能使用这些对象。随着,Microsoft Windows操作系统版本的不断升级和改良,在Windows XP以后版本中,Microsoft将JET数据库引擎集成在Windwos操作系统中作为系统组件的一部分一起发布(主要原因是Windows中还有很多组件需要使用JET引擎,活动目录等)。从此JET数据库引擎从Access中分离出来,而Access也就成为了一个专门的数据库应用开发工具。
说到这里,不得不说一说JET数据库。
JET数据库:JET数据库引擎创建和管理的数据库,其数据库文件的扩展名为.mdb。由于Access与JET数据库引擎是同时出生的双胞胎,因此,很多人又把JET数据库称为Access数据库(仅针对.mdb数据库文件)。
由于JET数据库引擎的分离,很多应用程序采用了JET数据库作为其应用的数据库,JET数据库符合关系数据库理论,有着完整的数据定义、数据处理、数据安全管理体系。在Microsoft Windows操作系统中,随着Microsoft在ActiveX技术上的发展,Windows中不断升级换代的数据访问组件,这些组件包括ODBC、OLEDB、DAO、ADO、ADO.NET,JET数据库引擎和这些组件一起已组成了免费的数据库管理系统。纵观当今互联网,有90%基于Microsoft ASP技术的网站都是采用JET数据库(采用.mdb文件存储数据的数据库)。可以说,在Microsoft Windows世界中,JET数据库无处不在,只要你有足够的开发能力,基于JET数据库引擎和Microsoft数据库访问组件,你也可以开发出像Access或者PowerBuilder(Sybase公司的数据库开发工具)那样的一个数据库开发工具,也许你称它为MyJETDev,哈哈。
但是JET数据库也是有它的限制。 它是桌面型文件数据库引擎,它是通过文件访问来处理数据的,而不是通过服务来处理数据的。因此,它被局限在基于局域网文件共享协议下进行工作,数据处理总是在应用程序一端,而不是在服务器端。如果要基于互联网共享数据,必须编写中间层,例如,ASP网站就是典型应用。 它的数据文件不能突破2G的限制,不适合大型数据库应用。 它的结构化查询语言(JET SQL)能力有限,不适合大型数据处理。
由于,JET数据库的限制,JET数据库引擎允许用户通过链接表和ODBC来访问大型的数据库系统,如Microsoft SQL Server、Oracle等,也可以使用链接表访问ISAM数据文件,如dBase、Excel、文本文件等,当然,这也给Access应用程序开发带来了很多的灵活性。在这方式下,处理大型数据库(服务型数据库,如SQL Server、Oracle)时,每一个链接表都有一个服务器的连接,在服务器端,连接是一种资源,除了每个连接都要占用一定服务器资源外,还要负责链接表传递过来的数据访问指令的处理并返回相应的结果给客户端的JET引擎;同时,在客户端的JET引擎中,JET引擎要负责翻译各种链接表的数据访问指令传递给服务器,还要负责将服务器返回的结果翻译成JET引擎的数据表现形式以Access来处理。这种数据处理方式,来得真是辛苦。
为了减轻这种负担,Microsoft允许Access使用Microsoft的数据访问组件如DAO、ADO来访问各种数据源,可是这种方式复杂而又不直观,给Access面对的办公人员带来很高的技术要求。
Microsoft不甘心它的Access软件只能通过JET引擎使用链接表和ODBC这种既浪费服务器资源又浪费客户端资源的方式或者通过ADO复杂的编程和不直观的操作方式来开发大型数据库系统应用,于是,在Access 2000(Access 9)版本中加入了一种新Access应用程序开发方式——Access数据库项目ADP,同时在Office 2000的发行包中包括了MSDE1.0和Sharepoint1.0。
由于ADP的引入,Access增加了新的活力。尽管同时还引入了DAP(数据访问页),由于其过于复杂的部署和不安全因素(基于互联网部署,要启用Remote MSADC,要做跨域访问,部署复杂且不安全),在Access 2007中,Microsoft终于放弃了DAP。 MSDE:Microsoft Desktop Engine,这是Microsoft对MSDE1.0解释,意为微软桌面引擎,有取代JET引擎之意。但由于Windows太多组件使用了JET这种轻便的引擎,终究桌面引擎还是没能取代JET引擎。 MSDE:Microsoft Database Engine,这是Microsoft对MSDE2000解释,意为微软数据库引擎,不再用来取代JET引擎了,呵呵。事实上,MSDE是Microsoft SQL Server的缩微版,它是Microsoft SQL Server中的一员,可以安装在各种版本的Windows之上(当然16位版本的Windows 3.x除外,呵呵),采用Microsoft SQL Server一样的数据库技术( Microsoft SQL Server是Microsoft出品的大型数据库软件),是一种服务型数据库软件,与Microsoft SQL Server标准版不同的是,由于它是免费产品,在性能和可访问性上设置有一定的限制,例如,单个数据库文件不能大于2G,设有性能调节器,当突破5个连接(1.0是8个)时,其它连接处于等待状态,没有企业管理器等等。
Microsoft SQL Server 2005 Express,是Microsoft SQL Server 2005产品族中与MSDE2000一样的免费的同级产品,限制相同,但新增了报表服务和Microsoft SQL Server 2005 Management Studio Express。
使用MSDE和SQL Server 2005 Express的好处:
尽管Microsoft最终没有用MSDE或者SQL Server 2005 Express数据库引擎来替换JET数据库引擎,但MSDE和SQL Server 2005 Express数据库引擎的优势是显而易见的。 MSDE和SQL Server 2005 Express数据库引擎采用Microsoft SQL Server数据库技术,它是服务型的,可以基于互联网共享数据(注:出于安全方面的考虑,SQL Server 2005 Express默认安装仅限于本机访问,如何使SQL Server 2005 Express数据库在互联网上共享,请参见我另外的文章:《可视化配置SQL Server 2005 Express的远程访问(一)》