- 论坛徽章:
- 0
|
第一章 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 关系型数据库服务器)
①.一体化 DL与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 < rocname|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>;
删除数据库前必须关闭此数据库,删除数据库同时也删除了该数据库的所有表、索引、视图。 |
|