INFORMIX-4GL实用手册(转载)

第一章   Informix环境变量的设定 

一.环境范例: 

变 量 名 称 
 变    量    说    明 
 
DBDELIMITER 
 指定由dbload在卸出数据文件中使用的字段定界符 
 
DBDATE 
 指定在DB中想要使用的日期格式(Y4MD/,MDY4-) 
 
DBEDIT 
 指定在程序员环境中想要使用的文本编辑器(vi) 
 
DBLANG 
 指定在程序中所使用消息文件的存放目录 
 
DBMONEY 
 指定在DB中想要使用的货币格式 
 
DBPATH 
 指定DB与其它相应文件的搜索路径 
 
DBPRINT 
 指定计算机的打印程序 
 
DBSRC 
 指定程序调试阶段文件的搜索路径 
 
DBTEMP 
 指定临时文件的存放目录 
 
INFORMIXDIR 
 指定Informix文件的存放目录(/usr/informix) 
 
INFORMIXSERVER 
 指定Informixr的数据库服务器名称 
 
FORMDIR 
 指定Informix屏幕格式文件的存放路径 
 
DBNLS 
 指定Informix传输汉字(DBNLS=2) 
 
LANG 
 指定Informix可显示汉字(LANG=english.8859) 
 
ONCONFIG 
 指定Informix-Online的配置文件(onconfig.life) 
 
PATH 
 指定Informix可执行文件的搜索路径 
 
TERM 
 指定Informix的终端类型(TERM=vt100) 
 
TERMCAP 
 指定Informixr的终端类型文件 
 

  

二.环境范例: 

.profile (环境变量的等号前后不得为空格) 

 stty -istrip -isig (防止用户非法中断) 

 INFORMIXDIR=/usr/informix 

 INFORMIXSERVER=ld420501_tcp 

 ONCONFIG=onconfig.life 

 PATH=$PATH:$INFORMIXDIR/bin:$HOME/bin:$HOME/form:$HOME/prg 

 DBPATH=/u/cbps/form:/u/cbps/bin 

 FORMDIR=/u/cbps/form 

 DBDATE=Y4MD/ 

 LANG=english_us.8859 

 DBLANG=english_us.8859 

 DBNLS=2 

 TERMCAP=/usr/informix/etc/termcap 

 TERM=vt100 

 export INFORMIXDIR INFORMIXSERVER ONCONFIG PATH DBPATH FORMDIR DBDATE LANG 

 export DBLANG DBNLS TERMCAP TERM 

 环境变量的设置文件中还可加入其它Shell语句 

  

  

第二章  Informix产品线及DB应用开发工具简介 

  

一.Informix(英孚美)产品线简介(三大类): 

  1.数据库服务器(Database Server): 

    ①.ODS (Informix-Online Dynemic Server) 

       联机动态服务器,多线索,多性能的DB server(数据库服务器) 

    ②.XPS (Informix-Online Extended Parallel Server) 

       将DSA扩展至松耦合或非共享的计算体系结构,动态可申缩性体系结构(Dynemic Scerable Architerta),适用于大型数据库的应用,并行SQL操作。 

    ③.IUS (Informix-Universbl Server) 

       处理丰富而复杂的数据而设计,并用Datablade模块技术,用来存储和检索丰富的多媒体Data及其他复杂的插入或对象扩展模块。 

  

  2.应用开发工具: 

    ①.Informix-NERERA 适用于关键性业务的C/S(客户机/服务器)模式,开放性,图形化面向对象的开发环境。             └→ Client/Server Model 

    ②.Informix-4GL    适用于各种类型业务的哑终端操作方式,适用性广,开发方便,可维护性好,功能强大,无图形功能,用户界面不够友好。 

    ③.Informix-SQL    符合国际标准的SQL语言,具有通用性,DDL与DML合为一体,高度的非过程化,分为嵌入式和交互式两种形式,具有数据控制,访问功能。 

    ④.Informix-ESQL/C 把SQL嵌入C语言提供实现SQL语言的目标函数库,利用宿主程序完成一个应用的过程。 

 3.连接工具: 

   c4gl <*.4gl *.c *.ec *.o> -c,o,s <OBJ> 

   └→ 4gl 源程序文件的编译,连接生成目标文件或可执行文件 

   esql <*.ec *.c *.o>       -c,o   <OBJ> 

   └→ esql源程序文件的编译,连接生成目标文件或可执行文件 

  

   cc   <*.c *.o>            -c,o   <OBJ> 

   └→ c语言源程序文件的编译,连接生成目标文件或可执行文件 

  

