在常规数据库系统中,表中存储的数据被认为在当前有效。因为常规表限于存储当前的现实快照,而不保留过去存在或未来将会有效的数据。使用时间数据库,您可以通过提供时间数据类型和存储与过去、现在和未来相关的信息,存储与时间点相关的数据。例如,时间数据库系统中的表可以存储关于当年每月月末库存水平的数据。通过将数据的时间维度存储在表中,您可以查询历史及未来数据趋势。
时间 | 说明 |
---|---|
ValidTime |
基于现实世界、使用某个事实(数据行)在现实世界中为 true(有效)的期间进行建模的数据。表中的 DATE 或 TIMESTAMP 列的值定义了得知某个事实有效的时间。 |
TransactionTime |
跨某个期间的数据,该期间开始于某个事实(数据行)被记录(提交)到数据库之时,结束于该事实经过更新、回滚或删除操作而被取代之时。表中的 TIMESTAMP 列的值定义了事实的事务时间。 |
<table selection = "included"> <name>Employee_BT_1</name> <target_database> <name>MyDatabase</name> </target_database> </table>
如果未指定 force_utility,Data Mover 将在复制时间表时自动选择 Teradata DSA。如果 DSA 不可用,则会选择 Teradata PT update 运算符。如果强制使用 Teradata PT,则会选择 Teradata PT update 运算符作为复制方法。在使用 DSA 复制整个数据库时,源系统中的所有时间表都会复制到目标系统。复制时间表时,可以在目标系统中重命名时间表或重新指定时间表的位置,或者对时间表执行部分复制。
<NONSEQUENCED VALIDTIME> <AND> <NONSEQUENCED TRANSACTIONTIME> SELECT * FROM Source_Table;非顺序查询不会为时间列赋予任何特殊语义,而是像对待任何其他常规列那样对待这些列。因此,所有的当前行、历史行和未来行(无论处于开放还是关闭状态)都将复制到目标系统。
时间表的主键约束通过系统定义的联接索引来维护。创建该表时,Teradata Database 会自动生成此系统定义的联接索引。复制时间表时,无需单独复制系统定义的联接索引。DSA 会复制系统定义的联接索引设置。对于其他复制方法,如果该表已存在,则表明目标中已存在系统定义的联接索引;或者在此作业中创建该表时,系统会自动生成该联接索引。
- 当 allowTPtLoadForMultiset 属性未设置为 true 时,使用 TPT API LOAD 运算符进行复制。
- 将时间表及其系统定义的联接索引作为单独项目进行复制,而不是只复制时间表。