最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

DB2中理解系统时间和业务时间

来源:懂视网 责编:小采 时间:2020-11-09 09:48:55
文档

DB2中理解系统时间和业务时间

DB2中理解系统时间和业务时间:DB2 不再仅仅面向 DBA。长久以来,DB2 因杰出的核心 DBMS 功能而闻名于世,而如今,DB2 使开发人员也能够利用它的强大特性。这方面的一个示例就是直接在模式内实现基于时间的信息。这是通过 DB2 10 for Linux, UNIX, and Windows 中新增的时
推荐度:
导读DB2中理解系统时间和业务时间:DB2 不再仅仅面向 DBA。长久以来,DB2 因杰出的核心 DBMS 功能而闻名于世,而如今,DB2 使开发人员也能够利用它的强大特性。这方面的一个示例就是直接在模式内实现基于时间的信息。这是通过 DB2 10 for Linux, UNIX, and Windows 中新增的时

DB2 不再仅仅面向 DBA。长久以来,DB2 因杰出的核心 DBMS 功能而闻名于世,而如今,DB2 使开发人员也能够利用它的强大特性。这方面的一个示例就是直接在模式内实现基于时间的信息。这是通过 DB2 10 for Linux, UNIX, and Windows 中新增的时态表来实现的。

DB2 不再仅仅面向 DBA。长久以来,DB2 因杰出的核心 DBMS 功能而闻名于世,而如今,DB2 使开发人员也能够利用它的强大特性。这方面的一个示例就是直接在模式内实现基于时间的信息。这是通过 DB2 10 for Linux, UNIX, and Windows 中新增的时态表来实现的。

利用时态表,您能够轻松地跟踪和分析业务中的变化,准确对比两个时间点的数据。该功能允许您有效执行和跟踪数据更正,支持您在过去执行数据更改,也就是说,使之作为过去的某个特定时间点而“生效”,同时记录执行更改的时间。时态表提供了显示过去任意时间点数据的能力,也能显示相同事务中的哪些信息发生过更改,更改是在何时执行的,因此能够促进审计与合规性。

时态表是什么?

时态表允许您将基于时间的状态信息与 DB2 管理的数据关联,并使之与应用程序逻辑保持无关。DB2 中的时态表功能允许跟踪数据更改(版本控制),支持自定义业务数据存储和操作(以及两者的结合)。

时态表分为两种类型:系统和应用程序。DBA 可以使用双时态表,同时利用两种类型的功能。

时态表能简化过去、现在和未来任意给定时间点的数据报告,因而有助于加强业务洞察。这种功能可提高开发人员的生产力(DB2 内的处理时间管理意味着更少的编码工作,更简单的编码意味着维护成本的降低),因此可降低成本。时态表也能减少合规性工作,支持更好地跟踪数据更改。时态表提供了基于标准的技术,能在整个企业的范围内实现一致性和出色的数据质量。时态表深度集成所有特性,包括分区、压缩和视图。

系统时态表

系统表支持以操作时间(即操作系统时间)为依据的基于时间的功能。系统时态表利用历史表,存储数据的历史版本。

您该如何实现系统时态表?首先,使用 SYSTEM_TIME 属性创建或更改一个基础表,包含以下三个具体生成列:

 行起始列:行数据成为当前数据的时间
 行结束列:行数据不再属于当前数据的时间
 事务起始 ID 列:影响该行的事务的起始执行时间。

接下来,创建一个完全相同的表,作为历史表。该表必须使用与基础表完全相同的布局。但您可以按照自己的需求配置历史表,例如分区、压缩或存储位置。

第三步是使用 Alter 语句将历史表与基础表相关联,并为基础表添加版本控制,即:ALTER TABLE policy_info ADD VERSIONING USE HISTORY TABLE hist_policy_info。
例如:

CREATE TABLE policy_info
(
policy_id CHAR(4) NOT NULL,
coverage INT NOT NULL,
sys_start TIMESTAMP(12) NOT NULL GENERATED ALWAYS AS ROW BEGIN,
sys_end TIMESTAMP(12) NOT NULL GENERATED ALWAYS AS ROW END,
ts_id TIMESTAMP(12) NOT NULL GENERATED ALWAYS AS
TRANSACTION START ID,
PERIOD SYSTEM_TIME (sys_start, sys_end)
) IN policy_space;
CREATE TABLE hist_policy_info
(
policy_id CHAR(4) NOT NULL,
coverage INT NOT NULL,
sys_start TIMESTAMP(12) NOT NULL,
sys_end TIMESTAMP(12) NOT NULL,
ts_id TIMESTAMP(12) NOT NULL
) IN hist_space;
ALTER TABLE policy_info ADD VERSIONING USE HISTORY TABLE hist_policy_info;

系统表函数

发生变化时,DB2 会自动将基础表中的行迁移到历史表,并根据需要更新三个时间列。基础表和历史表的所有管理都是自动、透明的,无需任何编码。编写查询时,仅需引用基础表,DB2 将根据日期范围,自动访问历史表。

系统时态表提供了多种收益:

 对于仅访问当前数据的应用程序,DB2 仅访问基础表,因此影响将降低。
 当前数据的联机加载、重组、索引创建和其他维护操作不会因历史表而减速。
 可以分别为基础表和历史表选择物理存储选项(例如,位置、压缩、分区和集群等)。
 基础表和历史表可以具有不同的索引和约束。
 基础表数据和历史表数据的恢复可以分别执行。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

DB2中理解系统时间和业务时间

DB2中理解系统时间和业务时间:DB2 不再仅仅面向 DBA。长久以来,DB2 因杰出的核心 DBMS 功能而闻名于世,而如今,DB2 使开发人员也能够利用它的强大特性。这方面的一个示例就是直接在模式内实现基于时间的信息。这是通过 DB2 10 for Linux, UNIX, and Windows 中新增的时
推荐度:
标签: 时间 日期 理解
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top