二.SQL(Structured Query Language)简介: 

 1.SQL(结构化查询语言)的主要特点:(RDB Server 关系型数据库服务器) 

    ①.一体化:DDL与DML合为一体. 

    ②.高度非过程化:what to do ,not how to do用户使用起来简单方便. 

    ③.具有SQL交互式与SQL嵌入式两种形式. 

  

 2.SQL语言的分类: 

    ①.DDL (数据定义语言):用来创建,更改,删除数据库基表视图. 

    ②.DML (数据操纵语言):对DB中的数据进行查询或增删改操作. 

    ③.DCL (数据控制访问语言):对存取权根的控制,授权和回收,游标语句,动态管理语句,数据完整性语句,查询优化语句,事务处理语句. 

  

三.Stores7,Dbaccess,Isql,I4gl,Upscol等DBMS实用工具: 

 1.$dbaccessdemo7  [DBname]      [with log] <Retuen> 

    └→创建范例DB  └→数据库名  └→缺省不带系统日志 

  

 2.$dbaccess <Retuen> 

    └→捆绑在Informix-Online DB Server上的一套DBMS实例程序,可以做到: 

   ①.利用该工具可以做到创建和删除数据库. 

   ②.查询数据库中各种信息,编辑使用SQL语句. 

   ③.创建,更改,删除数据库基表. 

   ④.增加,删除,修改数据库中原始记录. 

   ⑤.从OS(操作系统)文件中装载数据到数据库中. 

   ⑥.将数据库中的数据卸出到一个OS(操作系统)文件中. 

   ⑦.创建回收权限. 

   ⑧.利用该工具可以创建,删除,修改Procedure(过程)。 

  

 3.$isql <Retuen> 

    └→捆绑在Informix-Online DB Server上的一套DBMS实例程序,可以做到: 

   ①.利用该工具可以做到创建和删除数据库. 

   ②.查询数据库中各种信息,编辑使用SQL语句. 

   ③.创建,更改,删除数据库基表. 

   ④.增加,删除,修改数据库中原始记录. 

   ⑤.从OS(操作系统)文件中装载数据到数据库中. 

   ⑥.将数据库中的数据卸出到一个OS(操作系统)文件中. 

   ⑦.创建回收权限. 

   ⑧.利用该工具可以创建,删除,修改,编译屏幕表格文件(*.per),并运行. 

   ⑨.利用该工具可以创建,删除,修改,编译报表文件(*.ace),并运行. 

  

 4.$i4ql <Retuen> 

    └→捆绑在Informix-Online DB Server上的一套Informix-4GL实例程序,可以做到: 

   ①.利用该工具可以做到创建和删除数据库. 

   ②.查询数据库中各种信息,编辑使用SQL语句. 

   ③.创建,更改,删除数据库基表. 

   ④.增加,删除,修改数据库中原始记录. 

   ⑤.从OS(操作系统)文件中装载数据到数据库中. 

   ⑥.将数据库中的数据卸出到一个OS(操作系统)文件中. 

   ⑦.授权和回收权限. 

   ⑧.利用该工具可以创建,修改,编译屏幕表格文件(*.per). 

   ⑨.利用该工具可以创建,删除,修改,编译,运行Informix-4GL源程序文件(*.4gl). 

  

 5.$upscol <Retuen> 

    └→捆绑在Informix-Online DB Server上的一套屏幕属性实例程序,可以做到: 

   ①.利用该工具可以调整屏幕字段的数据属性和显示属性. 

   ②.调整屏幕字段的前背颜色,下划线,反显等. 

   ③.调整屏幕字段的数据格式,消息,限制输入等. 

  

 6.$form4gl <文件名> <Return> 

   ①.编译已存在的屏幕表格文件: 

      form4gl    <*?*.per> 

                  └→被编译的屏幕表格文件名 

   ②.为指定数据库中的表格生成默认屏幕格式文件: 

      form4gl -d <filename>    <DB Server>   <Table> 

                  └→生成文件  └→数据库名  └→表名 

  

 7.$c4gl <*.4gl> <Return> 

   使用方法: c4gl [-Vaeqcz] [-phase 12345] [-ansi] [-anyerr] 

                  [-globcurs | -localcurs] [-nokeep | -keep] 

                  [-static | -shared] [-nolinenos | -linenos] [-otherargs] 

                  [source.4gl ...] [othersrc.c ...] [otheresql.ec ...] 

                  [otherobj.o ...] [yourlib.a ...] [-o outfile] 

   开关参数       使用说明 

    -V            Display version of 4gl only 

    -a            Do array bounds checking 

    -e            Preprocess only, no compilation or linking 

    -q            Quiet mode for i4glc1 [phase 1] 

    -c            Preprocess & compile only, no linking 

    -z            Allow variable number of arguments to functions 

    -phase 12345  Process only the phase that indicated 

    -ansi         Check SQL statements for ANSI compliance 

    -anyerr       Set status variable after expressions 

    -globcurs     Make cursor definitions global to program 

    -localcurs    Make cursor definitions local to module (default) 

    -nokeep       Delete intermediate .4ec, .ec, and .c files (default) 

    -keep         Keep intermediate .4ec, .ec, and .c files 

    -linenos      Produce #line numbering in .c file (default) 

    -nolinenos    Suppress #line numbering in .c file 

    -static       Use static libraries 

    -shared       Use dynamic linking and shared libraries 

    -otherargs    Other arguments are passed to the C compiler 

    -o            Next argument is name of executable 

  

 8.$esql <*.ec> <Return> 

   使用方法: esql [-e] [-static] [-shared] [-esqlcargs] [-otherargs] 

                  [-o outfile] [-libs] esqlfile.ec 

                  [othersrc.c...] [otherobj.o...] [-lyourlib...] 

   开关参数       使用说明 

    -e            Preprocess only, no compilation or linking 

    -static       Use informix static libraries. 

    -shared       Use informix shared libraries ( default is shared). 

    -esqlcargs    esqlc arguments (-g, -G, -nln, -Ipathname, -nowarn, -V, -ansi,-xopen, -local, -log, -EDname, -EUname, -icheck) 

    -otherargs    Other arguments are passed to cc 

    -o            Next argument is program name 

