VFP中使用“表設(shè)計器”建立索引

字號:

表經(jīng)過排序,使無序記錄變?yōu)橛行蛴涗?,但在表中插入新記錄后又會變成無序,需要重新做排序操作,又會生成新的排序文件,使用非常不方便。索引技術(shù)不對表作物理排序,不生成新表,而是通過建立表文件的索引文件從邏輯上進行排序。在索引文件中,只記入索引表達式(又稱關(guān)鍵字)的值及其記錄地址。我們要從一本書中查找內(nèi)容,一種方法是從頭到尾逐頁查找,直到找到為止;另一種方法是通過書的目錄,從目錄中得到要查找內(nèi)容的頁號,可迅速找到該內(nèi)容。索引就如同圖書的目錄,根據(jù)關(guān)鍵字值及地址,可迅速定位到該記錄。表文件在使用索引文件后,既加快了查詢速度,當(dāng)有記錄增刪時還能自動對索引文件進行調(diào)整。
    索引文件分為兩類:獨立索引和復(fù)合索引。
     一.獨立索引:如果一個索引存放在一個索引文件,這種索引文件稱為獨立索引文件,擴展名為.idx。如果一個表需要多種索引順序時,使用獨立索引就要建立多個索引文件,操作和維護都不方便。
     二.復(fù)合索引:如果若干個索引存放在同一個索引文件中,這種索引文件稱為復(fù)合索引文件,擴展名為.cdx。在復(fù)合索引文件中,如果索引文件主名與表文件主名相同,稱為結(jié)構(gòu)化復(fù)合索引,否則稱為非結(jié)構(gòu)化復(fù)合索引。使用“表設(shè)計器”建立的索引肯定是結(jié)構(gòu)化復(fù)合索引。
     三.索引的類型:
    (1).主索引:主索引的關(guān)鍵字,其表中所有記錄的值必須惟一。例如:“職工檔案”表中,“編號”字段可作為主索引的索引關(guān)鍵字,因為每個人的“編號”肯定是惟一的,而“姓名”字段不可作主索引的索引關(guān)鍵字,因為可能有重名的情況。只有數(shù)據(jù)庫表可建主索引,且一個數(shù)據(jù)庫表只有建一個主索引。
    (2).候選索引:候選索引的關(guān)鍵字,其表中所有記錄的值必須惟一。一個表可建多個候選索引,且數(shù)據(jù)庫表和自由表均可建候選索引。
    (3).普通索引:普通索引的關(guān)鍵字,其表中記錄的值可以重復(fù)。一個表可建多個普通索引,數(shù)據(jù)庫表和自由表均可建普通索引。
    (4).惟一索引: 惟一索引的關(guān)鍵字,其表中記錄的值可重復(fù),但在索引文件中僅保留重復(fù)值記錄的第一個。
     四.使用“表設(shè)計器”建立索引
    例:為“工資情況”根據(jù)“編號”建立主索引,根據(jù)“工資”建立普通索引,降序排列。
    (1).use 工資情況
    modi structure
    &&上述操作,也可在項目管理器中,選中“工資情況”表,單擊右側(cè)的“修改”按鈕。
    (2).在“表設(shè)計器”中,切到“索引”選項卡,分別輸入索引名和關(guān)鍵字。
    注意:因為要求“工資”降序排序,,我們應(yīng)點一下“工資”索引名左側(cè)的箭頭,該箭頭向下,即為降序排序。如果要刪除某個索引,可以先將光標定于該索引的索引名文本框中,單擊右側(cè)的“刪除”按鈕。