informix入门基础学习教程

合集下载

INFORMIX 培训教材

INFORMIX 培训教材

INFORMIX 培训教材第一章INFORMIX概况INFORMIX产品概览1.服务器产品INFORMIX-SEINFORMIX-ONLINE2.连接产品INFORMIX-NETINFORMIX-START3.应用开发和运行工具INFORMIX-4GLINFORMIX-SQLINFORMIX-ESQL/CINFORMIX-MENUSINFORMIX-OpenCaseWingZ第二章INFORMIX ONLINE数据库服务器端产品安装一。

建立INFORMIX组和INFORMIX用户在SCO OPENSERVER 5.0上:使用scoadmin命令建立INFORMIX组和INFORMIX用户scoadminàAccountàGroupàAddscoadminàAccountàUseràAdd注:informix组号大于100informix 用户号应大于100,且该用户属于informix组二.安装INFORMIX数据库产品l 以root注册,设置安装所需环境变量INFORMIXDIR=/usr/informixexport INFORMIXDIRPATH=$PATH:$INFORMIXDIR/binexport PA TH并将当前目录改变到/usr/informix# cd $INFORMIXDIRl 将SQL光盘插入光驱# mount /dev/cdrom /mnt# cpio –icuvdmB</mnt/* 或tar xvf /mnt/*# ./installsqlINFORMIX-SQL Version 7.23.UC1Copyright (C) 1984-1997 Informix Software, Inc.Installation ScriptThis installation procedure must be run by root (super-user).It will change the owner, group, and mode of all files of this package in this directory. There must be a user "informix" and a group "informix" known to the system.Press RETURN to continue,or the interrupt key (usually CTRL-C or DEL) to abort.Enter your serial number (for example, INF#X999999) >INF#X999999Enter your serial number KEY (uppercase letters only) >AAABBBWARNING!This software, and its authorized use and number of users, aresubject to the applicable license agreement with Informix Software, Inc.If the number of users exceeds the licensed number, the excess users maybe prevented from using the software. UNAUTHORIZED USE OR COPYING MAYSUBJECT YOU AND YOUR COMPANY TO SEVERE CIVIL AND CRIMINAL LIABILITIES.Press RETURN to continue,or the interrupt key (usually CTRL-C or DEL) to abort.Installation of INFORMIX-SQL complete.l 可如上步骤继续安装ESQL/C、4GL、ONLINE等数据库第三章INFORMIX ONLINE数据库服务器系统体系结构INFORMIX-ONLINE动态服务器采用多线索体系结构实现,这意味着只需较少的进程完成数据库活动,同时也意味着一个数据库进程可以通过线索形式为多于一个的应用服务。

最新informix笔记学习资料

最新informix笔记学习资料

第一章Informix介绍Informix提供了为开放系统开发和实现信息管理应用的先进产品。

核心产品包括应用开发和应用工具,数据库服务器以及中间件。

所有的产品都基于ANSI标准的SQL。

INFORMIX-OnLine:快速容错服务器,可以进行联机事务处理方面的应用; INFORMIX-OnLine是Informix的高性能、容错的、OLTP数据库服务器。

OnLine允许在数据库的字段中存放和使用二进制大对象(BLOBs),从而扩展了数据处理使之可以处理多媒体信息。

它还允许分布式数据库应用。

INFORMIX-SE:低维护服务器,适用于中、小规模的应用环境;INFORMIX-SE服务器适用于需要多用户的数据库服务器的环境,但是高的可用性(availability)和OLTP级别的性能不是关键。

它适用的环境是多用户共享数据库,运行中、小规模的应用。

INFORMIX-SE基于事实上的工业标准的UNIX的文件访问方法,即Informix C-ISAM。

Informix产品使用双进程体系结构,它把用户的前端应用代码和后端数据库服务器隔离。

应用开发工具或客户端,提供构建和运行应用程序的用户接口。

数据库服务器,进行所有的数据处理工作,包括数据的存储和检索。

工业标准SQL用于传送从客户端应用到Informix服务器的数据请求。

在双进程体系结构中,客户机和服务器可以位于同一台机器上或是通过网络相连接的不同的机器上。

当两个进程运行于不同的机器上时,称之为客户机/服务器体系结构。

上图表示Informix产品如何构成双进程体系结构。

客户机/服务器的体系结构有几个优点:●性能—隔离前端和后端进程,使得可以为特定的任务来优化软、硬件。

●灵活性—使用双进程体系结构,前端开发工具可以适用于不同的Informix服务器。

这样做,可以使用户选择最适合于自己的应用环境的服务器。

从长远的观点来看,开放式的体系结构使得来自于不同厂商的前端开发工具和服务器可以协同工作。

Informix数据库基本操作和常用配置

