Access和Lotus Notes对于用户来说哪个是适合自己的呢?这要看用户对于那些方面的需求是关键的。下面是对Access和Lotus Notes的一些GUI,Web开发和安全功能的考察以及一些实际中的情况。在这些情况下,其中一种数据库对你的客户来说是一种更好的选择。
GUI的比较
从一个用户的观点看,Lotus Notes无疑比Access更有优势。早在R4版本的时候,Notes就包含了设计对象,比方浏览窗口,热点,以及行为按纽,这使得开发者能够更容易的为数据库建立一个更统一的界面。
例如热点模仿了Web链接而且不需要JavaScript就能够对用户的鼠标动作出反应。如果正确的建立了浏览窗口,用户就能够从一个集中的地方访问多个数据库而不会知道他们离开了原来的数据库。
而Microsoft Access则完全是依赖开头板来进行浏览而对于建立可视化的向没有经验提供提示的方法则支持得很省。这使得为没有经验的用户建立应用平台的时候Access不那么吸引人。
但是Access却在一个非常重要的可视化部分作得很出色:报告的生成。经过了正确的培训的高级用户可以生成报表,但是报表的生成可能是由开发者完成的。但是一但报表已经创建,在Access中操作数据是非常简单的。
报表实质上就是可视化的查询。在一个报表中加入数据域(数据列)只需要简单的拖放就能够完成。你还可以用表达式来在最终的报表中进一步的限制和控制数据。简单的格式化标题和列表头的方法使得生成一个可视化的报表变得非常的直观。再加上微软Graph的功能,并不需要懂得VB编程用户就能够将结构化的数据转换成一个图形化的报表。
而Notes 主要是依靠视图来捕捉和总结数据库中的数据。使用列标题,小计,和视图的子图能够让数据更容易阅读和理解,但是Notes先天就没有生成图形报表的能力。
由于它的易用性,Lotus Notes也许对你的客户来说是正确的数据库选择。但是,如果你的客户需要生成图形的报表,那么你***使用Access。
Web开发/配置比较
虽然许多开发者还主要是使用Lotus Notes和Access来开发基于客户的解决方案,但这两种桌面数据库引擎都扩展到了客户-服务器的Web领域里。
LotusNotes的Web组件,Domino从它被引入到 R4中后来的版本中以后就已经存在于不同的地方了。到了R5,Notes 又向前迈了一大步,它将Lotus Notes客户端和Domino Server集成到了R5里。例如,Notes数据库能够容易的被发布到一个安全的公司intranet或者Internet站点上去。
Domino引擎能够自动的--而且聪明的--将大多数Notes表单,视图,和数据对象用它内建的HTML转换引擎转换成Web可以使用的格式。$$ViewDesignTemplate(s) 和 Outlines是开发者主要的用来创建一个定制的用户界面,HTML和JavaScript主要是用来改进数据的格式并使用户能够完成上传文件的工作。
在微软Access 2000中可以简单的向HTML文件输出表单和查询来创建Web页面。微软放弃了它在Access 97就准备作的生成ASP来模拟Access表单的努力。转换Access 2000表单更加棘手,这需要使用数据访问页面(DAP)来捕捉一个特定的行中的数据和表单中特定数据的可视化表示。(DAP利用了XML和CSS的优点来同时管理数据和Access表单的显示。)
Lotus Notes/Domino把Web发布紧密的集成在了它的数据库解决方案里。而HTML的发布又是Access 2000的一个特点,它并没有完全集成到这个产品中。例如HTML页面仍然需要首先被输出然后加载到一个Web服务以便其被包括进一个intranet 或者Internet站点。
显然,Lotus Notes 在这个方面有一定的优势。从现存的Lotus Notes数据库创建简单的Domino站点并不需要多少额外的力气。虽然微软Access向提高它的DAP Access Web引擎方面已经跨出了一大步,但它现在还没有完全做到这一点。
如果你的客户需要在Web上发布一个完整的数据库,那么Lotus Notes能够提供一个比Access更快捷的解决方案。
#p#
安全架构
Access 包括一个管理员数据库,叫做工作组文件,名字是system.mdw。这个文件包含了能够打开Access的用户的命名和组;用户密码;一个唯一的二进制代码,叫做系统ID(SID),它标识了当前使用Access 的用户;以及其它的用户的资料。
由于在Access95中引入的用户级安全向导以及Access 2000中DAP和安全文件格式的出现,微软Access应用可以被多个授权的用户通过网络共享并可以被保护以不让其它的用户访问。
在文件级,用户需要登录Access。一旦进入了Access,用户可以在由用户的访问权决定的不同的安全级别访问特定的文件,而用户的访问级别可以通过Access 2000安全向导来进行修改。访问权可以设置成下面的级别:“管理员,”这通常是为数据库的管理员保留的;“修改设计,”它允许开发者修改和创建Access代码;还有“读取设计,”“打开/运行,”“更新,”“插入,”“删除,”和“读取数据。”
Access 2000中有一个大的改进而Lotus Notes没有相应的表现,这就是安全的文件格式“.mde”的引入,这种格式允许开发者发布他们的应用程序而不会暴露他们原始的VBA源程序。Lotus Notes没有为开发者提供一个相似的工具,虽然人们通常认为将代码保存在脚本库里而不是数据库对象里是更好的作法。
Lotus Notes的应用程序安全性构架是在内部和它的电子邮件软件联系在一起的。与微软Access相似的是,Notes基于个人的userid号来授权用户的访问。userid--保存在本地用户的邮件文件里--必须通过Domino 服务器的认证。
当一个用户输入他或者她的密码的时候就获得了Lotus Notes 的访问权。Notes中应用级别的安全性是通过访问控制列表来实现的(ACL)。服务器,用户,和工作组可以被授予下面七个ACL中访问级别中的一个:管理员,这通常是为管理员保留的;设计者,通常是为开发者保留的;编辑;作者;读者;存数据;或者无访问权。
Lotus Notes ACL和Access的访问授权分别在它们各自的应用中提供几乎相同的安全级别。Access 和Lotus Notes安全性的一个主要区别是Access依赖文件系统的认证来授予一个用户访问数据库的权力。
对于Lotus Notes,这个环境自身决定所有的访问特权--或者是通过userid的认证,或者是使用Domino 管理员范围目录或者是通过ACL在一个特定的数据库中进行授权。
根据你用户的安全认证过程的不同,Lotus Notes可能比Access更有弹性因为安全算法基本是自包含在这个产品中的。换言之,对用户文件系统的直接访问对于一个Lotus Notes数据库的安全来说不是关键性的。
通过上面的介绍相信用户可以根据自己的实际需求,来选择适合自己的数据库。
【编辑推荐】