如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验报告题目:如何在时态数据库中增加索引学生姓名:肖猷杰_学号:04370082__时态数据库不仅可以实现传统数据库对数据的存储、管理等功能,同时将数据的时态信息也纳入数据库的管理范围,对外提供一个一致、高效的时态数据处理平台供用户使用。然而主流的数据库管理系统都不支持时态查询语言的操作,因此在传统的处理跟时间相关的业务逻辑应用当中,对于每一个应用程序,程序员都必须将关于时间处理的业务逻辑部分跟应用程序的其他部分集成在一起,其结构如图1-1所示。由于这些时间相关的业务逻辑通常具有很高的相似性,这样做就会导致程序的结构比较臃肿,功能重用性低。另外当需要对这些时间相关的业务逻辑部分进行修改时,往往要对每一个相关的部分进行修改,工作量很大,而且容易出错。如果将与时间相关的业务逻辑部分抽取出来,然后在传统的RDBMS与应用程序之间插入一个时态数据库中间件层,就可以有效地解决以上的问题。新的应用程序系统结构如图1-2所示。在传统数据库的应用已经非常普及的情况下,时态数据库的研究应该以其为基础,而不应与其脱离,在其基础上逐步加入时态信息处理机制。事实上,在短期内,人们还无法取代现有数据库系统而开发出全新的时态数据库的。利用现有的数据库系统,并与第三方开发的时态信息处理中间件结合是一个比较好的解决方案。时态中间件将时态SQL语言转换成标准的SQL语言,然后将标准的SQL语言交给底层的DBMS处理。即使是当前最有代表性的时态数据库产品TimeDB,还有很多需要完善的地方。中山大学数据库与协同实验室结合时态数据库理论,特别是其中的时态关系代数和编译原理的基本思想,实现了一个时态数据库中间件TempDB,为时态数据库理论研究和时态信息处理相关的应用开发提供了一个有力的工具。TempDB中间件对TimeDB进行了如下各方面的改进:系统与后台DBMS职责划分不明造成效率低下,TimeDB系统可移植性不高,缺乏多用户并发操作的支持。本实验报告基于TempDB的研究成果,在此基础上再进行理论研究。以当前时态数据库研究领域中被忽视了的时态数据索引为切入点,研究了时态数据索引的实现机制及其对时态SQL执行效率的影响。第1章时态查询语言的语法分析1.1ATSQL2与SQLATSQL2(AppliedTemporalSQL2)是在SQL3规范中添加时态支持的时态查询语言,于1996年获得ANSI通过。它定义了时态数据查询语句、时态数据修改语句、时态数据定义语句、时态约束和断言的语法和语义。ATSQL2作为SQL语言的扩展,首先必须考虑两种语言的兼容性。SQL3语言必须是ATSQL2的子集,每一个SQL3语句在ATSQL2中必须具有相同的语义。其次,ATSQL2汇集了众多前期时态查询语言的特点,拥有支持时态完整性的查询语言,同时支持时态数据库对有效时间和事务时间的描述,即这是一门支持双时态查询的语言。关于ATSQL2的深入分析及其完整BNF定义可以参见更多文献。另外需要说明的是,时态数据中间件TempDB采用的语言并不是标准的ATSQL2语言,而是作者在ATSQL2基础上进行修改剪裁后得到的更加严谨、简洁的语言,其完整的BNF语法定义参见附录一。1.2时态SQL语句的转化及执行过程在当前版本的TempDB采用的ATSQL2语言修改版本中,ATSQL2语言包括时态数据定义语言(TemporalDDL)、时态数据操纵语言(TemporalDML)和时态数据查询语言(TemporalQuery)。接下来的三小节将分别介绍TempDB对这三种不同用途的语句的转化及执行过程。1.2.1时态DDL时态DDL语句转换模块主要处理四种子语句,即创建表格(CREATETABLE)、创建视图(CREATEVIEW)、删除表格(DROPTABLE)、删除视图(DROPVIEW)。其中删除表格和删除视图的部分并不需要太多与时态相关的处理,而创建视图的工作又是创建表格和数据查询两部分的结合。于是TempDB对时态DDL的处理集中在创建时态表格的部分,以下是时态表格创建语句实例:1、时态表格创建语句2、转换后的标准SQL语句可以看到,在时态SQL语句中使用了"ASVALIDTIME"来指定创建一张时态表格,反映在后台关系型数据库中会增加两个时间列用以存储有效时间,并将用户指定的逻辑主键和两个有效时间列一同设置成为联合主键。1.2.2时态DML在当前版本的TempDB采用的ATSQL2语言修改版本中,时态DML包括时态插入语言(INSERTINTO)和时态删除语言(DELETEFROM)两个部分的子语句。在时态语义下,对数据表格的插入和删除