亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁(yè) | 考試用書 | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
      全國(guó)  |             |          |          |          |          |         
        當(dāng)前位置:計(jì)算機(jī)等級(jí) > 二級(jí)考試 > Visual FoxPro > VF輔導(dǎo) > 文章內(nèi)容
        

      計(jì)算機(jī)等級(jí)考試二級(jí)VFP輔導(dǎo)講義:VisualFoxPro數(shù)據(jù)庫(kù)及其操作

      中華IT學(xué)院   【 】  [ 2017年7月5日 ]

        13. 表的索引

        (1).索引及索引文件的概述

        索引是以索引文件的形式存在的,它根據(jù)指定的索引關(guān)鍵字表達(dá)式建立的。索引文件可以看成索引關(guān)鍵字的值與記錄號(hào)之間的對(duì)照表,關(guān)鍵字可以是一個(gè)字段,也可以是幾個(gè)字段的組合。在建立索引文件時(shí),把表所有記錄的索引關(guān)鍵字表達(dá)式的值按指定順序排序,并把每個(gè)索引關(guān)鍵字表達(dá)式值與該值在表中所對(duì)應(yīng)的記錄對(duì)應(yīng)起來(lái),保存在索引文件中。

        索引文件必須與原表一起使用,查詢時(shí)根據(jù)索引關(guān)鍵字表達(dá)式的值先在索引文件中找到某字段所在的記錄號(hào),然后再到表里直接定位。這樣的查找方式使順序查找和隨機(jī)查找都有較高的效率。打開(kāi)索引文件時(shí),將改變表中記錄的邏輯順序,但并不改變表中記錄的物理順序。

        一個(gè)表文件可建立多個(gè)索引文件,也可同時(shí)打開(kāi)多個(gè)索引文件,但在同一時(shí)間內(nèi)只有一個(gè)索引起作用,這個(gè)索引稱為主控索引。

        Visual FoxPro系統(tǒng)中支持兩種不同的索引文件類型,即單索引文件和復(fù)合索引文件。

        單索引文件是根據(jù)一個(gè)索引關(guān)鍵字建立的索引文件,文件擴(kuò)展名為.IDX,它可用INDEX命令的各種形式建立。單索引文件分為標(biāo)準(zhǔn)和壓縮兩種類型。

        復(fù)合索引文件是指索引文件中可以包含多個(gè)索引標(biāo)識(shí)的擴(kuò)展名為.CDX。每個(gè)索引標(biāo)識(shí)與單索引文件類似,也可以根據(jù)一個(gè)索引關(guān)鍵字表達(dá)式(或關(guān)健字)建立。每一個(gè)索引標(biāo)識(shí)均有一個(gè)特殊的標(biāo)識(shí)名(TAG)。標(biāo)識(shí)名由字母或下劃線開(kāi)頭,由字母、數(shù)字或下劃線組成,長(zhǎng)度不超過(guò)10個(gè)字符。用戶可以利用標(biāo)識(shí)名來(lái)使用標(biāo)識(shí),向復(fù)合索引文件中追加標(biāo)識(shí)。復(fù)合文件中標(biāo)識(shí)的數(shù)目,僅受內(nèi)存和磁盤空間的限制。

        復(fù)合索引文件又有兩種:一種是獨(dú)立復(fù)合索引文件;另一種是結(jié)構(gòu)復(fù)合索引文件。結(jié)構(gòu)復(fù)合索引文件是由Visual FoxPro自動(dòng)命名的,與相應(yīng)的表文件同名,擴(kuò)展名為.CDX。當(dāng)Visual FoxPro打開(kāi)一個(gè)表時(shí),便自動(dòng)查找一個(gè)結(jié)構(gòu)復(fù)合索引文件,如果找到便自動(dòng)打開(kāi),該索引文件隨表文件同時(shí)打開(kāi)和同時(shí)關(guān)閉。

        獨(dú)立復(fù)合索引文件不與表文件同名,擴(kuò)展名為.CDX。在打開(kāi)表時(shí)不會(huì)自動(dòng)打開(kāi)此索引文件,由命令指定打開(kāi)。

        索引可分為下列四種類型:

        1)主索引

        主索引是一個(gè)永遠(yuǎn)不允許在指定字段和表達(dá)式中出現(xiàn)重復(fù)值的索引。它也是在數(shù)據(jù)庫(kù)表的永久關(guān)聯(lián)中創(chuàng)建參照完整性時(shí)主表和被引用表使用的索引。每一個(gè)表只能建立一個(gè)主索引,只有數(shù)據(jù)庫(kù)表才能建立主索引。

        2)侯選索引

        侯選索引也是一個(gè)不允許在指定字段和表達(dá)式中出現(xiàn)重復(fù)值的索引。數(shù)據(jù)庫(kù)表和自由表都可以建立侯選索引,一個(gè)表可以建立多個(gè)侯選索引。

        主索引和侯選索引都存儲(chǔ)在.CDX結(jié)構(gòu)復(fù)合索引文件中,不能存儲(chǔ)在于獨(dú)立復(fù)合索引文件和單索引文件中,因?yàn)橹魉饕秃钸x索引都必須與表文件同時(shí)打開(kāi)和同時(shí)關(guān)閉。

        3)唯一索引

        系統(tǒng)只在索引文件中保留第一次出現(xiàn)的索引關(guān)鍵字值。數(shù)據(jù)庫(kù)表和自由表都可以建立唯一索引

        4)普通索引

        是一個(gè)最簡(jiǎn)單的索引,允許關(guān)鍵字值的重復(fù)出現(xiàn),適合用來(lái)進(jìn)行表中記錄的排序和查詢,也適合于一對(duì)多永久關(guān)聯(lián)中“多”的一邊(子表)的索引。數(shù)據(jù)庫(kù)表和自由表都可以建立普通索引。普通索引和唯一索引可以存儲(chǔ)在.CDX獨(dú)立復(fù)合索引文件和.IDX單索引文件中。

        (2).索引文件的建立

        1)命令方式

        【格式】INDEX ON <索引關(guān)鍵字表達(dá)式> TO <單索引文件> | TAG <標(biāo)識(shí)名> [OF <獨(dú)立復(fù)合索引文件名>]

        [FOR <邏輯表達(dá)式>] [COMPACT]

        [ASCENDING | DESCENDING][UNIQUE] [ADDITIVE]

        (p99)

        【功能】對(duì)當(dāng)前表文件按指定的關(guān)鍵字建立索引文件。

        【說(shuō)明】<索引關(guān)鍵字表達(dá)式>:指定建立索引文件的關(guān)鍵字表達(dá)式,可以是單一字段名,也可以是多個(gè)字段組成的字符型表達(dá)式,表達(dá)式中各字段的類型只能是數(shù)值型、字符型和日期型和邏輯型。當(dāng)表達(dá)式是單個(gè)字段名時(shí),字段類型不用轉(zhuǎn)換;應(yīng)轉(zhuǎn)換成同一類型的表達(dá)式。

        TAG <標(biāo)識(shí)名>:此選項(xiàng)只對(duì)建立復(fù)合索引文件時(shí)有效,指定建立或追加索引標(biāo)識(shí)的標(biāo)識(shí)名。

        OF <獨(dú)立復(fù)合索引文件>:指定獨(dú)立復(fù)合索引文件名。若有此選項(xiàng),表示在指定的獨(dú)立復(fù)合索引文件中追加一個(gè)索引標(biāo)識(shí),若指定的獨(dú)立復(fù)合索引文件不存在,系統(tǒng)將自動(dòng)建立指定的文件。若沒(méi)有此選項(xiàng),表示在結(jié)構(gòu)復(fù)合文件中追加一個(gè)索引標(biāo)識(shí),若結(jié)構(gòu)復(fù)合索引文件不存在,系統(tǒng)將自動(dòng)建立結(jié)構(gòu)復(fù)合索引文件。

        FOR <邏輯表達(dá)式>:表示只對(duì)滿足條件的記錄建立索引。

        COMPACT:此選項(xiàng)只對(duì)單索引文件有效,表示建立壓縮索引文件。

        ASCENDING|DESCENDING: ASCENDING 表示按升序建立索引,DESCENDING 表示按降序建立索引。缺省時(shí),按按升序建立索引。單索引文件不能選用DESCENDING 選項(xiàng)。UNIQUE:表示建立的是唯一索引。

        ADDITIVE:表示保留以前打開(kāi)的索引文件。否則,除結(jié)構(gòu)復(fù)合索引文件外,以前打開(kāi)的其他索引文件都將被關(guān)閉。

        新建的索引文件自動(dòng)打開(kāi),并開(kāi)始起作用。

        【例1】對(duì)STUD.DBF 表文件建立出生日期單索引文件STUD.IDX。

        USE STUD

        INDEX ON 出生日期 TO STUD

        【例2】對(duì)表文件STUD.DBF,建立一個(gè)基于出生日期字段的結(jié)構(gòu)復(fù)合索引文件。

        USE STUD

        INDEX ON 出生日期 TAG 出生日期 DESCENDING

        【例3】在表文件STUD.DBF的結(jié)構(gòu)復(fù)合索引文件中,按學(xué)號(hào) 追加一個(gè)標(biāo)識(shí)。

        USE STUD

        INDEX ON 學(xué)號(hào) TAG 學(xué)號(hào)

        【例4】在表文件STUD.DBF的結(jié)構(gòu)復(fù)合索引文件中,先按性別再按學(xué)號(hào)追加一個(gè)標(biāo)識(shí)XBXH。

        USE STUD

        INDEX ON 性別+學(xué)號(hào) TAG XBXH

        【例5】在表文件STUD.DBF中,先按性別再按是否團(tuán)員建立一個(gè)獨(dú)立復(fù)合索引文

        件SXBTY.CDX。

        USE STUD

        INDEX ON 性別+IIF(是否團(tuán)員,’團(tuán)員’,’非團(tuán)員’) TAG 性別團(tuán)員 OF SXBTY

        2)菜單方式

       、 打開(kāi)表文件。

       、 選擇【顯示】|【表設(shè)計(jì)器】命令,打開(kāi)表設(shè)計(jì)器對(duì)話框,選擇“索引”標(biāo)簽。

       、 在索引名中輸入索引標(biāo)識(shí)名,在類型的下拉列表框中確定一種索引類型,在表達(dá)式中輸入索引關(guān)鍵字表達(dá)式,在篩選中輸入確定參加索引的記錄條件,在排序序列下默認(rèn)的是升序按鈕,單擊可改變?yōu)榻敌虬粹o。

       、 確定好各項(xiàng)后,選擇“確定”,關(guān)閉表設(shè)計(jì)器,同時(shí)索引建立完成。

       、 同樣的方法也可以將以前建立的索引調(diào)出,利用表設(shè)計(jì)器上的“插入”或“刪除”按鈕進(jìn)行插入或刪除。

        注意:用表設(shè)計(jì)器建立的索引都是結(jié)構(gòu)復(fù)合索引文件。

        (3).索引文件的打開(kāi)

        【格式1】USE <文件名> [INDEX <索引文件名表|?>][ORDER <數(shù)值表達(dá)式2> | <單索引文件> | [TAG] <標(biāo)識(shí)名> [OF <復(fù)合索引文件名>][ASCENDING | DESCENDING]]

        【功能】打開(kāi)指定的表文件及相關(guān)的索引文件

        【說(shuō)明】:

        INDEX <索引文件名表> | ?:表示打開(kāi)的索引文件;如果選擇“?”,則系統(tǒng)將出現(xiàn)“打開(kāi)”對(duì)話框,供用戶選擇索引文件名;如果<索引文件名表>中的第一個(gè)索引文件是單索引文件,則它是主索引文件,若第一個(gè)索引文件是復(fù)合索引文件,則表文件的記錄將以物理順序被訪問(wèn)。

        <索引文件名表>:指定要打開(kāi)的索引文件,索引文件中的文件擴(kuò)展名可以省略,但如果存在同名的單索引文件和復(fù)合索引文件,必須帶擴(kuò)展名。

        <索引文件名表>中的單索引文件和復(fù)合索引文件的標(biāo)識(shí)有一個(gè)唯一的編號(hào),編號(hào)最小值為1,編號(hào)規(guī)則為:先將單索引文件按它們?cè)?索引文件名表>中的順序編號(hào),再將結(jié)構(gòu)復(fù)合索引文件按標(biāo)識(shí)產(chǎn)生的順序連續(xù)編號(hào),最后將獨(dú)立復(fù)合索引文件中的標(biāo)識(shí)先按它在<索引文件名表>中的順序,再按標(biāo)識(shí)產(chǎn)生的順序連續(xù)編號(hào)。

        [ORDER]子句:指定主索引。選擇此選項(xiàng)時(shí),主索引文件將不是<索引文件名表>中的第一個(gè)單索引文件,而是此選項(xiàng)指定的單索引文件或標(biāo)識(shí)。[ORDER]子句中各選項(xiàng)的含義如下:

        ..<數(shù)值表達(dá)式2>指定主索引的編號(hào),若<數(shù)值表達(dá)式2>的值為0,表示不設(shè)主索引。

        ..<單索引文件>指定的單索引文件設(shè)置為主索引。

        .. [TAG] <標(biāo)識(shí)名> [OF <復(fù)合索引文件名>]:表示將<復(fù)合索引文件名>中的指定標(biāo)識(shí)作為主索引。[OF <復(fù)合索引文件名>]缺省表示為結(jié)構(gòu)復(fù)合索引文件。

        ASCENDING | DESCENDING:表示主索引被強(qiáng)制以升序或降序索引;缺省此選項(xiàng),主索引按原有順序打開(kāi)。

        【格式2】SET INDEX TO [<索引文件名表> ] [ORDER <數(shù)值表達(dá)式> | <單索引文件名> | [TAG] <標(biāo)識(shí)名> [OF <復(fù)合索引文件名>] [ASCENDING | DESCENDING]][ADDITIVE]

        【功能】在已打開(kāi)表文件的前提下, 打開(kāi)相關(guān)索引文件。

        【說(shuō)明】ADDITIVE:表示保留以前打開(kāi)的索引文件。否則,除結(jié)構(gòu)復(fù)合索引文件外,以前打開(kāi)的其他索引文件都將被關(guān)閉。

        (4).索引文件的關(guān)閉

        【格式1】USE

        【功能】關(guān)閉當(dāng)前工作區(qū)中打開(kāi)的表文件及所有索引文件。

        【格式2】SET INDEX TO

        【功能】關(guān)閉當(dāng)前工作區(qū)中打開(kāi)的所有單索引文件和獨(dú)立復(fù)合索引文件。

        【格式3】CLOSE INDEXS

        【功能】關(guān)閉當(dāng)前工作區(qū)中打開(kāi)的所有單索引文件和獨(dú)立復(fù)合索引文件。

        注意:結(jié)構(gòu)復(fù)合索引文件不能用以上命令關(guān)閉,它隨表文件的打開(kāi)而打開(kāi),隨表文件的關(guān)閉而關(guān)閉。

        (5).索引的刪除

        1)標(biāo)識(shí)的刪除

        【格式】DELETE TAG <標(biāo)識(shí)名1> [OF <復(fù)合索引文件名1>][, <標(biāo)識(shí)名2>

        [OF <復(fù)合索引文件名2>]] ...

        或:DELETE TAG ALL [OF <復(fù)合索引文件名>]

        【功能】從指定的復(fù)合文件中刪除標(biāo)識(shí)

        【說(shuō)明】OF <復(fù)合索引文件名>:指定復(fù)合索引文件名,若缺省,則為結(jié)構(gòu)復(fù)合索引文件。

        2)單索引文件的刪除

        【格式】DELETE FILE <單索引文件名>

        【功能】刪除指定的單索引文件

        【說(shuō)明】關(guān)閉的索引文件才能被刪除,文件名必須帶擴(kuò)展名。

        【例】刪除表文件STUD.DBF 的單索引文件STUD.IDX 及結(jié)構(gòu)復(fù)合

        索引文件中的所有標(biāo)識(shí)。 DELETE FILE STUD.IDX

        USE STUD

        DELETE TAG ALL

      分享到:
      本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved