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

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下拉菜單中激活,或者從命令窗口輸入。