第三节 地理空间数据库
三、面向对象的数据库系统
为了较好地模拟和操纵现实世界中的复杂现象,克服传统数据模型的局限性,人们从更高的层次(如语义层次)提出了一些数据模型。它们包括以数据库设计为背景而产生的实体—联系(E-R)模型,从操作角度模拟客观世界且具有严密代数基础的函数数据模型,对事物及其联系进行自然表达的语义网络模型,基于图论多层次数据抽象的超图数据模型,基于一阶谓语逻辑的演绎数据模型,以及以面向对象概念和面向对象程序设计为基础的面向对象数据模型。其中面向对象数据模型是高层次数据模型的最重要发展,因为它包含了其它模型在数据模拟方面的很多概念,并能很好地模拟和操纵复杂对象。
面向对象方法的基本思想是:对问题领域进行自然的分割,以更接近人类通常思维的方式建立问题领域的模型,以便对客观的信息实体进行结构模拟和行为模拟,从而使设计出的系统尽可能直接地表现问题求解的过程。面向对象数据库系统就是采用面向对象方法建立的数据库系统。
1.面向对象数据库系统的特性
面向对象数据库系统首先具备常规数据库系统所提供的全部特性,其中包括:
(1)数据模型。它提供一组模拟信息实体的数据结构,一组操纵信息实体的方法和一组定义数据一致性状态的约束条件。
(2)永久性。数据应长久存贮,并能为应用程序交叉使用。
(3)并发性。多个用户可同时访问和使用同一个数据库,并能相互进行交互。
(4)事务管理。它应能监视数据库的交互过程,确保数据的一致性(正确性)和稳定性。
(5)恢复功能。当系统突遇事故而发生故障甚至毁坏时,它应将系统恢复到以前的某种特定状态。
(6)查询语言。它应使用一种易用的高级语言访问和查询实体信息。
(7)辅存管理。它应提供一组用于改善访问性能的高效结构和算法,包括索引管理、数据聚集、数据缓冲区、查询路径选择及查询优化等。
(8)安全性。它应具有保护信息的措施,并提供权限检查的功能。
另外,面向对象数据库系统还具备下列面向对象的特性:
(9)数据抽象。它应能开发和使用灵活的、逻辑上复杂的抽象数据类型。
(10)较强的信息模拟能力。现实世界中实体的结构和行为在计算机环境中被描述为类和对象,这种形式特别适合于模拟和用途。
(11)对象标识。系统为对象定义并维护唯一的标识符,这一标识符独立于对象本身的内容和地址,井支持对象的共享。
(12)封装性与数据隐藏。对象由其类型定义的方法操纵,其内部结构对于外部访问来说是隐藏的。
(13)主动(智能)数据。过程与数据的封装使系统具有推理能力,并具有一致性和有效性,这也就增强了数据库定义智能操作触发器的能力。
(14)继承性。由类的抽象可构成类层次,类层次中子类可继承其超类的数据与行为。超类的特殊化为子类,子类的概括化形成超类。继承性自动维护类层次中的关系。
(15)多态性。数据和成员函数都可以在运行时刻动态地解释为不同的含意,这是用重载和动态联编实现的。
(16)复合性。一组对象可以是另一个对象的一部分。
(17)消息传递。对象之间的交互是通过消息激活对象中的方法来体现的。这个特性增强了系统的模拟能力。
(18)计算完整性。系统在计算上应该是完整的。
(19)可扩充性。系统提供的操作、结构和约束不是固定的,用户可以在应用中增量地定义新的操作和类型。