Informix数据库基本操作和常用配置
创建数据库
在控制台输入dbaccess,进入informix管理界面,界面的菜单就不一一解释了,选择database-create输入数据库名,以test为例,回车,dbspace选择test,回车,这一步完了用方向键移到exit选项上,退回到上级菜单,选择Create-new-database,回车即可。完成后一直exit退出管理界面,输入ontape -s -B test修改数据库test日志模式为bufferedlogging,这一步是必须的,否则数据库不支持事务,完成后即可以使用该数据库。Linux下数据库的创建和windows下的一样。简单说一下informix数据库中的四种日志模式:
1、DirtyRead(脏读)隔离
DirtyRead是最简单的隔离级,类同于无隔离级当进程在读数据据时并不对所读的数据上锁,也不管其他进程上没上锁或在做什么。
2、CommittedRead(提交后读)隔离
当进程请求CommittedRead隔离级时,OnLine保证进程得到的数据不是数据库未提交的数据即此时没有其他进程在对这些数据做修改。
U代表Unbufferd(无缓冲日志模式)
B代表bufferd(缓冲日志模式)
A代表Ansi(不常用,不能和其它日志模式转化)
还有一种是N(Nolog)(无日志模式)
各个日志模式之间用ontape -s -代码(U,B,N,A)来进行转换,但转换之前需要修改onconfig文件中的TapeDev和Ltapedev两个参数,指向/dev/null,以免在数据库模式转换的时候进行长时间的0级备份,这两个参数具体含义会在后面说到。
还有一种提高并行性的设置,使用Set Isolation to Committed Read Last Committed语句,为SET ISOLATION TO COMMITTED READ语句引入新的LAST COMMITTED关键字选项,可减少尝试读取表时发生锁定冲突的风险。采用该语句,当用户读取正在被其他用户修改的数据时不在处于锁等待状态,而是可以读取修改前最近落实版本的数据值。这样,由于不会产生锁等待,应用程序效率会显著提高,而且,由于是读取修改前最近落实版本的数据值,也不会产生读取幻象数据(phantom data)的问题,同时,也会大大减少产生死锁的现象。它只支持“行”级别锁定,它不支持以下这些表:正在被DataBlade模块(DataBlade模块是一种标准的软件模块,它可以被插入到数据库中,用以扩展其能力,使用户可以使用任何想要的数据来做任何想做的事情。用户可以融合和匹配来自第三方和Informix的DataBlade模块,或者编写自己的DataBlade模块来创建革新化的商务应用。每个DataBlade模块都包含某一特定领域数据管理的专业知识,可以简单地插入到数据库中,既可以单独使用,又可以与其他DataBlade模块一起使用。有了这种灵活性,用户就可以扩充其DBMS,来解决现在以及将来的特殊数据管理问题。)访问的表、列中具有集合数据类型的表、使用虚拟表界面创建的表、具有页面级别锁定的表、具有专用表级别锁定的表或无事务记录的数据库中的表。在跨服务器的分布式查询中,如果发出查询的会话的隔离级别具有有效的LAST COMMITTED隔离级别,但一个或多个参与操作的数据库不支持该LAST COMMITTED功能,那么整个事务符合发出该事务的会话的“已落实读”或“脏读”隔离级别,而不启用LAST COMMITTED选项。

Informix 数据库培训教程(下)

Informix 数据库培训教程(下)

第十一章informix_online 动态服务器性能调整所谓性能调整就是平衡时间、空间、资金、可靠性等几个因素之间的关系,使设备达到最好的使用效果。

其中任何一个因素的改变都会影响到其他因素的变动,要想单纯的改变某一个因素是不可能的。

只能尽量地接近而不能超越最优状况下的实际性能。

一、影响性能的主要因素●CPU要素指令执行的时间、处理时间和CPU利用率。

●磁盘要素访问时间●内存要素实际内存需求量、换页率、对换和I/O访问时间。

二、进行性能评测的工具●硬件厂商提供的工具1、time:显示执行一个程序所耗费的时间。

2、vmstat:报告有关进程、内存、磁盘和CPU的统计信息。

3、sar:用来查看系统的实时记录。

●INFORMIX工具1、onstat:列出在命令运行的瞬间Online共享内存结构中的情况。

2、oncheck:用于修复磁盘中受到破坏的索引和数据页,还可用于监测Online系统磁盘上的其它数据结构。

三、性能调整的几个方面●合理的磁盘布局1.磁盘布局的目标是平衡所有设备的I/O操作!2.确定磁盘布局的步骤◆检查应用的SQL以决定I/O的频繁程度1、vmstat --g iof (对已使用的数据库)2、检查应用(对未使用的数据库)◆找出使用最频繁的表◆确定online系统可使用的磁盘资源◆决定如何在磁盘间分布I/O3.如何进行磁盘布局◆分割的种类1、表的分割2、索引的分割◆分割的方式1、基于表达式方式分割特点:数据的存取是不均匀分布的、查询的选择性很强、基于列的某个条件的查询可以消除某些分片的查询。

2、基于循环方式分割特点:数据的均匀分布、最高的数据可用性、没有了对表达式进行求值的过程从而可得到最高的数据装载效率。

◆数据分割的原则1、对DSS重点是数据的分割2、对OLTP重点是索引的分割3、对顺序扫描读的表采用循环方式进行分割4、分割表达式应尽量简单、5、尽量将最可能满足的表达式放在前面6、避免在表达式中有类型转换操作7、不要针对经常改变的字段进行分割◆Chunk 的影响Chunk加到系统中的顺序也会影响系统的性能。

informix入门之---日志分析

informix入门之---日志分析
Ansi模式:
此模式和无缓冲日志模式具有相同的日志缓冲处理方法,但是此模式是不可逆的。
另外BLOB日志的处理也是十分特别的,他不需要物理日志,不写前映象。BLOB页是直接写磁盘的,不经过共享内存的处理。任何BLOB空闲映象的改变都将记录到逻辑日志中,所有的blob spaces数据刷新到硬盘上是随逻辑日志的的备份而写下去的。
IBM Informix Dynamic Server Version 9.40.TC2E1 -- Quiescent -- Up 00:08:10 -- 25728 Kbytes
Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
Informix入门之---日志分析
大家都知道informix是需要日志的,但各日志都做什么用,各有什么意义等等,我们在下面做一个探讨:
首先需要说数据的前映象;另一种是逻辑日志,用来存放所有事物的操作过程。
在初始化的配置中,物理日志和逻辑日志的不是存放在根的磁盘空间的。默认的大小物理日志2M,逻辑日志6个,每个日志文件2M。但在实际的生产环境中,这两个参数一般是需要调整的。
-a - Add a logical log file
-i - Insert after current log
-d - Drop a logical log file
-p - Change physical log size and location
P-1 0 8 8 7 1.14
phybegin physize phypos phyused %used
3:53 10000 12 0 0.00

INFORMIX--4GL新手进阶整理

INFORMIX--4GL新手进阶整理

INFORMIX--4GL新手进阶整理Informix - 4GL 初级进阶Informix - 4GL 初级进阶 (2)第一章 INFORMIX-4GL基本组成 (2)第二章 INFORMIX-4GL的处理逻辑 (5)第三章 INFORMIX-4GL中的数据类型 (10)第四章定义程序变量 (19)第五章函数间传值 (24)第一章INFORMIX-4GL基本组成程序INFORMIX-4GL中的程序可以处理大量的应用需求,可以管理小型商业或主要银行的资金。

INFORMIX-4GL程序包括执行特定函数所需的所有部分。

程序:为解决一个问题或处理数据由计算机执行的操作逻辑顺序。

模块文件INFORMIX-4GL的一个构件是模块(module),模块是INFORMIX-4GL指令的机器文件,是整个程序的一部分。

把一组模块组合在一起,就成为整个程序,上图中有三个模块,合在一起就组成了客户程序。

在上图,跟踪记录客户的程序分成了三个模块,每个模块有其特殊的作用,cust_main.4gl模块用于驱动和控制程序,cust_add.4gl模块用于管理新增客户记录,cust_edit.4gl模块包括改变或删除客户记录的INFORMIX-4GL代码。

GLOBALS:在这个函数只用于说明变量声明语句,它也让其它模块知道变量的存在,每个程序只允许有一个GLOBALS函数。

MAIN:给出INFORMIX-4GL开始的位置,INFORMIX-4GL首先总是先读MAIN函数,MAIN函数驱动程序的其余部分,因此,每个程序要有一个MAIN函数(否则INFORMIX-4GL不知从哪儿开始)执行。

REPORT:它是附加的报表格式化语句,其它的函数如MAIN、GLOBALS和FUNCTION不能处理报表语句。

FUNCTION:这是INFORMIX-4GL代码的基本单元,它不象MAIN和GLOBALS有特殊用处,定义一个函数的目的是什么它就做什么。

INFORMIX数据库操作及SQL语法

INFORMIX数据库操作及SQL语法

编号:TN-070101001TIENON数据库培训教程INFORMIX基本操作及SQL语法2007年1月,V 1.00目录1、引言 (5)1.1、读者对象 (5)1.2、内容简介 (5)1.3、课程时间 (5)1.4、课程目标 (5)2、数据库基本概念...........................................................错误!未定义书签。

