论文部分内容阅读
演绎数据库与面向对象数据库是对关系数据库技术的两大扩展。演绎数据库既扩展了关系数据库的查询能力,又保持了关系数据库的数学基础。面向对象数据库能够提供丰富的数据建模能力。两者具有很大的互补性,所以演绎数据库和面向对象数据库的结合必然会成为数据库领域的一个研究热点。演绎对象数据库不只是两个相关方向研究成果的简单合并,它还牵涉到面向对象数据模型、面向对象数据库的理论基础、基于逻辑的查询语言、结构化对象(或称复杂对象)处理、数据库系统体系结构及开发等问题。 本文是在本课题组已开发的演绎对象数据库系统SD-DOOD之上进行改进和扩充,在SD-DOOD的数据模型的基础上增加了复杂数据类型——集合;在查询表达式中支持主动表达式和集合表达式;进一步探寻演绎数据库和面向对象数据库的结合途径。本文的主要工作为: 1.介绍了包含集合和继承的语法及语义,从语义的角度阐明了数据库的约束条件。 2.给出了演绎对象数据库SD-DOOD的系统结构图,然后对系统结构图中涉及到的每一个模块的功能进行了详细的解释。 3.区分了完整集和部分集的概念,实现了集合这一数据类型。讨论并实现了部分集在规则中的应用:规则体中部分集用来列举集合中的元素,而规则头中部分集用来聚集属于集合的所有元素。通过对方法表达式中的部分集和属性表达式中的部分集的不同的转换方法和存储方法实现了含有部分集规则的推理。实现了完整集的并、交、差以及划分操作。集合的实现减少了数据库的存储冗余,也方便了用户描述复杂对象。 4.对查询进行了详细地分类。对模式定义和实例属性的查询采用匹配方式,对于方法的查询的实现有自底向上和自顶向下两种,重点介绍了如何将演绎对象数据库语言(DOOL)转换为演绎数据库语言(DDL)然后用DDL中的最小不动点算法求解的过程和算法。复杂查询要划分为几部分简单查询来实现。 SD-DOOD系统是在WindowsXP环境下,采用LEX&YACC对DOOL语言进行