时间:2022-11-11 02:30:02 | 来源:信息时代
时间:2022-11-11 02:30:02 来源:信息时代
时态数据库管理系统 : 提供时态数据操作并支持时态数据管理的数据库管理系统。传统的数据库管理系统有支持日期和时间的数据类型,但不能直接支持和管理时态数据,而有关时态数据的查询还需要用户设计来完成。一个时态数据库管理系统应该包含:
(1)时态数据定义语言(temporal data definition language,TDDL):用来定义TDBMS中各种时态数据。
(2)时态数据操纵语言(temporal data manipulation language,TDML):用来提供对TDBMS中的时态数据的各种操作。
(3)时态查询语言(temporal query language): 用来查询TDBMS中的数据,且提供对时态语义的支持。
(4)时态约束(temporal constraints):支持参照约束(reference constraints)和外键约束(foreign key constraints)要求指定的列(外键)中正被插入或更新的新值,必须在被参照表(主表)的相应列(主键)中已经存在。例如,外键完整性约束要求在任何有效时间,学生必须是某个学院中的一员,且这个学院必须是存在的,可以如下表达:
CREATE TABLE Students
(StdID INTEGER,Name CHAR(30),
Department CHAR(40) VALIDTIME REFERENCES
Departments(department))
AS VALIDTIME AND TRANSACTIONTIME;
Andreas Steiner开发的一个双时态关系数据库管理系统(bitemporal relational DBMS)TimeDB支持建立在SQL上的时态查询语言、时态视图和时态完整性约束,该系统被认为是第一个完备的时态DBMS实现。
TimeDB本身还不是完备的时态数据库管理系统,而是一个建立在非时态的商业DBMS之上的前端应用层,实现基本的时态数据管理功能,这类系统还有TempK/DB等。TimeDB采用统一的方法,将时态SQL声明转换成标准的SQL声明,然后在商业DBMS上执行,以支持时态查询语言ATSQL2。TimeDB是商业DBMS的一个前端软件,在对非时态数据进行操作时,它们没有什么差别,但涉及到时态数据的操作时,TimeDB就变得简单明了,时态操作越复杂,其优势就越明显。