2.1、从身边的例子了解数据库......................................................... 错误!未定义书签。

2.2、数据库系统概述......................................................................... 错误!未定义书签。

2.2.1、数据库的产生................................................... 错误!未定义书签。

2.2.2、数据库系统组成................................................. 错误!未定义书签。

2.2.3、与数据库相关的软件系统......................................... 错误!未定义书签。

2.2.4、数据库系统特点................................................. 错误!未定义书签。

2.2.5、数据库系统的历史............................................... 错误!未定义书签。

2.2.6、数据库系统的发展趋势........................................... 错误!未定义书签。

2.2.7、数据库的分类................................................... 错误!未定义书签。

informix基本操作详

informix基本操作详

informix基本操作详oninit应用程序用于改变系统的运营模式。

informix数据库有六种模式:1:off_line:不运行状态2:Quiescent:静模式。

在此模式下用户不能连接到数据库,但是可用onstat 等命令查询数据库信息。

主要用于对系统进行底层维护操作。

3:on_line:运行状态4:read-only:只读模式5:recovery:恢复模式。

是一种临时状态,存在于从离线模式到静模式之间。

6:shutdown:关闭模式。

是一种临时状态,存在于从在线模式到静模式或者离线模式之间。

oninit -ipsvy-i :初始化数据库,包括磁盘空间,该参数只在安装完成之后做一次。

只会保留onconfig文件配置的初始化信息,其它全部消失。

-p:当数据库不正常宕机后,数据库中会保留临时表,这些表会占据一定的磁盘空间,一般在重启数据库的时候,数据库会自动删除临时表数据的,如果加上这个参数,则会继续保留这些数据。

-s:数据库启动至静模式,做维护工作,不受其它用户的干扰-v:正常启动数据库,并显示启动的过程信息-y:关闭交互式提示,自动选择yes。

-j:启动informix进入单用户状态。

(informix 11 之后版本)onmod e 应用程序提供以下功能:1:改变online的工作模式2:强制生成检查点3:立即改变该会话过程中online共享内存的驻留空间4:转换逻辑日志文件5:撤销online的数据库服务进程6:撤销online的事物只有注册为root或informix的用户才能执行onmode参数:-a :increase shared memory segment size。

增加共享内存大小-BC [1|2] :change server large chunk mode。

支持大chunk 模式-c [block|unblock] :do checkpoint Block or Unblock。

Informix数据库培训教材(42页)

Informix数据库培训教材(42页)

目录一、数据库简介 (3)二、数据库的安装及初始配置 (5)三、动态服务器组织结构 (14)四、动态服务器空间管理 (18)五、动态服务器模式管理 (21)六、动态服务器容错机制 (23)七、动态服务器日志管理 (27)八、动态服务器内部操作 (29)九、动态服务器数据移动 (32)十、动态服务器监控命令 (36)十一、动态服务器性能调整 (44)十二、语言简介 (50)附录A:与数据库有关的核心参数 (68)附录B: 配置参数的说明 (69)附录C: 5的安装及初始配置 (72)第一章数据库简介一、系统特点◆以开放系统为其主要运行环境的大型数据管理系统◆采用分布式体系结构,具有极高的运行效率◆全新动态可伸缩体系结构()二、机制简介数据库服务器提供数据操作和管理:开发工具是用户用以开发利用应用程序的必要的环境和工具。

数据库服务器与数据库应用程序之间构成一种完全彻底的结构体系。

应用程序接收程序操作指令后以结构化查询语言的形式传到数据库服务器。

数据库服务器接收送来的指令进行编译并检查其操作的合法性,然后返回正确的查询和操作结果。

对于多个数据库服务器可以安装在同一台机器上,此时数据库通过计算机的内存来与服务器进行数据操作的请求和返回。

即:互联形式的集中式数据库管理系统。

数据库、服务器安装在不同的计算机上。

此时它们之间通过网络来传输数据操作的亲求和返回。

即:的数据库管理系统二者的区别只是硬件的构成和用户应用程序运行的操作规程平台不同。

意味着两种形式相互转移时仅仅需要改变应用程序和数据库所在网络的节点以及不同操作系统间应用程序的移植和重新编译连接,应用程序几乎不需要改变。

三、产品介绍1.产品分类●数据库服务器●数据库开发工具4系列(;4 ;4 C;4 ;);系列具有事务驱动能力,面向对象的基于各种图形的开发工具●网络数据库互联产品2.产品简介—简便的数据库系统用于少量用户、小数据库和不需要多媒体以及高效联机事务处理。

INFORMIX培训教材

INFORMIX培训教材

INFORMIX培训教材informix online 7.x培训教材中国人民保险公司依据使用者的数量变化、可通过多线索的方式动态支配程序为资料恳求供应服务(1)程序其作用类似于cpu,它负责资料恳求作业中的某一类特定工作,又称为虚处理器(vp)。