-libs         Display the list of libraries used by esql at link time. 

  

 9.dbexport,dbimport,dbschema,ontape数据库后备工具: 

   dbexport以文本形式卸出数据库文件(Table、View、Procedure、Trigger等) 

   dbexport <Dbname> 或 dbexport <Dbname> –t /dev/rStp0 –s –b 

   dbimport以文本形式上载数据库文件(Table、View、Procedure、Trigger等) 

   dbimport <Dbname> -d workdbs –l buffered 

   dbschema 以文本形式卸出数据库的建表、建过程的SQL文件 

   dbschema –d <Dbname> -t <Tabname|all> -ss <Filename> 卸出指定表或所有表 

   dbschema –d <Dbname> -f <Procname|all> -ss <Filename> 卸出指定过程或所有过程 

   ontape 数据库系统备份工具 

   ontape –s –B <Dbname> 为指定数据库恢复Buffered日志 

  

  

第三章   Informix-SQL Version 6.05.UD1 应用 

  

一.有关数据库,基表,索引的创建与删除 

  1.语法约定: 

    <......>     表示必选项 

    {......}     表示必选其中项 

    [......]     表示可选项 

    (......)     表示语句的一部分 

       |         表示多项选一 

    大写[A-Z]    表示Informix的保留字 

    小写[a-z]    表示Informix的库名,表名,字段名,变量名 

  

 2.数据库(Database): 

   ①.创建一个DB: 

      CREATE DATABASE      <DB name>     [WITH BUFFERED LOG] 

         └─┴→语法关键字  └→数据库名     └→是否带数据库日志 

      创建一个DB同时也打开了这个DB 

   ②.数据库命名规则: 

      ㈠.数据库名不超过10个字符. 

      ㈡.必须以字母打头,其余部分可以是字母,数字,下划线的任意组合. 

      ㈢.在同一数DB Server(据库服务器)中数据库名应具有唯一性. 

      ㈣.数据库名不得是Informix的保留字 

  

 3.数据库基表(Table): 

   ①.创建一个DB Table: 

      DATABASE     <DB name>   →数据库名 

      CREATE TABLE <TB name>   →数据库表名 

      字段名称  字段类型      字段说明 

     (column0  serial(1)   , #有序整数型,其初始值为1 

       column1  integer     , #从-2147483647到+2147483647之间的整数 

       column2  smallint    , #从-32767到+32767之间的整数 

       column3  float default 0.00 not null,#双精度浮点数 

       column4  smallfloat  , #单精度浮点数 

       column5  decimal(m,n), #具有可定义精度的数字(左边m-n位,右边n位) 

       column6  money(m,n)  , #与decimal型相同(货币型) 

       column7  date        , #日期型 

       column8  datetime year to second,#日期时间型(1999-09-07 09:52:52) 

       column9  char(n)     , #字符型  n表示字符长度 

       column10 varchar(n)  , #字符型(最后一个字段无逗号) 

       check (字段名 in(值1,值2,值3) constraint 名称, 

       primary key(字段1,字段2,字段n) constraint 名称 ##主键唯一,非空 

     ); 

  

数 据 类 型 
 字   段   长   度 
 
CHAR 
 语句中定义的长度 
 
VARCHAR 
 语句中定义的长度 
 
SMALLINT 
 2个字节 
 
INTEGER 
 4个字节 
 
SMALLFLOAT 
 4个字节 
 
FLOAT 
 8个字节 
 
SERIAL 
 4个字节 
 
DATE 
 4个字节 
 
DATETIME 
 8个字节(Year to Second),其它为4 
 
DECIMAL(m,n) 
 依赖精度(m/2+1四舍五入到下一整数) 
 
MONEY(m,n) 
 依赖精度(m/2+1四舍五入到下一整数) 
 

  

   ②.基表命名规则: 

      ㈠.表名最多不超过18个字符,除此以外与数据库命名规则雷同. 

      ㈡.必须以字母打头,其余部分可以是字母,数字,下划线的任意组合. 

      ㈢.在同一数据库中表名应具有唯一性. 

      ㈣.表名不得是Informix的保留字. 

      ㈤.表中字段名不得超过18个字符,定义like table.* 必须保证前8个字符的唯一性。 

      ㈥.表中字段名不得重复(不区分大小写)。 

  

 4.索引(Index): 

   ①.索引分类: 

      ㈠.单字段索引:提高查询和分类操作效率。 

      ㈡.多字段索引:加快几个字段分类处理的速度。 

      索引仅是加快数据分类处理的速度。 

   ②.索引规则: 

      ㈠.直到表中有上百条记录时才加索引. 

      ㈡.经常用于检索和排序操作的字段. 

      ㈢.用于连接表和使用频率高的字段。 

      ㈣.不要对含有大量重复值的字段加索引,索引字段中相同的值不得出现多于65536次 

      ㈤.不得对多于8个字段的组加索引。 

      ㈥.不得对长度超过120字节的一个字段或一组字段加索引。 

      ㈦.索引命名规则与表名命名规则相似。 

   ③.创建索引: 

      CREATE [UNIQUE|DISTINCT] INDEX <IDX name>  →索引名 

                └→唯一索引      ON <TB  name>  →表名 

                                     (column1 [DESC],column2,..,columnn) 

                                               └→降序索引 

 5.视图(View): 

    ①.视图定义:视图是数据库上动态的窗口而不是静态的状况,并且是以数据库表的形式出现在数据库中,授权与增、删、改操作与基表的操作一致。 

    ②.视图命名规则: 

      ㈠.表名最多不超过18个字符,除此以外与数据库基表的命名规则雷同. 

      ㈡.必须以字母打头,其余部分可以是字母,数字,下划线的任意组合. 

      ㈢.在同一数据库中视图名应具有唯一性. 

      ㈣.视图名不得是Informix的保留字. 

      ㈤.视图中字段名不得超过18个字符,必须保证前8个字符的唯一性。 

      ㈥.视图中字段名不得重复(不区分大小写),应具有唯一性。 

③.视图任务: 

      ㈠.在数据库上为不同的用户提供不同的数据窗口,一个单独的视图可以包含来自不同的表的字段(字段不得同名)。 

      ㈡.限制某些敏感数据的存取,只允许用户查看聚合信息。 

      ㈢.允许用户象修改、插入和删除数据库中如同在视图中出现那样被组织起来的数据 

④.视图与基表的区别: 

      ㈠.不能利用视图取代格式说明文件中的表。 

      ㈡.不能在视图上建立索引。 

      ㈢.某些条件下不能通过视图更新或删除看到的数据。 

      ㈣.不能通过ROWID存取表。 

    ⑤.创建与删除视图: 

       CREATE VIEW <View Name>[(字段1,...,字段n)] 

                       └→视图名称 

         AS SELECT <标准Select 语句> →不得使用UNION操作符 

           [WITH CHECK OPTION] →输入与修改是否满足SELECT语句条件 

  

 6.删除数据库、表、索引、视图: 

①.       删除数据库:drop       <DB  name> 

②.       删除表    :drop table <TB  name> 

③.       删除索引  :drop index <IDX name> 

④.       删除视图  :drop view  <VEW name> 

      删除数据库前必须关闭此数据库,删除数据库同时也删除了该数据库的所有表、索引、视图。 
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值