Informix数据库软件开发方法与工具( 二 )


Informix以SQL语言为基础加以扩充,形成了一个综合应用开发工具(环境)Informix-SQL 。Informix-SQL的软件开发工具主要由五个强有力的开发工具组成,即屏幕表格(Form)生成工具、用户菜单(User Menu)生成工具、报表(Report)书写工具、模式定义工具和查询语言SQL 。屏幕表格是Informix-SQL最主要的功能模块 。它通过开发者自己设计的与Informix数据库紧密相连的屏幕表格来操纵数据库,实现数据的输入、查询、修改和删除等操作 。Informix-SQL提供了比较丰富的数据操纵功能,可以进行各种有条件查询和无条件任意查询,能够前后查找、修改及删除数据 。报表控制能够完成简单的报表统计生成和输出 。通过用户菜单可以生成各种功能菜单,将各种屏幕表格和报表控制连接组合在一起,构成一个完整的应用系统 。
Informix-SQL通过数据库管理软件Isql对Informix数据库(DataBase)和数据表(Table)进行管理与维护 。Isql提供了屏幕表格、SQL交互数据操纵、数据库控制、数据表控制、报表控制等功能机制 。数据库管理员可以利用屏幕表格完成数据的查询、修改和删除,也可以使用标准SQL语言实现数据定义、数据操纵 。对于数据库的建立和删除可以通过数据库控制来实现 。对于数据表和索引的建立、修改及删除则可通过数据表控制来完成 。
作为软件开发工具,Informix-SQL的优点在于它的简单、易学以及程序的通用性(即不需编译,可在各种Unix操作系统下直接运行),而且程序所占的存储空间和运行空间较小,但它的用户界面只能处理比较简单的数据流程,无法适应各种复杂的应用系统 。利用Informix-SQL进行应用软件开发的过程如下:
首先,根据用户需求,确定相应的应用系统的数据字典,利用Informix-SQL数据库模式定义工具建立起相关的数据库及数据表,完成应用软件开发的数据库定义与设计过程 。建立数据库及数据表,既可以使用Isql软件通过系统菜单提示实现,也可以通过建立Shell文件的方式实现 。由于Shell文件本身是文本文件,不需要编译就能执行,修改起来非常方便,所以使用Shell文件成为建立数据库及数据表的常用方法 。
其次,在软件的编程和调试过程中,可以充分利用Informix-SQL的各种开发工具进行开发 。我们可以利用用户菜单创建起应用系统的各级功能菜单,利用屏幕表格构造出应用系统的数据输入模块,使用SQL 语言实现数据的处理,利用报表输出工具实现数据的输出 。这样,通过用户菜单、屏幕表格、SQL 语言和报表输出的有机结合,构成了一个完整的应用软件系统 。
2.Informix-ESQL
Informix-ESQL称为嵌入式SQL开发工具,即将符合ANSI标准的SQL语句嵌入到宿主语言中 。主语言可以是C、COBOL、ADA和FORTRAN等语言,因此Informix-ESQL可细分为Informix-ESQL/C、Informix-ESQL/COBOL、Informix-ESQL/ADA和Informix-ESQL/FORTRAN等 。Informix-ESQL是在Informix-SQL基础上发展起来的第三代程序语言开发工具(环境) 。
由于C语言具有灵活、运行效率高、与UNIX系统连接方便、紧密等特点,所以Informix-ESQL/C便成为Informix-ESQL开发工具系列中的首选 。下面以Informix-ESQL/C为例对Informix-ESQL进行分析 。
Informix-ESQL/C包括预处理程序、C语言的库函数以及前导文件等 。利用这些软件,可以方便地完成下述工作:
(1)在C语言及其子程序中嵌入SQL语句 。
(2)执行DECIMAL、DATE、DATETIME和INTERVAL等数据类型的转换和操作 。
(3)使用C语言实用函数完成特定的操作 。
(4)在ACE报表工具中调用C函数 。
(5)在PERFORM屏幕表格工具中调用C函数 。
Informix-ESQL/C 作为一个非常优秀的应用软件开发工具,在第三代程序设计语言中占据着重要的地位 。Informix-ESQL/C 充分继承了C 语言简练、灵活、表达能力丰富的特点,生成的目标程序精练、运行效率高 。通过嵌入在C 语言中的SQL语句,Informix-ESQL/C 可以方便灵活地操纵Informix数据库 。利用宿主变量,数据能够在C语句和SQL语句之间进行传递 。通过分析指示变量,C语言能够对SQL语句的返回结果进行逻辑判断,确定数据的正确走向 。为了处理多行数据,Informix-ESQL/C提供了一种游标机制,能够实现多行数据的查询和插入 。Informix-ESQL/C还具有动态处理的功能,可以动态地处理各种SQL语句 。

推荐阅读