online 7.x系统有十几类vp,如:pio:处理物理日誌的i/olio:处理规律日誌的i/oaio:处理其它非日誌资料的i/o2.共享记忆体用于资料缓冲、日誌缓冲等其它把握资讯。

包含三部分:驻留部分、虚拟部分、讯息部分(1)驻留部分共享记忆体的最大部分,主要用于资料缓冲和日誌缓冲资料缓冲:将磁碟上的资料读入到共享记忆体中来的动作。

日誌缓冲:储存物理日誌与规律日誌。

物理日誌:被修改资料页的前映像规律日誌:对全部的资料库、资料表、系统的改动操作资讯(2)虚拟部分把握使用者会话资讯,每个使用者需要12kb的记忆体,其大小可以动态变化。

预设值为8000kbadd 8192k sizeonmode -f(3)讯息部分仅当客户与informix动态伺服器採用共享记忆体连线时,使用该部分记忆体。

3.磁碟部分p10二.通讯连线方式与连线档案1.通讯连线方式有两种方式:共享记忆体连线、网路连线(1)共享记忆体连线客户将资料恳求资讯放在共享记忆体的讯息部分,伺服器得到恳求后,马上处理,并将处理结果放到讯息部分,客户从讯息部分取得结果。

(2)网路连线客户将资料恳求资讯放在某一通讯埠(/etc/services定义的埠),伺服器从该埠得到恳求,并将处理结果放到该埠,客户从该埠取回结果。

2.通讯连线由档案 $informixdir/etc/sqlhosts 定义客户与伺服器的连线方式p20以下内容所用的环境为:省公司主机系统informix产品安装名目为usr/informixinformix系统所用的装置是原始装置,命名为chunk1、chunk2…unix系统名称为sheng_piccinformix动态伺服器名称为sheng_shm(共享记忆体连线时)sheng_tcp(tcp/ip网路连线时)网路连线时所用的服务名为sheng_serv网路连线时所用的埠为sheng_port地市分公司主机系统informix产品安装名目为usr/informixinformix系统所用的装置是原始装置,命名为chunk1、chunk2…unix系统名称为ds_piccinformix动态伺服器名称为ds_shm(共享记忆体连线时)ds_tcp(tcp/ip网路连线时)网路连线时所用的服务名为ds_serv网路连线时所用的埠为ds_port格式:dbservername nettype hostnameservicename动态伺服器名称网路型别 unix系统名或ip地址服务名与.profile共享记忆体:onipcshminformixserver 网路连线:ontlitcp (sco openserver 5.0.5)onsoctcp (hp-ux 11.0与ibm aix 4.3.3)例1:省公司主机只採用共享记忆体连线时,该档案的内容为:sheng_shm onipcshm sheng_picc service同unix系统命令hostname显示的主机命全都例2:省公司主机只採用网路连线时,该档案的内容为: sheng_tcpontlitcpsheng_picc sheng_port档案/etc/hosts中包含一行: 74.1.32.18 sheng_picc 档案/etc/services中包含一行sheng_port 7000/tcp 例3:省公司主机既有共享记忆体、又有网路连线时,该档案的内容为:sheng_shm onipcshm sheng_picc servicesheng_tcpontlitcp sheng_picc sheng_port使用者与伺服器的连线过程:注册unix系统后呼叫档案.profile,设定执行环境读出变数informixserver=? (若为sheng_shm)确定连线方式採用共享记忆体连线)安装informix产品前,应依据主机的下列指标对online 的有关引数、规模和资源进行必要规划。

INFORMIX -4GL 教程 的 入门 教材 数据库1-5

INFORMIX -4GL 教程   的 入门 教材 数据库1-5
IF p_count < 1 THEN
ERROR "小於1" ELSE LET p_count = p_count + 1 END IF
5-4 FOR 敘述
<語法格式> FOR varibale = integer_exp TO integer_exp STATEMENT ... [CONTINUE FOR] ... [EXIT FOR]
5-12 CALL 敘述
<語法格式> CALL 函數([參數串列]) [RETURNING 變數串列] §例: call sample_function(parm1,parm2) returning variable call sample_function(parm) call sample_function()
END IF
END IF
END IF
file:///E|/erpdown/20100809(鼎捷)/易拓/Genero/NFORMIX-4GL的入门教材/1-5.htm[2010/8/10 19:39:24]
END IF
....
....
....
....
....
END FOR
....
....
....
....
5-5 CASE 敘述
<語法格式> CASE [(exp)] WHEN {exp|boolean} statement ... [exit case] WHEN {exp|boolean} statement ... [exit case] ... OTHERWISE statement ... [exit case] END CASE §例: case choise when 1 : call choice-1() when 2 : call choice-2() when 3 : call choice-3() when 4 : call choice-4()

