設(shè)置數(shù)據(jù)表的索引
1.索引表和索引文件
用戶對數(shù)據(jù)表常常會有不同的需求,為了加快數(shù)據(jù)的檢索、顯示、查詢和打印速度,就需要對文件中的記錄順序進行重組。實現(xiàn)的方法一般有兩種:一種叫做排序;另一種叫做索引。
排序的作用是按指定字段或字段組中數(shù)據(jù)值的大小順序,以遞增(升序) 或遞減(降序) 方式重新排列全部數(shù)據(jù)記錄,并生成一個新的數(shù)據(jù)表文件。
索引不建立一個新的數(shù)據(jù)表文件,只是按照給定字段表達式值的大小,生成一個索引表,并使數(shù)據(jù)表中的記錄按索引表的要求以遞增(升序) 或遞減(降序) 順序顯示。
索引技術(shù)除可以重新排列數(shù)據(jù)表記錄的前后順序外,在建立數(shù)據(jù)表間的關(guān)聯(lián)時,或者利用 SQL語言建立查詢、視圖時,都必須*索引技術(shù)來支持。
2.索引關(guān)鍵字的類型
索引關(guān)鍵字:是由一個或若干個字段構(gòu)成的索引表達式。索引表達式的類型決定了不同的索引方式。VFP系統(tǒng)提供了四種不同的類型,它們分別是主索引、候選索引、普通索引和惟一索引。
(1) 主索引。主索引是能夠惟一地確定數(shù)據(jù)表中一條記錄的字段或字段組合表達式;要求該字段或字段組合表達式的值,在數(shù)據(jù)表的全部記錄中都不能出現(xiàn)重復(fù)。
主索引只能在數(shù)據(jù)庫表中創(chuàng)建和使用,而且一個數(shù)據(jù)表只能指定一個主索引。表的主索引就相當(dāng)于關(guān)系的主碼。
。2) 候選索引。候選索引像主索引一樣,是能夠惟一地確定數(shù)據(jù)表中一條記錄的字段或字段組合表達式。但是,一個數(shù)據(jù)表允許建立多個候選索引,可以在數(shù)據(jù)庫表或自由表中創(chuàng)建候選索引。如果將一個包含了重復(fù)數(shù)據(jù)的字段指定為候選索引,系統(tǒng)會返回一個出錯信息,并禁止創(chuàng)建該索引。表的候選索引相當(dāng)于關(guān)系的候選碼。
。3) 普通索引。普通索引允許數(shù)據(jù)表中各記錄的索引字段或字段組合表達式的值相同,而且既允許在數(shù)據(jù)庫表中創(chuàng)建,也允許在自由表中創(chuàng)建。
。4) 唯一索引。唯一索引是VFP為保持與低版本軟件的兼容性而保留的一種索引類型,一般情況下很少使用。它允許數(shù)據(jù)表中各記錄的索引字段,或字段組合表達式的值相同,但是在索引表中只保留數(shù)據(jù)表中與索引字段值相同的第一條記錄。
3.創(chuàng)建索引文件
可以使用命令建立索引文件,但是利用表設(shè)計器創(chuàng)建索引文件更加直觀、方便。結(jié)構(gòu)復(fù)合索引文件可以在創(chuàng)建數(shù)據(jù)表時建立,也可以對已經(jīng)建立好的數(shù)據(jù)表創(chuàng)建或修改索引。
4.索引的操作
。╨) 打開與關(guān)閉。要使用索引,必須先要打開索引。結(jié)構(gòu)復(fù)合索引總是隨著數(shù)據(jù)表打開,一旦數(shù)據(jù)表文件關(guān)閉,相應(yīng)的索引文件也就自動關(guān)閉了。
(2) 確定主索引。結(jié)構(gòu)復(fù)合索引打開后,其中的索引標(biāo)識(Tag) 并不起作用,數(shù)據(jù)表記錄順序仍然保持著原始自然排列。必須要執(zhí)行確定主索引的操作后,數(shù)據(jù)表記錄的排列順序才會跟著變化。
在程序中常常使用命令方式確定當(dāng)前主索引。
(3) 刪除索引標(biāo)識。要刪除結(jié)構(gòu)復(fù)合索引文件中的索引標(biāo)識,應(yīng)當(dāng)打開數(shù)據(jù)表文件,并打開其表設(shè)計器對話框。在“索引” 頁卡中選定要刪除的索引標(biāo)識后,單擊“刪除” 按鈕刪除。