随锐旗下互动传媒:

时态数据库在电子商务中的应用

http://www.weaseek.com  2008-05-14 10:30:35  来源:IT专家网

表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 结束语

本文分析了电子商务信息中的时间因素,指出目前电子商务数据信息处理中的不足。针对目前的这种不足,结合时态信息处理技术和数据库技术,提出一种解决方法。本文提出的解决方法不局限于电子商务应用,可以拓展到电子政务等其他领域。

[作者:师胜利,董瑞卿,杨彦锡]

[责任编辑:梧桐]热门关键词: 数据库 电子商务