时态数据库在电子商务中的应用
作者: 师胜利 董瑞卿 杨彦锡, 出处:计算机与信息技术, 责任编辑: 李书琴,
2008-05-14 09:58
本文针对目前电子商务中信息处理方法的不足,结合时态理论、数据库等理论知识,提出一个解决电子商务中信息有效性的处理方法。
表1 某公司合同的传统信息模式
|
合同号 |
合同名称 |
签约单位 |
签约金额 |
签约日期 |
|
00001 |
XXX合同 |
A公司 |
10000 |
2002.5.1 |
|
00002 |
YYY合同 |
B公司 |
12000 |
2003.1.6 |
表2 某公司合同的历史数据库
|
合同号 |
合同
名称 |
签约
单位 |
签约
金额 |
有效时间 | |
|
生效日期 |
无效日期 | ||||
|
00001 |
XXX合同 |
A公司 |
10000 |
2002.6.1 |
2002.10.1 |
|
00002 |
YYY合同 |
B公司 |
12000 |
2003.1.10 |
2003.2.10 |
3 时态查询语言
时态数据库使用的语言有多种,目前还没有形成较完整的国际标准,大部分时态数据查询语言只是扩展当前的查询语言,有13种被收入时态数据库专著《Temporal Database—Theory, Design and Implementation》中。其中TSQL2语言是时态数据库模型、时态数据查询语言的研究成果与SQL-92的结合,是当前最具代表性的时态数据库查询语言[5]。TimeDB是Andreas Steiner等人开发的一个支持双时态数据库的软件,可以支持ATSQL2--时态查询语言,下面介绍如何利用TimeDB实现合同关系的时态查询。
1) 创建合同关系
| CREATE TABLE合同(合同号 integer, 合同名称 varchar(30), 签约单位 varchar(30), 签约金额 integer) AS VALIDTIME; |
2)插入数据
VALIDTIME PERIOD[2006.3.10-2006.5.10] INSERT INTO 合同 VALUES(00003,‘ZZZ合同’,’C公司’,20000);
3)查询合同有效期在2002.5.1~2003.5.1间有效的合同
| VALIDTIME PERIOD[2002.5.1-2003.5.1] SELECT 合同,合同名称,签约单位,签约金额 FROM 合同; 则显示结果如下: lidtime 合同号 合同名称 签约单位 签约金额 --------------------------------------- 002.6.1-2002.10.1] 00001 AAA合同 A公司 10000 003.1.10-2003.2.10] 00002 BBB合同 B公司 12000 |
以上一个简单的带有有效时间信息的数据库的创建、插入数据以及查询数据,可以看出ATSQL2在标准SQL语句中加入时态关键字VALIDTIME,这样的语句可以处理时态信息,也可以和标准SQL语句兼容,也就是标准SQL语句可以继续在支持ATSQL2的TDBMS中应用。
4 结束语
本文分析了电子商务信息中的时间因素,指出目前电子商务数据信息处理中的不足。针对目前的这种不足,结合时态信息处理技术和数据库技术,提出一种解决方法。本文提出的解决方法不局限于电子商务应用,可以拓展到电子政务等其他领域。