INFORMIX -4GL 教程 的 入门 教材 数据库1-3

INFORMIX -4GL 教程   的 入门 教材 数据库1-3

!!manu_code char(3),total_price money(8))insert into newtable select item_num,order_num,quantity,stock_num,manu_code,total_pricefrom itemsdrop table itemsrename table newtable to itemsrename column customer.customer_num to c_num3-7 SELECT Statement<語法格式>SELECT clauseFROM clause[WHERE clause][GROUP BY clause][HAVING clause][ORDER BY clause][UNION SELECT clause]3-7-1 SELECT<語法格式>SELECT[ALL|DISTINCT|UNIQUE] select_list§例:select customer_num, lname, cityfrom custom件!m软m P文档及软件!from orderwhere customer_num = 101select avg(total_price)from itemswhere order_num = 1008select a+b abtotal, c*d cdprodfrom itemswhere order_num = 10083-7-2 FROM<語法格式>FROM[OUTER]table_name[table alias][,...]§例:select fname, lname, order_numfrom customer, orderswhere customer.customer_num = order.customer_numselect fname, lname, order_numfrom customer, outer orderswhere customer.customer_num = order.customer_num3-7-3 WHERE<語法格式>WHERE conditioncondition 是由一個或一個以上的尋找條件(search condition)配合邏輯運算元AND、OR、NOT 所組成。

INFORMIX -4GL 教程 的 入门 教材 数据库1-6

INFORMIX -4GL 教程   的 入门 教材 数据库1-6

!當使用者要宣告通用變數時,必須使用 GLOBALS 敘述<語法格式>GLOBALSDEFINE_STATEMENT...END FLOBALS1.globals 必須定義在程式的最前面。

2.若使用 LIKE 關健字時,則在 globals 之前必須有 database 的敘述。

6-5 變數傳遞的範圍┌──────────────────────────┐│ globals ││ define variable a │| ┌────────────────┐ |│ | main │ |│ | define variable b │ |│ └────────────────┘ || ┌────────────────┐ |│ | function │ |│ | define variable c │ |│ └────────────────┘ |│ │└──────────────────────────┘┌────────────────────────┐│ 敘述 變數 型態 範圍 │├────────────────────────┤│ globals a 通用性 main |│ function |件!├────────────────────────┤m软├────────────────────────┤│ function c 區域性 function │└────────────────────────┘§例:A.4GL┌──────────────────────────┐│ ││ globals ││ define var_a char(1) │| end globals |│ ││ main |│ let var_a = 'A' |│ call test_global() |│ call test_global() |│ end main ││ │└──────────────────────────┘B.4GL┌──────────────────────────┐│ ││ globals "A.4GL" ││ define var_b char(1) ││ │| function test_global() |│ define var_c char(1) ││ display "=========" |件!m软m P文档及软件!│ display "var_b = ", b |│ display "var_c = ", c |│ let var_b = 'B' |│ let var_c = 'C' |│ end function ││ │└──────────────────────────┘結果:=========var_a = Avar_b = ?var_c = ?=========var_a = Avar_b = Bvar_c = ?6-6 參數的傳遞function 中的參數必須在 function 中事先用 define 定義。

INFORMIX -4GL 教程 的 入门 教材 数据库1-8

