论文部分内容阅读
演绎数据库(DDB)和面向对象数据库(OODB)自80 年代以来,它们分别沿着不同的道路独立地发展,在各自领域的理论、技术及系统等方面都取得了许多成果。DDB 的研究是典型理论驱动的,而OODB 的研究是典型应用驱动的,这两方面的研究具有很大的互补性。OODB 的主要问题是缺乏一个语义形式,而DDB 使用的是关系模式,不支持对象标识和数据抽象概念,因此将两方面研究结合起来,以复杂对象建模和数据抽象能力为核心,以基于规则的OODB 查询语言作为接口语言是新一代数据库的基本特征。演绎数据库和面向对象数据库是传统数据库技术两个重要的扩展,通过用固定逻辑基础的递归和声明查询,演绎数据库扩展了传统数据库的表达能力,这样的语言例子有Datalog, LDL 和Coral。通过对象标识、复杂对象、类、类继承,面向对象数据库扩展了传统数据库的建模能力。这样的语言例子有Iris, Exodus, Orion,Jasmine,然而两类扩展都有短处,演绎数据库缺乏强大的数据建模能力,而面向对象数据库缺乏逻辑语义和声明查询语言。在过去的几年,为了整合两种数据库的优点,许多努力被做。许多演绎的面向对象数据库被提出,例如O-logic,C-logic,IQL,IQL2,F-logic, LOGRES,LLO,LOL, DLT,Gulog,Coral++,Rock &Roll。我们认为在下一代信息系统中组合面向数据(结构化)、行为和演绎方面是必要的。这意味着演绎面向对象样式对下一代信息系统的实现提供了一个非常有前景的起始点。然而,已存在DOOD 查询语言提议要求用户有编程技巧(经常是逻辑编程和面向对象编程技巧)。从表达信息的角度的来说,我们认为用户查询语言应该含有高级面向对象和演绎原语的集合。从用户的观点来说,特定的查询公式含有这些原语和指定他们上的条件。在下一代信息系统中,我们提出通过把他们嵌入到这些原语中来对用户隐藏大的和复杂的演绎细节。用户可以把这些原语解释为具体的应用概念和结构。在面向对象查询语言中,因为用户可以使用方法,这种方法已经被应用了。本文中,我们展示了演绎规范的定义从原语的角度已经对用户隐藏了。为了定义出演绎对象查询语言(DOQL),从原语的角度出发,引入一个演绎类型的ER 图实例,并在ER 图实例的基础上,用事件监视器应用规