第三节 地理空间数据库
一、传统的数据库模型
目前,数据库领域采用的数据模型有层次模型、网状模型和关系模型,其中应用最广泛的是关系模型。
1.层次模型与树结构
层次模型是数据处理中发展较早、技术上也比较成熟的一种数据模型。它的特点是将数据组织成有向有序的树结构。结构中结点代表数据记录,连线描述位于不同结点数据间的从属关系(限定为一对多的关系)。
层次模型反映了现实世界中实体间的层次关系,层次结构是众多空间对象的自然表达形式,并在一定程度上支持数据的重构。但其应用时存在以下问题:
(1)由于层次结构的严格限制,对任何对象的查询必须始于其所在层次结构的根,使得低层次对象的处理效率较低,并难以进行反向查询。数据的更新涉及许多指针,插入和删除操作也比较复杂。母结点的删除意味着其下属所有子结点均被删除,必须慎用删除操作。
(2)层次命令具有过程式性质,它要求用户了解数据的物理结构,并在数据操纵命令中显式地给出存取途径。
(3)模拟多对多联系时导致物理存贮上的冗余。
(4)数据独立性较差。
(5)基本不具备演绎功能。
(6)基本不具备操作代数基础。
2.网状模型与图结构
网状模型的基本特征是,结点数据间没有明确的从属关系,一个结点可与其它多个结点建立联系。网状模型将数据组织成有向图结构。结构中结点代表数据记录,连线描述不同结点数据间的关系。
有向图(Digraph)的形式化定义为:
Digraph=(Vertex,{Relation})
其中Vertex为图中数据元素(顶点)的有限非空集合;Relation是两个顶点(Vertex)之间的关系的集合。
有向图结构比树结构具有更大的灵活性和更强的数据建模能力。网状模型可以表示多对多的关系,其数据存贮效率高于层次模型,但其结构的复杂性限制了它在空间数据库中的应用。
网状模型反映了现实世界中常见的多对多关系,在一定程度上支持数据的重构,具有一定的数据独立性和共享特性,并且运行效率较高。但它应用时存在以下问题:
(1)网状结构的复杂,增加了用户查询和定位的困难。它要求用户熟悉数据的逻辑结构,知道自身所处的位置。
(2)网状数据操作命令具有过程式性质。
(3)不直接支持对于层次结构的表达。
(4)基本不具备演绎功能。
(5)基本不具备操作代数基础。