《时态数据库管理系统ppt.ppt》由会员分享,可在线阅读,更多相关《时态数据库管理系统ppt.ppt(10页珍藏版)》请在三一办公上搜索。
1、1,数据库系统与技术(5)-时态数据库管理系统,汤 庸 博士,计算机科学系协同软件研究开发中心,2,目录,什么是TDBMS?TempDB,3,什么是TDBMS,一般认为,一个时态数据库管理系统需要支持以下功能:一种时态数据定义语言(a temporal data definition language);一种时态数据操作语言(a temporal data manipulation language);一种时态查询语言(a temporal query language);时态约束(temporal constrants),比如时态外键一致性约束。,4,TimeDB,TimeDB是Andrea
2、s Steiner开发的一个双时态关系数据库管理系统(Bitemporal Relational DBMS),支持建立在SQL上的时态查询语言、时态修改声明、时态视图和时态完整性约束,被认为第一个完备的时态DBMS实现。严格来说,TimeDB本身不是时态数据库管理系统,而是一个建立在非时态的商业数据库管理系统之上的前端应用层,实现基本的时态数据管理功能。TimeDB采用统一的方法,将时态SQL声明转换成标准的SQL声明,然后在商业数据库管理系统上执行,支持时态查询语言ATSQL2。,5,TimeDB,(1)时态数据定义语言时态数据定义语言用来定义TDBMS中各种时态数据。比如,在TimeDB中
3、,一个支持双时态的数据表可以用时态数据定义语言这样创建:CREATE TABLE Students(StdID INTEGER,Name CHAR(30),Department CHAR(40)AS VALIDTIME AND TRANSACTIONTIME;,6,TimeDB,(2)时态数据操作语言时态数据操作语言用来提供对TDBMS中的时态数据的各种操作。比如,在TimeDB中,可以用如下语句来插入关于学生LiJianguo的时态信息:VALIDTIME PERIOD 2001-2003 INSERT INTO Students VALUES(10,LiJianguo,Maths);VAL
4、IDTIME PERIOD 2004-2005 INSERT INTO Employees VALUES(10,LiJianguo,Physics);VALIDTIME PERIOD 2006-forever INSERT INTO Employees VALUES(10,LiJianguo,Computer Science);,7,TimeDB,(3)时态数据查询语言时态数据查询语言用来查询TDBMS中的数据,且提供对时态语义的支持。比如在TimeDB中,可以有如下查询:VALIDTIME SELECT*FROM Students;以上查询返回的是所有学生的历史信息,外加其有效时间。TRAN
5、SACTIONTIME SELECT*FROM Students;以上查询返回的是学生表里的元组被存储进数据库的时间。如果需要同时得到事务时间和有效时间,可以用如下语句:VALIDTIME AND TRANSACTIONTIME SELECT*FROM Students;事实上,任何标准的SQL查询都可以用关键字VALIDTIME、TRANSACTIONTIME 或者 VALIDTIME AND TRANSACTIONTIME扩展,8,TimeDB,(4)时态约束时态完整性约束也可以用同样方法的表示。比如,外键完整性约束要求在任何有效时间,学生必须是某个学院中的一员,且这个学院必须是存在的,可以如下表达:CREATE TABLE Students(StdID INTEGER,Name CHAR(30),Department CHAR(40)VALIDTIME REFERENCES Departments(department)AS VALIDTIME AND TRANSACTIONTIME;,9,TimeDB,一个示例2p96-97,10,思考题:1 TDBMS应具备哪些基本功能?23,