Notes 数据库与关系型数据库的概念比较

来源:岁月联盟 编辑:zhuzhu 时间:2007-09-21

我们知道在数据库理论中,有外模式、模式和内模式之分。外模式(又称子模式或用户模式)是数据库用户使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,如视图和表的结构、类型、长度、保密级别等。模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,如不同表的结构、类型、长度、保密级别等,以及表和表之间的各种逻辑关系。内模式(又称物理模式)是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,如存储、索引方式以及数据压缩、加密和聚簇等。为了对Notes文档数据库和关系数据库进行比较,下面让我们来了解一下Notes文档数据库的相关概念。

1.Notes 数据库文件 (.NSF):数据库文件包容应用程序的数据,其结构由表单、域、文件夹、视图及其他显示功能部件(诸如导航器和数据库图标)组成。具体分两个部分:设计元素、数据文档。设计元素就是表单(Form)、域(Field)、视图(View)和文件夹(Folder)等等,它们构成了应用的基础。数据文档(Document)是用户提交的数据信息。形象来说,它就是用户保存在Form中的文档,例如:一份公文。

2.表单(Form):NSF数据库文件中,一个NSF数据库中可定义多个表单,表单由多个表单元素组成。表单元素是用于创建表单外观和功能的组件。和页面一样,表单可以包含:文本、水平基准线、表格、区段、图形、图像映射、链接、自动功能、小程序、附件、嵌入元素和HTML。表单可由多个子表单组成,子表单是表单元素集合,它作为一个单独的对象来保存。子表单可以包含与常规表单相同的元素。使用子表单可以节省重新设计的时间。如果更改了子表单的某个域,则用到该子表单的每个表单都会更新。子表单的一般用法包括:向商务文档中添加公司标志,或向邮件和便笺表单中添加邮寄标签信息。子表单可以作为表单的永久部件,或者可以根据公式的结果有条件地显示。例如:可以给用户提供一种选择,允许用户使用不同的图像和样式来为各种类型的邮件消息定制邮件表单,例如便笺、警告或信函。在子表单中用到的域名不能在表单的其他地方使用。对子表单所做的更改将影响到所有使用该子表单的表单和文档。

3.域(Field):域是构成表单的重要元素,对一个Notes数据库来说,外部数据的录入要通过域,库内存放数据显示也要依靠域。域类型确定了域可以包含的信息类型。用户可以在“域属性”框中定义域类型。域类型是:文本、日期/时间、数字、对话框列表、复选框、单选按钮、列表框、组合框、RTF 文本、作者、姓名、读者、口令和公式。域的主要属性是:

可编辑:数据可以通过按钮执行公式(Formulas)或脚本(Script)来产生。

隐含的:只作存储,没有显示作用,显示文档时不显示该域的数据。

准许多值:单一域准许用户存入多个值。

4.文档(Document):在Lotus Notes中,信息是以文档的形式保存在数据库中的,一个文档相当于关系型数据库中的一个记录。

5.视图(View):视图是 Lotus Notes中文档的主要浏览窗口,当一个视图的选择条件给定以后,通过该视图所看到的文档就是符合条件的文档,每一视图都包含符合一定条件的文档。视图除了有选择条件外,还可以按不同的特性将文档进行分类和排序,使得我们可以及其快捷地导航到要查找的文档。对于简单的查询,可以不编写任何程序,而通过把视图按合理的方式进行分类和排序就可以了。对用户来说是直观的,可打印输出屏幕上显示的视图。如某一视图的选择条件为:Select form="通知";则打开该视图后,我们所看到的文档都是通知。

6.文件夹(Folder): 文件夹也是文档的浏览窗口之一,但是和视图不同的是,文件夹没有选择条件。由于Lotus Notes的文档是可以共享的,文件夹也可以共享,也可以私有。里面的文档通过Putinfolder放进去,必须通过RemoveFromFolder来将其中的文档移开。

不难看出,在Notes的文档数据库当中,模式也是表格的定义表单(Form)和域(Field),它用来向用户显示和保存数据。而外模式通常是一个用户的能看到视图(View)或是文件夹(Folder)。

从某种角度来看,一方面表单(Form)提供用户浏览保存在NSF文件中的文档信息的方法,Form也是一种内模式的机制,我们可以实现为不同的用户定制不同的Form,以达到不同的用户他们能看到的文档信息(Form)是不同的。另一方面由于在Notes当中,表单(Form)本身并不保存在文档里,只在显示文档时才起作用,Form也是一种数据库的外模式的体现。另外不像关系数据库,一个Table中的一行数据就必须是符合Table定义的。Notes文档数据库中的一份文档可以不符合任何的格式定义,也没有相应的数据约束,数据约束只在用户透过Form输入数据时是有效的。

我们可以认定,Notes中视图(View)或是文件夹(Folder)是一个外模式,它提供用户浏览和查找文档数据的方法,我们可以为不同的用户定制不同的视图或文件夹。 (责任编辑:卢兆林)