在层次模型和网状模型中,文件中存放的是数据,各文件之间的联系是通过指针(连线)来实现的。而在关系模型中,文件中存放两类数据:一是实体本身的数据,二是实体间的联系。这里的联系是通过联接字段实现的。
关系模型源于数学,它把数据看成是二维表格中的元素,而这个二维表格就是所谓关系。表中的每一行代表一个记录或一个取样;每一列称为关系的一个属性集,列可以命名,称为属性名,或数据项类型。显然,关系是记录(行)的集合。如果表格中有n列,则称该关系是n元关系。
一个实体可由若干关系组成,而关系表的集合就构成关系模型。对这种数学化的模型,每个关系应满足下列条件:
(1)表中的每一列属性都是不能再分的基本字段; (2)各列被指定一个相异的名字; (3)各行(记录)相异,不允许重复; (4)行、列次序无关。
综合以上四点可知,一个关系是一个概念文件,该文件中的每个记录是唯一的,所有记录具有相同个数和类型的字段,也就是说,所有的记录有同样的固定长度和格式。图3-29所示的多边形地图,可用下列关系表示出多边形实体与其边界弧段实体和结点实体之间的关系。如图3-35所示各实体之间的联系可以通过连接字段来实现。例如关系1中边界弧段号C可与关系2中相同字段边界弧段号C进行连接,同样道理,关系2中结点号3也可与关系3中结点号3进行连接。
关系模型的最大特色是对实体描述的一致性,上述示例中用连接字段实现各实体之间联系正说明这一点。关系模型正是利用数据本身通过公共值隐含地表达它们之间的联系,并且可采用关系代数和关系运算来操作数据。在关系模型下,实体及其实体之间的联系均采用关系来描述,通过关系之间的连接运算还可建立新的关系,对关系数据库的查询和统计操作也都可以采用关系运算得以实现。此外,关系模型还具有结构简单、灵活、数据修改和更新方便、容易维护等特点。所以它是当前数据库中较常用的数据模型。目前,很多GIS中的属性数据都是采用关系数据模型,甚至某些关系还采用关系数据库管理系统来管理空间数据。
但是GIS中的关系模型在效率、数据语义、模型扩充和目标标识等方面还存在一些问题,特别是在处理空间数据库所涉及的复杂目标方面,传统的关系模型显得难以适应,此外,关系数据库系统的管理也较为复杂,查找速度与网状和层次模型相比也要慢一些。
四、面向对象模型(略)
综上所述,数据库理论是GIS的理论基础,尽管目前流行的通用数据库管理系统在对空间实体的定义、描述和检索运算上仍存在着很大的不足,进行GIS的技术设计时,完全采用通用数据库管理系统远非理想;但是,由于通用数据库管理系统在数据定义、结构扩充、数据更新和数据运算上效率高、通用性较强,因此目前很多GIS仍倾向于采用通用数据库管理系统作为其数据管理的支持系统。而与此同时,更适合于GIS需要的具有最小冗余、最大灵活性以及最快速的空间型数据库管理系统也正在发展之中。
-《地理信息系统基本原理及应用》