正文 第五章 數據庫基礎與操作(二)(2 / 3)

在Sort對話框中,FieldOptions框中有三個選項:Ascendin9是升序(即從小到大的順序),Descendin9是降序,IgnoreCase是排序時,不區分英文字母大小寫。

一般以字符型、數值型(含浮點型)、日期型字段為排序關鍵字段,升序降序中的

“大小”是這樣確定的:字符的大小是按其ASCIl值大小確定;漢字的大小按漢字內碼值確定;日期大小按日期的先後確定(日期在前的為小)。

2.鍵盤方式簡單排序命令是

SORTTOON[/A][/D][/C]【FOR表達式】[範圍]

命令中,A表示升序,,D表示降序,,C表示忽略字母大小寫。

3.複雜排序

複雜排序是按幾個關鍵字段排序,當第一個關鍵字段(主關鍵字段)的值相同時,按第二個關鍵字段大小排序;第二個字段值相同,按第三個字段排序…依次類推,稱為複雜排序。其鼠標方式操作與簡單排序相仿,但需先選擇第一個關鍵字段名將其“Move”(移動)到Sortorder框中,依次再移動第二個、第三個…排序字段到Sortorder框中。

二、索引

排序是將庫文件中的記錄重新調整順序,生成一個新的庫文件,需要占據大量的磁盤空間。因此,通常推薦建立索引文件來加快查詢速度。因為索引文件不需要重新排列庫文件的記錄,在索引文件中僅含有按升序或降序排列的索引關鍵字段值以及與之一一對應的記錄。當打開庫文件的同時打開相應的索引文件後,就會按索引順序顯示庫文件內容。而後的查詢操作是在索引文件查到關鍵字段的值(由於關鍵字段值已排序,查詢速度很快)以及對應的記錄號,使該號記錄成為當前記錄,再顯示符合查詢條件的記錄內容。這與看書時,先查索引表,從表中查找要閱讀的關鍵字對應的頁碼,翻到該頁碼處開始閱讀是相仿的。

根據索引生成及存儲方式的不同,FoxPr0的索引文件分為單索引文件(擴展名為.IDX)和複合索引文件(擴展名為.CDX)。

1.簡單索引

簡單索引就是按一個字段的值對庫文件進行索引,該字段稱為“索引字段”。備注型、通用型字段不能作索引字段。簡單索引文件的擴展名是.IDX,係統規定隻允許升序索引。例如:按XM字段值從小到大的順序(升序),對庫文件ZGDA.DBF中所有記錄進行索引,生成索引文件ZGDA3.IDX,操作步驟如下:

(1)選File下拉菜單的New項,將出現New對話框。

(2)從New對話框中FileType下的列表框中選取Index,再單擊New按鈕,出現Index對話框。

(3)選取0utputFile框中的SingleIndexFile按鈕,意為建立簡單索引文件。

(4)選取0utputFile框中的SaveAs按鈕,在引出的對話框的文本輸入框中輸入索引文件名ZGDA3.IDX.

(5)在Fields列表框中選xnl字段,呈深色顯示,然後單擊AddindexList按鈕,xm出現在Index Key框中,表示本次索引按XM字段進行。此時Index對話框。

(6)單擊0K按鈕,完成索引,生成ZGDA3.IDX索引文件。

(7)選Database下拉菜單中Browse項,屏幕上顯示出ZGDA.DBF內容,其中記錄的先後順序已按字段從小到大排列(漢字的順序是按其拚音字母順序)。

完成簡單索引的命令格式:

INDEXON索引字段TO[UNIQUE]

其中UNIQUE表示索引字段值相同的記錄隻取一個參加索引,無此項則索引字段值相同的記錄全部參加索引,上例等效的命令是:

INDEXONXMTOZGDA3.IDX

2.複雜索引

複雜索引是按幾個字段進行聯合索引,建立一個索引文件。簡單索引及複雜索引都屬於單索引,擴展名均為.IDX。複雜索引的索引條件是一個索引表達式,它用“+”號連接若幹個索引字段名,這些字段名寫法規定如下:

·字符型字段名可直接寫出;

·數值型及實數型字段名寫成:STR(字段名,字段寬度,小數位);

·日期型字段名寫成DTOC(字段名)。

這裏STR()是將數值變成一串字符的函數;DTOC()是將日期變成字符的函數。例如:要按BM、JBGZ、CSRQ組成複雜索引,索引表達式是:

BM+STR(JBGZ,7,2)+DTOC(CSRQ)

其含義是將BM、JBGZ、CSRQ連成一整個字符串作為索引條件。各條記錄的這三個字段按上式連接組成的字符串進行大小比較,而決定索引排列的順序。

用鼠標方式按BM、JBGZ、csrtQ三個字段建立索引文件的操作步驟是:

(1)選File下拉菜單的New項。

(2)從New對話框中選取Index項。

(3)在Index對話框中,選0utput框中的SingleIndexFile單選按鈕,即建立單索引文件。

(4)選取0utputFile框中SaveAs按鈕,在引出的文本框輸入索引文件名:ZGDA4.IDX,返回Index對話框。

(5)選擇IndexKey按鈕,在引出的“E印ressBuild”(表達式生成器)對話框中輸入下麵的索引表達式:BM+STR(JBGZ,7,2)+DTOC(CSRQ),然後單擊OK,返回INDEX對話框。

(6)選取AddtoIndexList按鈕,使上述索引表達式出現在IndexKey框中,這時Index對話框。

(7)單擊0K按鈕,完成索引,結果存入ZGDA4.IDX索引文件,並將它設定為當前的主控索引。

(8)選Database下拉菜單的Browse,顯示的庫文件內容,其記錄順序是按BM—JBGz—CSRQ排列的。

鍵盤方式等效命令是:

INDEXONBM+STR(JBGZ2,7,2)+DTOC(CSRQ)TOZGDA4.IDX