论文部分内容阅读
随着数据库与信息技术的不断发展,时态信息处理已成为许多新一代数据库信息系统的重要研究方向。但是由于时态技术相对落后和时态语言难于标准化的原因,在实践中至今还没有真正实现一个既具有传统数据库的功能,又能实现时态处理的完整的时态数据库。事实上,在短期内开发出全新的时态数据库并取代现有数据库系统是不现实的。因此通过在传统关系数据库管理系统上建立时态中间件的方式来构建时态数据库管理系统在相当长的时期内将会是一种很好的解决方案。
基于这样的理念,中山大学数据库与协同实验室开发出了时态中间件系统TempDB。目前的TempDB是一个可以将ATSQL转换成标准SQL语言的一个解析系统。本文基于TempDB当前的研究成果,在其基础上进行时态聚集查询的研究与实现。
聚集查询是数据库领域的重要研究内容之一,并且随着时态数据库研究的逐渐深入,时态聚集查询也成为该领域内的研究热点。本文先从时态聚集查询的语法出发,在ATSQL语言中定义了时态聚集查询的BNF,并利用JavaCC工具将其生成一棵时态聚集查询的语法树。然后对语法树中的每个结点设计了相应的转换算法,将整棵时态聚集查询的语法树转换成符合标准SQL语法的语法树,并在转换过程中对语法树进行语义分析。最后通过转换好的语法树生成标准SQL语句,并从中抽离出聚集函数,在底层的MySq1数据库中查询出需要聚集的数据,利用平衡树算法和归并聚集算法得出最终的聚集值,实现了TempDB中时态聚集查询的功能。