Chinaunix

标题: 文件和成员概念问题 [打印本页]

作者: wyd1003    时间: 2010-01-14 16:20
标题: 文件和成员概念问题
什么是文件 , 什么是成员 ,我迷糊了。  忘大侠指点一二。 谢谢
作者: wyd1003    时间: 2010-01-14 16:23
自己顶以下!!!
在处理数据库文件的数据之前,必须指出所要用的文件和成员。
所要用的文件是不是要用的物理文件或者逻辑文件。。
文件的成员是什么??
难道是记录!!!!!!!!!!
作者: wyd1003    时间: 2010-01-14 16:33
OVRDBF  FILE(FILEX)                MBR(*ALL)          

FILEX :指的是什么??
MBR: 指的是什么???
作者: keung70    时间: 2010-01-14 17:44
the complete command is ovrdbf file(filex) tofile(libxxx/filexxx) mbr(*all).
it just like give a alias (filex) to the db file ((libxxx/filexxx) mbr(*all)).
Because in RPG , the file name use in the program is already coded and the length of file name is limit to 8 char, if you want to use a different file without re-code it or the file name is longer than 8 char, you can use ovrdbf.
作者: ux400    时间: 2010-01-14 18:08
原帖由 wyd1003 于 2010-1-14 16:20 发表
什么是文件 , 什么是成员 ,我迷糊了。  忘大侠指点一二。 谢谢


我不姓 “忘”
也不是大侠
所以谈不上指点
随便说说,有错请指正

OS/400 文件(FILE)分很多种,常用的数据文件有PF和LF

OS/400的PF与DOS/WINDOWS下的xBase/FoxPro的.DBF文件结构有得一比。它是定长字段的记录格式。如果你定义一个10字节长的字符字段,字段值若填1个字符,则后面以9个EBCDIC编码空格填充。如果你删除一条记录,系统只是做了一个删除标记,就象.DBF一样做个删除标记,不过IBM可不提供FoxBase那样的RECALL命令来恢复删除的记录。

成员(member)是OS/400实现的一个特殊的东西,其它数据库好象没有,可以理解成一个“集合”。可以理解成member是Table中的一部分记录。
对于源程序文件(SRCPF)我们可以把其所在的“库”理解成UNIX/DOS/WINDOWS下的第1级子目录,file理解成UNIX/DOS/WINDOWS下的第2级子目录,file中的member理解成UNIX/DOS/WINDOWS下的源程序文件。
对于数据文件即物理文件PF,你可以把2007年的数据命名为一个MEMBER,例如叫DATA2007,再把2008年的数据命名为一个MEMBER,例如叫DATA2008。如果20年的数据都在一个文件中,每年一个member的做法是否可以提高存取的效率呢?我想是的。
作者: wyd1003    时间: 2010-01-15 08:35
原帖由 ux400 于 2010-1-14 18:08 发表


我不姓 “忘”
也不是大侠
所以谈不上指点
随便说说,有错请指正

OS/400 文件(FILE)分很多种,常用的数据文件有PF和LF

OS/400的PF与DOS/WINDOWS下的xBase/FoxPro的.DBF文件结构有得一比。它是定长 ...



thank you!

讲的很明白,谢谢你了!!!
作者: waily    时间: 2010-03-25 19:49
{:3_183:}
作者: first_come    时间: 2010-07-02 10:32
好解法,明了!不过好像说的是PF文件,LF以及DSPF有没有文件---成员的对比啊?
作者: ux400    时间: 2010-07-04 15:41
好解法,明了!不过好像说的是PF文件,LF以及DSPF有没有文件---成员的对比啊?
first_come 发表于 2010-07-02 10:32



LF 相当于Oracle的View,又相当于VFP的Index
LF 也可以有多个成员
DSPF 好像只有1个成员
作者: first_come    时间: 2010-07-05 08:53
理解了,吸收了,来顶个。
作者: 老胖熊    时间: 2010-07-05 14:13
AS/400的文件可以想象成一个Excel文件,每个Excel文件可以有多个Sheet,这个Sheet就相当于Member。所不同的是,一个Excel文件里的每个Sheet结构可以不同,而同一个文件中的Member的结构是相同的。这点很重要!

有一类特殊的文件,就是源物理文件(SRCPF),其中的Member可以通过编译生成为文件。就如同国际象棋中的兵可以升格为后。

Member只有在AS/400自己的编成环境中调用,如果用CS结构的前端第三方可视开发环境操作AS/400文件(比如用C++或java),则只能操作单Member的PF。SQL/400中似乎也无法指定Member,这个我记不太清楚了。

AS/400的存储结构可以大致表述为 Library - File - Member。需注意的是Library不可嵌套。
作者: first_come    时间: 2010-07-05 14:23
同一个文件中的Member的结构是相同的。这点很重要!

这个是说成员这个“集合”必须inherit文件的所有attribute么?
比如:记录的结构--字段的类型,顺序,key等都一样,对吧?
作者: ux400    时间: 2010-07-05 21:15
AS/400的文件可以想象成一个Excel文件,每个Excel文件可以有多个Sheet,这个Sheet就相当于Member。所不同的是,一个Excel文件里的每个Sheet结构可以不同,而同一个文件中的Member的结构是相同的。这点很重要!

对,太像了。

有一类特殊的文件,就是源物理文件(SRCPF),其中的Member可以通过编译生成为文件。就如同国际象棋中的兵可以升格为后。

源物理文件(SRCPF)是一种特殊的PF,有3个字段:行号(6位),内容,修改日期(6位)

Member只有在AS/400自己的编成环境中调用,如果用CS结构的前端第三方可视开发环境操作AS/400文件(比如用C++或java),则只能操作单Member的PF。SQL/400中似乎也无法指定Member,这个我记不太清楚了。

可以的,例如先 OVRDBF 然后再进入 STRSQL

AS/400的存储结构可以大致表述为 Library - File - Member。需注意的是Library不可嵌套。

QSYS 这个特殊 LIB 是其它所有 LIB 的容器,用 WRKLNK 或者 FTP 到 / 根目录就可以看到  QSYS.LIB 和 IFS 的 etc, dev 等类似UNIX的目录。
作者: zhangv520    时间: 2010-07-06 15:33
{:3_191:}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2