时态数据库的应用介绍(2)--时态数据库之TimeDB

简介:

前面介绍了TimeDB(http://www.timeconsult.com/Software/Software.html)是一种结合关系型数据库来实现时间数据库应用的技术,它支持时态数据库脚本:ATSQL2 [SBJS96a,SBJS96b,SBJS98]。它可以认为是关系数据库的一个前端,把时态数据库语句转换为关系型数据库的脚本进行执行,它的运用场景如下所示。
TimeDBArchiture.jpg

TimeDB是传统的数据库管理系统的前端软件,应用程序中使用的时态ATSQL语句,通过TimeDB转换后形成标准的SQL语言和操作,这些标准SQL语句和操作传入到后台数据库中操作实际的数据。TimeDB支持ATSQL2语言和时态模型,实现了时态查询、时态更新、时态视图和部分的时态完整性约束等基本的时态功能。
TimeDB 2.0版本使用Java语言开发,具有平台无关的有点;基于JDBC访问数据库,目前仅支持Oracle、Sybase和IBM的Cloudscape’s JBMS三种数据库,下一版本可能支持Microsoft's Access、SQL Server 7.0、Informix等数据库;具有较友好的用户界面;优化了辅助表的创建过程;具有可以供Java应用程序调用的接口TDBCI,可供Java应用程序调用以执行ATSQL2语句。TimeDB2.0的程序运行界面如下:
timeDB.jpg
TDBCI提供的接口函数如下所示

None.gif // 设置访问参数
None.gif
public   boolean  setPrefs(String Path,  int  DBMS, String JDBCDriver, String URL); 
None.gif
// 初始化/清除 执行ATSQL语句所需的表
None.gif
public   boolean  createDB();
None.gif
public   boolean  clearDB();
None.gif
None.gif
// 打开或者关闭数据库
None.gif
public   boolean  openDB(String Login, String Password);
None.gif
public   void  closeDB();
None.gif
None.gif
// 执行 ATSQL语句
None.gif
public  ResultSet execute(String stmt);

其中setPrefs是用来设置TimeDB的相关访问参数的,如下所示
None.gif if (t.setPrefs("C:\\TimeDB 2.2\\",     // Path to TimeDB2.0 directory 
None.gif
 1,                                 // Using Oracle DBMS
None.gif
"oracle.jdbc.driver.OracleDriver", // Oracle's JDBC driver
None.gif
                      "jdbc:oracle:thin:1521:ORCL"))     // URL


createDB是用来创建一些基础表,以便支持执行ATSQL的,而clearDB则是清除这些表,对数据库而言,只需要开始的时候调用createDB一次即可。
openDB 和closeDB有点类似于我们操作数据库的时候,打开Connection连接的操作,每次查询事务,都需要先执行openDB的操作,事务提交后,调用closeDB来关闭数据库。
执行 ATSQL语句只有一个函数execute,它返回的是TimeDB定义的ResultSet对象,而ResultSet对象可以获取每一个ResultRow对象,ResultRow对象通过row.getColumnValue(i)和row.getColumnType(i)函数调用只能拿到列的值和对应值的类型,结果类型是字符类型。
返回的类型名称有:
• number • smallint •float• numeric •integer •double 
• longint •real• interval • date•period •char•varchar

如何应用TimeDB的时间数据库技术
由于我们的产品技术主要是基于.NET基础上开发的,而TimeDB是基于Java的应用技术,因此可以考虑通过包装TimeDB成为WebService的应用,然后通过.NET客户端进行访问,实现时间数据库技术的应用。
TimeDBUsage.jpg

初始化数据库基础信息
TimeDB是基于关系型数据库之上的一个模块,在做时间数据库相关的脚本(ATSQL)解析前,它需要一些基础表和记录来存储相关的信息,因此需要初始化所建立的数据库。
初始化数据库可以通过执行安装目录下的SQL脚本而进行(位置为X:\TimeDB 2.2\scripts\initDB),如Oracle调用initOracle脚本,Sybase数据库调用initSybase脚本。
另外,也可以通过调用TDBCI的接口createDB创建这些基础表。

 使用Java创建基于TimeDB查询操作的WebService
TDBCI公开了一些供Java应用程序调用的API函数,为了使得.NET的应用程序也能在TimeDB中执行ATSQL脚本,我们把对TDBCI的调用封装成了WebService。
开发环境:MyEclipse6.01、Tomcat5.5、Java SDK1.6、Oracle 10g、TimeDB2.0。
实现步骤:
1、 使用MyEclipse创建WebService项目,配置好Tomcat服务器
2、 引用Oralce的JDBC类和TimeDB开发所需的类
3、 创建具体的WebService服务类,提供返回结果查询和无结果的查询接口,并实现接口函数
4、 部署WebService到Tomcat中

使用.NET客户端对WebService进行访问,执行ATSQL
实现步骤:
1、 引用包装好的WebService
2、 调用相应的接口,使用ATSQL语句创建业务表
3、 调用相应的接口实现ATSQL数据操作(查询、插入、删除等)
创建业务表:
和在关系数据库(如Oracle)中创建表不同,创建时间数据库表需要调用TimeDB的接口,执行ATSQL而实现。ATSQL2是一个SQL标准,具体使用请参考相关文档。

本文转自博客园伍华聪的博客,原文链接:时态数据库的应用介绍(2)--时态数据库之TimeDB,如需转载请自行联系原博主。



目录
相关文章
|
12天前
|
存储 安全 搜索推荐
酒店管理系统的数据库的应用以及选择
酒店管理系统数据库关乎运营效率和服务质量。数据库用于数据存储、管理、分析及客户关系管理,确保房态与预订精准。选择时重视性能稳定性、数据安全、易用性、可扩展性和成本效益。合适的数据库能提升酒店运营效率并优化客户体验。
21 2
|
1月前
|
存储 监控 关系型数据库
数据库核心术语解析与应用
数据库核心术语解析与应用
61 0
|
1月前
|
存储 运维 关系型数据库
数据的力量:构筑现代大型网站之数据库基础与应用
数据的力量:构筑现代大型网站之数据库基础与应用
49 0
|
2月前
|
存储 NoSQL 关系型数据库
现代数据库技术的发展与应用
本文将探讨现代数据库技术的发展趋势和广泛应用领域。我们将从传统关系型数据库开始,介绍NoSQL数据库、分布式数据库以及最新的图数据库等技术,探讨它们的特点和优势。此外,我们还将讨论数据库在大数据、云计算和物联网等领域中的应用案例,并展望未来数据库技术的发展方向。
|
1月前
|
供应链 数据库 开发者
深入了解数据库锁:类型、应用和最佳实践
深入了解数据库锁:类型、应用和最佳实践
|
6天前
|
存储 数据库连接 数据处理
NumPy与数据库的结合应用探索
【4月更文挑战第17天】本文探讨了NumPy与数据库结合在数据处理和分析中的应用,阐述了结合使用的必要性,包括数据提取、转换、处理与分析及结果存储。通过Python数据库连接库提取数据,转化为NumPy数组进行高效计算,适用于金融等领域的数据分析。结合应用的优势在于高效性、灵活性和可扩展性,但也面临数据转换、性能优化和安全性挑战。
|
14天前
|
存储 传感器 监控
数据库的应用
数据库广泛应用于电子商务、物流、酒店管理、医疗、航空、教育、政府和物联网等领域,用于高效存储和管理商品信息、订单数据、医疗记录、航班详情等各类数据,提升效率和服务质量。随着技术进步,其应用场景将持续扩展。
11 1
|
21天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
1月前
|
存储 NoSQL 大数据
新型数据库技术在大数据分析中的应用与优势探究
随着大数据时代的到来,传统数据库技术已经无法满足海量数据处理的需求。本文将探讨新型数据库技术在大数据分析中的应用情况及其所带来的优势,为读者解析数据库领域的最新发展趋势。
|
1月前
|
存储 机器学习/深度学习 NoSQL
数据库技术的发展与应用
数据库技术的发展与应用

热门文章

最新文章