INFORMIX -4GL 教程   的 入门 教材 数据库1-8
8-1-6 INSTRUCTIONS 區間
1.定義螢幕記錄 2.改變顯示欄位預設的分界符號
8-1-6-1 定義螢幕記錄
<語法格式一> SCREEN RECORD rec_name(field_name1 THRU field_name2)
rec_name表示螢幕記錄的名稱,field_name1表示範圍內第一個欄位,field_name2 表示範圍內最後一個欄位.
INFORMIX-4GL教程
INFORMIX-4GL教程
您的位置:首页>>INFORMIX-4GL教程>>第八章 萤幕画面(FORM)的制作
第八章 萤幕画面(FORM)的制作
8-1畫面規格之架構
畫面之規格主要是由DATABASE,SCREEN,TABLES,ATTRIBUTES和INSTRUCTIONS所組成的。
file:///E|/erpdown/20100809(鼎捷)/易拓/Genero/NFORMIX-4GL的入门教材/1-8.htm[2010/8/10 19:39:32]
访问www.获erp取d免ow费nE.RcoPm文档及软件!
INFORMIX-4GL教程 f01 = ssaltab.idno,UPSHIFT,AUTONEXT; m = ssaltab.proj_ty,FORMAT="&",COMMENTS="工作計劃",AUTONEXT; fj = ssaltab.pos_ty,FORMAT="&&&",AUTONEXT; f02 = ssaltab.emp_name,AUTONEXT; f06 = ssaltab.unit_name,NOENTRY; f07 = ssaltab.pos_name,NOENTRY; d = ssaltab.ins_ty,COMMENTS="0.無 1.公保 2.勞保 3.滿三十年公保 " ,INCLUDE=("0" TO "3") ,AUTONEXT; h = ssaltab.wel_num,COMMENTS="0.無 1.有",INCLUDE=(0 TO 1),AUTONEXT; w = ssaltab.fins_num,INCLUDE=(0 TO 5) ,AUTONEXT; j = ssaltab.house_ty,COMMENTS="0.無 1.有扣房屋津貼 ", INCLUDE=("0","1"),AUTONEXT; f17 = ssaltab.account_no,PICTURE = "#####",AUTONEXT; f21 = ssaltab.paccount_no,PICTURE = "#####",AUTONEXT; fl = FORMONLY.char6,NOENTRY; insu = ssaltab.insure_no,AUTONEXT; fo = FORMONLY.char5,NOENTRY; a = plantab.yy, FORMAT = "&&",REVERSE, AUTONEXT; k = plantab.budget, FORMAT = "#,###,###,##&", COLOR = REVERSE WHERE k IS NOT NULL, AUTONEXT; l = _budget , FORMAT = "-,---,---,--&", AUTONEXT, COLOR = RED blink WHERE l < 0 ;

INFORMIX -4GL 教程 的 入门 教材 数据库1-7

INFORMIX -4GL 教程   的 入门 教材 数据库1-7
2.OPEN-FETCH-CLOSE 其實 foreach 當於 open 指標,fetch 資料和 close 指標和 FETCH 命令的 組合 A.OPEN 敘述:開啟一個先前 declare 過的指標 <語法格式> OPEN 指標名稱 [USING 變數串列] using 後的變數串列是程式串列,對應到 select 中的”?”參數 §例: DECLARE family_cursor CURSOR FOR
7-3 刪除的處理
<語法格式> DELETE FROM table_name [WHERE clause] §例: DELETE
FROM sfamilytab
§例:
file:///E|/erpdown/20100809(鼎捷)/易拓/Genero/NFORMIX-4GL的入门教材/1-7.htm[2010/8/10 19:39:28]
<語法格式二> UPDATE table_name SET table_name.* = record_name.* [WHERE clause] §例: UPDATE ssaltab SET ssaltab.* = curr_ssaltab.*
WHERE ssaltab.idno = curr_ssaltab.idno IF SQLCA.SQLCODE = 0 AND SQLCA.SQLERRD[3] > 0 THEN ERROR "更正成功" ELSE ERROR "更正失敗 !! ==> 請通知系統人員,謝謝" RETURN END IF
INSERT INTO sfamilytab VALUES(s_st[i].*)
IF SQLCA.SQLCODE != 0 OR SQLCA.SQLERRD[3] <= 0 THEN

INFORMIX-4GL教程(简体)

INFORMIX-4GL教程(简体)

第一章关联式资料模型1-1 前言传统上,企业公司的数据处理,大都是按照部门或应用加以分类。

因此,早期企业公司的计算机大多是为了处理各个部门或者应用系统的大量数据而装置的;例如一家汽车制迼公司,可能有产品制造部门、会计部门;而一家餐馆,可以有编制顾客账单之应用系统、维护应收帐款之档案系统等。

而每一个部门或每一种应用系统原则上都有它自己的主要档案,而各个部门或应用系统都有自己所需的数据,和更新档案及提供信息所需的程序。

利用这种数据处理方式来存取数据,最大的好处是程序的设计方式相当单纯,因为每个档案系统均针对该部门或应用系统的特殊处理要求来设计,因此所设计出来的系统较容易满足各部门或应用系统之要求。

但是相随衍生的问题却不少。

应用系统一应用程序一←→档案系统一(或部门一)应用系统二应用程序二←→档案系统二(或部门二)应用系统N应用程序N←→档案系统N(或部门N)1-2 传统的数据处理一、数据重复相同的数据域栏位值会重复出现在不同的档案系统上。

例如:在一家公司里,销售员的地址数据、学历数据年龄数据也可能会重复地出现在人事管理部门、会计部门、产品销售部门;须要在这么多的档案中输入、保存及维护这些相同的数据,代价何其昂贵啊!举例来说吧!当某一位销售员的地址数据有所更动时,就必须到所储存地址数据的档案系统中,去更正这些旧有的地址数据,否则就会造成数据的不一致。

二、数据的不完整不同的应用系统间之数据往往关系十分密切。

