3.複合索引
複合索引是將若幹個索引存放於一個共同的索引文件中,其中每個索引都有一個標記,一般用其索引字段為標記。複合索引又分結構複合索引和獨立複合索引,本章介紹結構複合索引,它能自動與庫文件同時打開。結構複合索引文件名規定與庫文件同名,擴展名為.CDX。
例:將ZGDA.DBF所有記錄,按ZGH、BM、CSRQ字段建立複合索引文件ZGDA.CDX,索引標記依次為ZGH、BM、CSRQ。操作步驟如下:
(1)選File下拉菜單中的New項。
(2)從列表框中選取Index,再單擊New按鈕,出現如Index對話框。
(3)選OutputFile框中的單選按鈕中的CompoundIndexFile按鈕,同時選中StructuralIn.dexStructure複選框,確定建立結構複合索引文件。
(4)在Fields列表框中選取zsh字段,使它呈深色顯示,然後單擊AddtoIndexList按鈕,,Oh將出現在IndexKey框中,表示本次索引按zsh字段進行。
(5)再次在Fields列表框中選ZGH字段,ZGH將出現在TagName框中,表示它是本次索引的標記。
(6)如果認定隻取一個索引值相同的記錄保存於索引文件中,則單擊UNIGUE複選框,使之顯示反之不選。
(7)重複步驟(1)-(6)分別把bm和csrq增加到IndexKey框中,並分別以bm,csrq為索引標記,此時Index對話框。
(8)單擊0K按鈕,完成按zsh、bm、csrq的索引,分別以zsh、bm、csrq為標記,共存於複合索引文件ZGDA.CDX中。係統默認的文件名不必輸入。
(9)選Datebase下拉菜單中的Browse項,屏幕顯示ZGDA.DBF庫文件的內容。
可以看出,顯示出的記錄順序是按csrq字段升序排列的,這是最後按csrq字段建立的索引文件(主控索引)起作用的結果。
同樣,建複合索引文件的命令格式為;
INDEXON索引字段TAG索引標記[UNIQUE][ASCENDING][DESCENDING][ADD1.TIVE]
命令中的UNIQUE、ASCENDING、DESCENDING、ADDITIVE可選項分別表示保留相同索引字段值一條記錄、升序索引、降序索引和不關閉以前已打開的索引。
4.索引文件的打開與關閉
索引文件不影響庫文件記錄的實際排列順序,它的作用是使顯示、查找等操作按索引字段值的大小順序進行,故能按索引字段值的大小順序顯示庫文件內容,能加快查詢速度。要使索引起作用,必須打開索引文件。
(1)打開索引文件:結構複合索引文件(.CDX)總是自動與庫文件同時打開,無需任何命令;簡單索引、複雜索引等單索引文件,可用如下命令與庫文件同時打開:
USEINDEX
若先打開庫文件,然後再打開簡單索引或複雜索引文件,可用命令:
SETINDEXTO
(2)設定主控索引:同時打開幾個索引文件,命令中的索引文件l若是單索引,它便是當前的“主控索引”;若是複合索引,則沒有當前主控索引。要使索引文件變成主控索引,用命令:
SETORDERTO
由於複合索引中含有多個不同標誌的索引,要把其中按某個索引字段進行的索引設定為主控索引,使用命令:
SETORDERTOTAGOF
例如:把按BM字段(標誌為BM)進行的索引設為主控索引,命令是:
SETORDERTOTAGBMOFZGDA.CDX
設置BM為主控索引,就按部門順序顯示庫文件內容,若再設置CSRQ為主控索引,將按出生日期先後顯示庫文件內容,某一時刻隻能有一個索引是主控索引。
設定bm為主控索引的鼠標方式操作步驟如下:(1)打開ZGDA數據庫,ZGDA.CDX將自動打開。(2)選Database下拉菜單的Setup項,引出Setup對話框。
(3)在索引列表中選Zgda:bm,單擊Setorder按鈕,使Zgda:bm前麵出現小鑰匙,表明bm為主控索引。單擊0K按鈕,退出SETUP對話框。
(4)選Database下拉菜單的Browse項,屏幕顯示ZGDA庫文件內容。可以看出,記錄順序是按bm字段升序排列的。
(5)關閉索引文件:關閉庫文件時,相關的所有索引文件將自動關閉。不關閉庫文件,簡單索引文件和複雜索引文件也可以單獨關閉。
複合索引文件不能單獨關閉,但可使其不起作用。操作方法是:選Database下拉菜單中的Setup項,從Setup對話框中的索引列表框中選取要關閉的索引文件,單擊Noorder按鈕,使它前麵的小鑰匙消失,再單擊0K按鈕,退出Setup對話框,複合索引文件將失去作用。
(4)刪除索引:
刪除複合索引中某一索引可用命令:
DELETETAG[OF(複合索引文件名>]
刪除複合索引文件用命令:
DELETETAGA1上OF
刪除單索引文件要先關閉該索引,然後用命令:
ERASE
5.重建索引文件
每次對庫文件進行編輯修改後均應重建索引文件,以保證索引文件與庫文件的一致性。方法是在對庫文件進行增、刪、改之前,把相關的所有索引文件都打開,這樣在編輯修改庫文件時,索引文件會“自動修改”。
在打開的索引文件很多時,“自動修改”的方法操作速度慢。打開庫文件,但不打開簡單或複雜索引文件(.IDX),並使複合索引文件(.CDX)不起作用,進行庫文件的編輯修改,然後再打開所有索引文件,使用重建索引命令:REINDEX,就會更新所有打開的索引文件,使之與庫文件保持一致。REINDEX命令可從Record下拉菜單中激活,或者從命令窗口輸入。