基本簡介
最簡單的情況下,只有一個變數,然後在數據集由一列列的數值組成,往往被描述為一個列表。儘管名稱,這樣一個單數據集不是一套通常的數學意義,因為某一個指定數值,可能會出現多次。通常的順序並不重要,然後這樣數值的集合可能被視為
多重集,而不是(順序)列表。
值可能是數字,例如真正的數字或整數,例如代表一個人的身高多少厘米,但也可能是象徵性的數據(即不包括數字),例如代表一個人的種族問題。更一般的說,價值可以是任何類型描述為某種程度的測量。對於每一個變數,通常所有的值都是同類。但是也可能是“
遺漏值”,其中需要指出的某種方式。
在統計數據集通常來自實際觀測得到的抽樣統計人口,每一行對應於觀測的一個組成部分,人口。數據集可能會進一步產生算法為測試目的某些種類的軟體。一些現代統計分析軟體,如PSPP仍然存在的數據中的經典數據集的方式。
數據集在斷開快取中存儲數據。數據集的結構類似於關係資料庫的結構;它公開表、行和列的分層對象模型。另外,它包含為數據集定義的約束和關係。
數據集可以類型化或
非類型化。類型化數據集是這樣一種數據集,它先從基類派生,然後使用XML架構檔案(.xsd檔案)中的信息生成新類。架構中的信息(表、列等)被作為一組第一類對象和屬性生成並編譯為此新數據集類。
因為類型化DataSet類從基類DataSet繼承,所以此類型化類承接DataSet類的所有功能,並且可與將DataSet類的實例作為參數的方法一起使用。
相形之下,非類型化數據集沒有相應的內置架構。與類型化數據集一樣,非類型化數據集也包含表、列等,但它們只作為集合公開。
Delphi4中有四種類型的標準數據集構件,分別是TTable、TQuery、TStoredProc和TClientDataSet。這些數據集構件都是從一個共同的基類TDataSet繼承下來的,其中,只有TClientDataSet是直接從TDataSet繼承下來的,而TTable、TQuery、TStoredProc的直接上級是TDBDataSet,TDBDataSet的上級是TBDEDataSet,TBDEDataSet的上級才是TDataSet。
TDataSet是所有數據集的
抽象基類,它的大部分屬性和方法是虛擬的或抽象的。所謂虛擬的方法,是指這些方法可以被派生類重載。所謂抽象的方法,是指這些方法只有
聲明,沒有
定義,派生類必須給出定義後才能調用這些方法,不同的派生類可以有不同的定義。
由於TDataSet中包含抽象的方法,您不能直接創建它的實例,否則會引起運行期錯誤。
如果從功能上劃分,TDataSet的屬性和方法可以分為這么幾大塊:打開和關閉數據集、瀏覽記錄、編輯數據、書籤管理、控制連線、訪問欄位、記錄緩衝區管理、過濾、事件。
數據集的創建
數據集的創建步驟如下:在ISPF主選單下選擇3-Utilitis,然後是2-DataSet,在面板最上面就會看到有8種操作可以進行,在選項區域輸入字母 A,但是不要按 ENTER鍵,然後在數據集名字區域中輸入新數據集的名字,但是同樣也不要按ENTER鍵。名字可以用單引號引起來或不用引號引起來(LIB.SOURCE)以便TSO/ISPF能夠自動的把當前的 TSO用戶ID 作為HLQ 使用。然後在卷序號區域輸入 WORK02,按ENTER鍵。 完成指定的參數設定並且按ENTER。
– Space Units =TRKS(這是一個為後面數據設定的單位,意為磁軌)
– Primary quantity= 10 (為數據集分配 10 個磁軌的主空間)
– Secondaryquantity = 5(5個磁軌的追加空間)
– Directory blocks= 0(順序數據集中不需要目錄)
– Record format =FB (數據集的記錄格式是FB)
– Record length =80 (邏輯記錄的長度是 80
位元組)
– Block size = 0(this tells z/OS to select an optimum value)(在Recordformat為FB的情況下,這個區域如果要自定義的話一定要是上一個參數Recordlength的整數倍)
– Data set type =BLANK(PDS代表分區
數據集,HFS代表分級
檔案系統,是Z/OS UNIX檔案系統,LIBRARY表示庫,BLANK表示為空)
系統執行創建數據集的操作完畢以後,在螢幕的右上的角落,可以看到成功或者失敗的訊息。
數據集的列表總覽
創建的數據集就在創建數據集時指定的那個VOLUME中。但是,如果想看一看VOLUME下倒底有哪些數據數據集,則可以在ISPF下使用3.4即Dlist選項,在其中的Dsnamelevel右邊填上用戶名,或者HLQ,然後回車,就可以得到一個數據集的列表。
在這個界面中,用PF10和PF11左右翻動可以顯示更多的信息,這種情況並不是真正的滾動;只有當使用PF11或PF10 時才能獲得額外的信息。 第一個 PF11顯示的內容包括磁軌、使用百分比、分區和設備類型。分區值是用於獲得顯示磁軌總數的分區數量。ISPF實用程式可以看到數據集實際使用的空間的大小,且如果可能的話,它還可以作為一個百分比來顯示。第二個 PF11 顯示的內容包括 DCB特性:數據集組織形式(DSORG)、數據集記錄格式(RECFM)、邏輯記錄長度(LRECL)和組塊的長度(BLKSIZE)。PS代表順序數據集,PO 代表分區數據集,VS 代表 VSAM 數據集,BLANK代表未知組織或者不存在數據集。
RECFM、LRECL 和 BLKSIZE應該是比較熟悉的。在某些情況下,若沒有使用一個標準的訪問方法或沒有寫入數據時,這些參數是不能確定的。VSAM數據集沒有這些參數的直接數值,通常是以問號來表示。
在這個界面下按F1可以查看到可以對數據集進行的一些操作的命令,如S ,E,B等等,這時在某一個要編輯的數據集左側,對應於上方藍色的Command列下面輸入命令,然後回車就可以執行命令了。比如用E,就馬上進入該數據集的編輯狀態。
數據集的編輯
在編輯環境下,有兩種命令格式,一種是主命令,就是在Command那一行輸入來使用的命令,它們常見的有:
AUTOSAVE ON/OFF:打開關閉自動保存;
AUTONUMON/OFF:自動重新編號行號(SAVE後生效);
CANCLE:取消所做的編輯並退出編輯環境;
CAPSON/OFF:退出編輯環境後系統自動將所有字母轉換為大寫/小寫;
CHANGE(RCHANGE):替換字元,RCHANGE表示重複上次的替換。格式:CHANGE** ** [ALL];
FIND(RFIND):查找字元串;
RECOVERYON/OFF:設定編輯方式,ON表示用戶可以通過UNDO命令取消上一次編輯操作;
RESET:重置編輯器,清除不需要的信息;
SAVE:保存當前修改,並繼續編輯;
SORT:對文檔行按字典順序排序;
SUBMIT:提交作業;若作業是一段JCL程式,則通過該命令可以提交作業程式;
UNDO:取消上一次編輯(僅當在RECOVERYON編輯方式下);
s(setup)+member:創建新成員(PDS);
CUT:複製當前內容(配合CC和MM來使用);
PASTE:貼上當前內容(配合CUT來用很常用);
COPY+member-name:複製同一DATASET下MEMBER內容(配合AB使用);
HEX ON/OFF:打開關閉十六進制編碼形式;
HI+XXX:高亮顯示某種語言(JCL COBOLREXX等等);
MEMBER+member-name:查詢當前所有DATASET下該member是否存在;
PROFILE:列出當前編輯環境的所有的editorprofile;
HEX ON/OFF:打開關閉十六進制編碼形式;
AUTOSAVE ON/OFF:打開關閉自動保存;
AUTONUMON/OFF:自動重新編號行號(SAVE後生效);
PROFILE,:列出當前編輯環境的所有的editorprofile;
PROFILE UNLOCK/LOCK:可以修改ISPF的editorprofile;
PACKON/OFF:是否將該MEMBER保存成PACK格式(一種主機上標準的壓縮格式);
TABSON/OFF:編輯的時候是否允許用TAB鍵跳格;
如果是編輯REXX,COBOL,JCL等,可以用 HI REXX, HICOBOL, HI JCL,讓語言的關鍵字高亮顯示。這個對閱讀程式幫助很大。命令 COPY member1 就會把 member1的內容拷貝到當前的檔案中。命令 CUT可以把當前檔案的內容拷貝到剪貼簿中,然後到你要你要粘入的檔案,使用PASTE 命令 拷貝到該檔案。
CTRL+HOME顯示隱藏十字游標;
另一種命令是行命令,是輸入在文本行中的左側EDIT下面列來使用的命令,常見的行命令如下:
C、CC、Cxx:拷貝命令。與其他行命令(A、B)或主命令 結合使用 C拷貝當前行,CC拷貝多行,用兩個CC來定位,Cxx拷貝多行,XX表示行數;
I、IXX:插入命令。執行一次插入命令後,可直接按回車(ctrl)換行;
D、DD、Dxx:刪除;
R、RR、Rxx:複製;
O:覆蓋當前內容(結合C和R來用);
A:定位於當前行之前;
B:定位於當前行之後;
X、XX、Xxx:隱藏;
S、Sxx:顯示隱藏的內容;
COLS:螢幕的刻度標尺;
TS:將一行文本切分為兩行;
TF:將多行文本合併為一行;
行命令還有O,配合A,B一起使用能夠覆蓋指定的行相同位置還有列於最下行的功能鍵都有提示,就不說了。編輯完了F3可保存退出。F12不保存退出。