例如:陈先生向银行办理个人小额货款买了一部卡拉OK,然而因未履约,故其卡拉OK须被取回,并降低了他的个人小额贷款的信用等级。

但陈先生在银行里,也曾办过房屋贷款,假使房屋贷款所对应的信用等级未随之同时更新的话,那就产生混乱了。

然而要维持数据的完整性,就须执行好几个程序来更新数据,此将花费很高的费用。

三、数据的不安全由于企业公司各部门各自为政,公司的数据分散在不同的档案系统上,对于敏感性和机密性较高的数据,无法做有效的集中管理;往往会因某些部门负摃人的管理不善,而让商业间谍有机可乘,从中盗取机密数据。

INFORMIX -4GL 教程 的 入门 教材 数据库1-16

INFORMIX -4GL 教程   的 入门 教材 数据库1-16

REVOKE DBA TO user_list
16-2 授與和取消表的權利
<語法格式> GRANT table_privilege ON table_name TO PUBLIC
REVOKE table_privilege O table_privilege ON table_name TO user_list
m 及软 .co 档 wn P文 do ER p 费 er w. 取免 ww 获 件 !
16-3 建立可使用交易的資料庫
file:///E|/erpdown/20100809(鼎捷)/易拓/Genero/NFORMIX-4GL的入门教材/1-16.htm[2010/8/10 19:39:03]
访

INFORMIX-4GL教程
<語法格式> CREATE DATABASE database_name WITH LOG in "pathname"
16-4 設定交易處理
<語法格式> BEGIN WORK 交易處理 ... IF OK THEN COMMIT WORK ELSE ROLLBACK WORK END IF
file:///E|/erpdown/20100809(鼎捷)/易拓/Genero/NFORMIX-4GL的入门教材/1-16.htm[2010/8/10 19:39:03]
REVOKE RESOURCE TO PUBLIC GRANT RESOURCE TO user_list
REVOKE RESOURCE TO user_list
.DBA 權利:當使用者建立資料庫時,系統會自動設定 DBA 給使用者,如果給予其它使用者也有此權利時,則其它使 用者也具備有RESOURCE 權利並可執行建立、更改、刪除資料庫中的表和索引,以及去除和啟動資料庫,和授與和取 消CONNECT、RESOURCE,和 DBA權利。 <語法格式> GRANT DBA TO user_list
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

informix入门基础学习教程
Informix是一个关系型数据库管理系统(RDBMS),是IBM公司开发的一种数据库管理系统。

它具有高效、可靠、安全的特点,被广泛应用于企业级应用程序中。

本文将介绍Informix的基础知识和学习教程。

一、Informix的概述
Informix是一种面向企业级应用的数据库管理系统,它提供了高性能、可扩展、可靠的数据存储和处理能力。

Informix支持多种操作系统平台,包括Windows、Linux、Unix等。

它的特点包括事务处理、并发控制、数据安全等。

二、安装和配置Informix
2. 配置Informix服务器,设置数据库存储路径、内存大小等参数。

3.创建数据库实例,设置数据库名称、用户名和密码等信息。

三、Informix的基本概念
1. 数据库:Informix中的数据库是一组相关表的集合,用于存储和管理数据。

2.表:表是数据库中的基本组成单元,用于存储数据。

每个表包含多个列,每个列定义了一种数据类型。

3.列:列是表中的一个字段,用于存储特定类型的数据。

4.行:行是表中的一条记录,包含了一组相关的数据。

5.索引:索引是对表中一列或多列的值进行排序的数据结构,用于提高查询性能。

6.视图:视图是一个虚拟的表,它是基于一个或多个表的查询结果。

视图可以简化复杂的查询操作。

四、基本操作
1.创建数据库:使用CREATEDATABASE语句创建一个新的数据库。

2.创建表:使用CREATETABLE语句创建一个新的表,并定义表中的列和其数据类型。

3.插入数据:使用INSERTINTO语句将数据插入到表中。

4.查询数据:使用SELECT语句从表中检索数据。

5.更新数据:使用UPDATE语句修改表中的数据。

6.删除数据:使用DELETEFROM语句从表中删除数据。

7.创建索引:使用CREATEINDEX语句在表上创建索引,以提高查询性能。

8.创建视图:使用CREATEVIEW语句创建一个新的视图。

五、高级操作
1. 事务处理:Informix支持事务处理,可以确保数据的一致性和完整性。

2. 并发控制:Informix使用锁机制来控制并发访问,以保证数据的一致性。

3. 数据备份和恢复:Informix提供了备份和恢复工具,用于保护数据的安全性。

4.数据库优化:通过优化查询语句、创建合适的索引等方式,提高数据库的性能。

六、学习资源推荐。

相关文档
最新文档