基于Labwindows/CVI的测试系统数据库设计
扫描二维码
随时随地手机看文章
数据库实际上就是存储数据的“仓库”。但数据不是存放在容器或空间中,而是存放在计算机的外存储器上(如磁盘),并且是有组织的存放。数据的管理和利用通常是通过计算机的数据管理软件——数据库管理系统来完成的。因此,数据库不单是指存有数据的计算机外存,而是指存放在外存上的数据集合及其管理软件的总和,通常称为数据库系统。在以LabWindows/CVI为虚拟仪器软件开发环境进行自动测试系统的开发中,需要大量的数据处理。以前对数据的处理基本都是通过文件的形式,但是文件形式的数据不易管理和查询,因此迫切需要将测试结果以及配置信息和数据存放在数据库中。自从NI公司开发出数据库系统应用软件工具包后,就可以在Lab-Windows/CVI环境下方便地对数据库进行读写开发。
1 SQL简介
SQL是Structure Query Language的缩写,意思为结构化查询语言。利用SQL可实现对数据库的各种交互操作。根据美国国家标准研究所ANSI( American National Standards Institute)的声明,SQL是关系型数据库管理系统的标准语言。利用相应的SQL语句可实现数据库的数据更新、数据获取等功能。
以关系为代表的数据库产品已走向成熟。小型数据库(如FoxPro,Access,Paradox等)百花争艳,大型数据库(如 Oracle,Sybace,Informix)产品分割天下。面对这样的局面,人们感到既喜又忧:喜的是用户可以有充分选择的自由;忧的是各数据库产品之间难以互通,给应用程序的移植带来困难。于是人们就希望有一个为各厂家所支持的、较一致的应用开发界面,以使应用程序能够独立于数据库产品。 ODBC(Open DataBaseConnectivity,开放数据库互连)正是迎合人们的这一需要而提出的。ODBC实际上是一个数据库访问库。ODBC的独特之处在于可以避免应用程序随数据库的改变而改变,即具有良好的数据库独立性。通过ODBC可以使数据库的更改变得非常容易,即对应用程序来说只需改换一下驱动程序即可。如果将非过程的结构性查询语言SQL的开放性ODBC技术应用于测试系统软件中,则可使测试系统具有很强的灵活性和可重复利用性。综上所述,数据库技术在自动测试系统中的应用将会成为一种趋势。
一般情况下,数据库都有强大的数据存储和管理能力以及实际的功能需求,因此,我们在很多数据处理中都要应用数据库技术。本文采用的 LabWindows/CVI SQL工具包符合ODBC标准,可作为驱动,并配合Microsoft Access2000作为数据库进行配置,这样可以很好地实现数据库技术在一般测试系统中的应用,从而大大提高测试系统数据的管理效率。
2 测试系统数据库的配置
在测试系统中,数据库中的数据表主要由几大块组成。首先是测试参数数据的存储与处理,这一块是本测试系统数据库设计的核心,包括实际测试结果数据的存储。另外就是用户管理数据和被测设备的基本参数。为了存储的方便,应当精心设计各个用户参数、测试项判据和测试结果的数据逻辑设计结构如图1所示。
本文所用的数据库的配置有以下几个步骤:
(1)数据库系统的注册及数据源添加开放数据库互连(ODBC)标准取决于访问每个数据库系统的ODBC驱动器,配置时必须对任何使用的ODBC驱动器进行注册。以便在win-dows2000系统的控制面板上的ODBC选项里进行配置和添加。
(2)数据库连接
执行SQL语句前,必须建立数据库连接。这一步以SQL Toolkit为中介,可以用程序方式来实现连接。
(3)激活SQL连接
事实上,激活SQL连接是进行查询会话的前提,可以采用自动SQL或显式SQL两种方式来实现SQL旌接的激活。
(4)处理SQL语句
这是操作数据库的关键。主要是对数据库创建记录、获取记录、更新记录、删除记录等。通过使用SELECT语句可将数据表中的字段绑定到程序中的变量上,接着用取值函数获取所选记录。每次调用取值函数,工具包都会将数据库中的列变量拷贝到程序中绑定的变量上。更新行或创建行时,还可以用绑定的变量,即更新行或创建行时将新值拷贝到绑定的变量并随后调用适当的函数,然后将程序中的数据添加到数据库对应的字段。
(5)断开SQL琏接
SQL操作结束后,应断开SQL连接,这一步骤在任何方向上取值时都是特别重要的,它可以保证关闭连接并删除建立连接时所生成的临时登记文件。
(6)断开数据库
全部数据库操作结束后,应确保断开通过SQL建立的数据库连接已被其他地方不小心修改,同时也可用来释放系统资源。
3 测试系统数据的代码设计
现以本测试系统中的用户管理数据的获取为例,详细介绍本系统数据库的设计方法,其部分配置代码如下:
//激活SQL连接
hstmt=DBActivateMap(hmap,"Pass-Word");
//操作SQL并使得当前各字段分别映射到各相关变量
resCode=DBFetchRandom(hstmt,userid2+1);
//其他操作
//断开SQL连接
resCode=DBDeactivateMap Oamap);
//断开数据库
resCode=DBDisconnect(hdbc);
4 结束语
本文介绍了基于Labwindows的测试系统软件数据库的设计和配置方法。现在,这部分技术已经相当成熟,将其运用到虚拟仪器系统中,可以更好的管理系统数据,提高系统效率。