时态数据库的应用介绍(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提供的接口函数如下所示

// 设置访问参数
public   boolean  setPrefs(String Path,  int  DBMS, String JDBCDriver, String URL); 
// 初始化/清除 执行ATSQL语句所需的表
public   boolean  createDB();
public   boolean  clearDB();

// 打开或者关闭数据库
public   boolean  openDB(String Login, String Password);
public   void  closeDB();

// 执行 ATSQL语句
public  ResultSet execute(String stmt);

其中setPrefs是用来设置TimeDB的相关访问参数的,如下所示
 if (t.setPrefs("C:\\TimeDB 2.2\\",     // Path to TimeDB2.0 directory 
 1,                                 // Using Oracle DBMS
"oracle.jdbc.driver.OracleDriver", // Oracle's JDBC driver
                      "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,如需转载请自行联系原博主。



目录
相关文章
|
11天前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
121 64
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云牵手海亮科技,共建“教育科技数据库创新应用中心”
海亮科技选择引入阿里云PolarDB开源分布式版(PolarDB for Xscale)数据库,不仅能解决海亮科技数据库业务中面临的可靠性、稳定性问题,也为海亮科技业务的高速发展提供了更好的灵活性和可扩展性。
|
9天前
|
XML 存储 数据库
XML在数据库中有哪些应用?
【10月更文挑战第17天】XML在数据库中有哪些应用?
14 2
|
11天前
|
供应链 数据库
数据库事务安全性控制有什么应用场景吗
【10月更文挑战第15天】数据库事务安全性控制有什么应用场景吗
|
20天前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
24天前
|
关系型数据库 MySQL 数据库
MySQL数据库:基础概念、应用与最佳实践
一、引言随着互联网技术的快速发展,数据库管理系统在现代信息系统中扮演着核心角色。在众多数据库管理系统中,MySQL以其开源、稳定、可靠以及跨平台的特性受到了广泛的关注和应用。本文将详细介绍MySQL数据库的基本概念、特性、应用领域以及最佳实践,帮助读者更好地理解和应用MySQL数据库。二、MySQL
51 5
|
24天前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
22 5
|
23天前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
37 3
|
25天前
|
应用服务中间件 数据库
Tomcat 的数据库连接池设置与应用
Tomcat 的数据库连接池设置与应用
35 3
ly~
|
25天前
|
存储 安全 搜索推荐
数据库的应用
数据库在众多领域中发挥着关键作用。在企业管理与运营方面,它支持客户关系管理和企业资源规划,帮助企业了解客户需求、优化资源配置;在金融领域,银行系统和证券交易依赖数据库保障安全性和准确性,进行风险评估;在医疗保健行业,电子病历管理和医疗资源管理通过数据库提高诊断准确性和资源利用率;在教育领域,学生信息管理和在线教育平台利用数据库优化教学管理,提供个性化学习体验;在电子商务中,商品管理和订单管理则确保了信息的准确性和高效处理。
ly~
32 1