数据库的数据模型反映了数据库中数据的整体逻辑组织。更具体的讲,数据库的数据结构,操作集合和完整性规则集合,组成了数据库的数据模式。在数据库中,数据内容的描述,以及数据之间的联系,主要通过数据库的数据模型来实现。建立数据库要选择什么样的数据模型,取决于问题的性质和所要表达的实体之间联系的形式。
4.3.1 传统的数据模型
数据库领域中,传统的数据模型主要有三种,即层次模型、网络模型和关系模型。从发展过程看,70年代广泛流行的是网络数据模型和层次模型。自80年代以来,占主导地位的是关系数据模型。目前,人们把层次数据库,网络数据库和关系数据库称为传统的数据库系统,它们的数据模型称为传统数据模型,与之相应的数据库技术称为传统数据库技术。
一、传统数据模型的特点
为了说明传统数据模型及其在地理信息系统中的应用,下面以图4-1地块图为例说明之。图中空间数据的基本单元为结点N1,N2,N3,N4,N5;弧段a1,a2,a3,a4,a5,a6,a7;区域P1,P2,P3,P4。当采用不同数据模型时,对空间数据将有不同的表达方式。
1.层次模型。从数据结构的观点看,层次模型采用的是树数据结构。因此,它具有树数据结构的一系列特点,表达的数据关系是一对多的方式。模型的记录都处于一定的层次上。层次模型实现的方法之一是把层次模型中的记录按照先上后下,先左后右的次序排列,所得到的记录序列,称层次序列码。层次序列码指出层次路径,并按层次路径存储和查找记录。
层次模型的优点是结构清晰、易理解;缺点是冗余度大,不适于表示数据的拓扑关系。图4-1的地块图的层次数据模型如图4-2所示。图中有很多重复弧段和结点,如弧段a3重复出现了两次,结点N2重复出现了4次。
2.网络模型。从数据结构的观点看,网络模型采用图数据结构。因此,它具有图数据结构的一系列特点。它表达的数据关系是多对多,且数据之间具有显式的连接关系,但没有明显层次关系。
网络模型同层次模型相比其优点是大大地压缩了数据量,便于表达复杂的拓扑关系;其缺点是数据之间的联系要通过指针表示,指针数据项的存在,使数据量大大增加。同时,在修改数据库中的数据时,指针也必须随着变化,因此,网络数据库中指针的建立和维护十分重要。图4-1 地块图数据的网络模型如图4-3所示。
3.关系模型。从数据结构的角度看,关系模型采用线性表数据结构。它把数据的逻辑结构归结为满足一定条件的二维表,这种表称为关系。一个实体由若干个关系组成,而关系表的集合就构成了关系模型。
关系模型的优点是数据结构简单、清晰,能够直接处理多对多的关系,可用布尔逻辑和数学运算规则对数据查询,数据独立性强,便于数据集成,便于对数据进行操作,所以是当前数据库中最常用的数据模型。此外,关系数据库技术的出现,产生了对数据库查询的标准语言SQL。其主要缺点是当涉及的目标很多时,操作时间长,效率低。表4-3为图4-1地块图空间数据的关系模型的表示方法。但由于关系数据库缺乏处理抽象数据能力,从而无法直接实现空间数据的查询操作。