亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Visual FoxPro表之索引文件的建立與使用

        2015-10-18 05:14:12劉湖平
        中國(guó)管理信息化 2015年11期
        關(guān)鍵詞:排序結(jié)構(gòu)

        劉湖平,王 欣

        (石家莊機(jī)械化步兵學(xué)院,石家莊 050083)

        基于Visual FoxPro表之索引文件的建立與使用

        劉湖平,王欣

        (石家莊機(jī)械化步兵學(xué)院,石家莊 050083)

        在數(shù)據(jù)庫(kù)中,數(shù)據(jù)查詢(xún)與統(tǒng)計(jì)是最常用的操作。尤其是查詢(xún),它是更新操作的基礎(chǔ),只有優(yōu)化了查詢(xún)才能有效提高查詢(xún)速度,建立索引是優(yōu)化查詢(xún)的基礎(chǔ)與前提,同時(shí)也是進(jìn)行多表關(guān)聯(lián)與聯(lián)接的依據(jù)。

        Visual FoxPro;表;索引文件;建立;使用

        1 索引與索引文件

        在Visual FoxPro中,索引就是對(duì)表中一個(gè)字段或多個(gè)字段(或表達(dá)式)的值,重新排列表中記錄順序的一種方法。表中記錄在錄入時(shí)有一個(gè)先后順序,稱(chēng)為物理順序,其存儲(chǔ)或輸出時(shí)也按這個(gè)順序進(jìn)行。對(duì)該表創(chuàng)建某個(gè)索引并使用該索引后,在輸出時(shí)就會(huì)按關(guān)鍵字值的大小重新排列這些記錄,形成一個(gè)新的順序,稱(chēng)為邏輯順序。索引并不改變記錄的物理順序。將索引(排序方案)存放到文件中,就形成索引文件,一個(gè)索引文件可以存放一個(gè)或多個(gè)索引。索引文件邏輯結(jié)構(gòu)如圖1所示。一般說(shuō)來(lái),索引文件比表文件要小得多,并且在對(duì)表數(shù)據(jù)進(jìn)行編輯時(shí),索引文件會(huì)自動(dòng)更新。

        圖1 索引文件邏輯結(jié)構(gòu)

        使用索引可以大大提高系統(tǒng)的性能。表現(xiàn)在:①方便對(duì)表記錄進(jìn)行排序,花較小的開(kāi)銷(xiāo)對(duì)表記錄進(jìn)行排序,并且不改變記錄的物理順序,這也是創(chuàng)建索引的最初目的;②它是二分查詢(xún)的基礎(chǔ),可以大大加快數(shù)據(jù)的檢索速度,這是創(chuàng)建索引的最主要目的;③它是多表關(guān)聯(lián)和聯(lián)接的依據(jù),特別是在實(shí)現(xiàn)數(shù)據(jù)參照完整性方面有特別意義;④它是進(jìn)行數(shù)據(jù)匯總的前提,在使用分組和排序子句進(jìn)行數(shù)據(jù)統(tǒng)計(jì)時(shí),同樣可以顯著減少查詢(xún)時(shí)間。

        2 索引的分類(lèi)

        Visual FoxPro支持的索引有多種樣式,每個(gè)索引文件所包含的索引數(shù)量可分為單一索引和復(fù)合索引兩類(lèi)。

        2.1單一索引

        所謂單一索引,就是一個(gè)索引文件只包含一個(gè)索引,要對(duì)表實(shí)施多種排序時(shí),就要?jiǎng)?chuàng)建多個(gè)索引文件,該類(lèi)索引文件擴(kuò)展名為.IDX,目前已基本不采用。

        2.2復(fù)合索引

        復(fù)合索引文件允許一個(gè)文件包含多個(gè)索引,每個(gè)索引都有一個(gè)標(biāo)識(shí),稱(chēng)為索引標(biāo)識(shí),代表一種排序方案。復(fù)合索引文件擴(kuò)展名為.CDX。

        復(fù)合索引文件又分為結(jié)構(gòu)的和非結(jié)構(gòu)的兩種。所謂結(jié)構(gòu)的,就是索引文件與表文件是一體的,非結(jié)構(gòu)的就是索引文件與表文件是分開(kāi)的。簡(jiǎn)單來(lái)說(shuō),若創(chuàng)建索引文件時(shí),用戶(hù)為該索引文件重新命名,則該索引文件為非結(jié)構(gòu)的,否則為結(jié)構(gòu)的(索引文件與表文件名稱(chēng)相同)。VisualFoxPro主要使用結(jié)構(gòu)復(fù)合索引文件(復(fù)合結(jié)構(gòu)索引)。針對(duì)不同需要,結(jié)構(gòu)復(fù)合索引可以是以下3種類(lèi)型:

        (1)普通索引。允許關(guān)鍵字重復(fù),僅按關(guān)鍵字的值對(duì)表進(jìn)行排序,在建立表間關(guān)系時(shí),可作為“一對(duì)多”關(guān)系中的“多方”。

        (2)候選索引。不允許關(guān)鍵字重復(fù),輸入重復(fù)值時(shí)將禁止存盤(pán)。可用作主關(guān)鍵字,并允許在永久關(guān)系中建立參照完整性。

        (3)主索引。僅用于數(shù)據(jù)庫(kù)表,其作用同候選索引。

        3 索引的建立

        索引的創(chuàng)建方法有兩種:①在Visual FoxPro環(huán)境下,可以通過(guò)界面操作的方式直接在表設(shè)計(jì)器中建立索引;②通過(guò)命令來(lái)創(chuàng)建,這也是最本質(zhì)的方法,因?yàn)橥ㄟ^(guò)命令可以進(jìn)行編程。下文皆以命令的方式進(jìn)行介紹。

        命令格式:

        INDEXON<索引關(guān)鍵字>TAG<索引標(biāo)識(shí)>[FOR<條件>][ASCENDING|DESCENDING][CANDIDATE][ADDITIVE]

        命令功能:創(chuàng)建結(jié)構(gòu)復(fù)合索引文件及索引標(biāo)識(shí)。

        說(shuō)明:

        (1)本命令是為當(dāng)前工作區(qū)中打開(kāi)的表創(chuàng)建索引文件。

        (2)<索引關(guān)鍵字>表示要建立索引的字段、字段組合或字段表達(dá)式;<索引標(biāo)識(shí)>即為該索引定義的一個(gè)標(biāo)識(shí)(符合變量的命名規(guī)則,一般不用漢字)。

        (3)<條件>是對(duì)表進(jìn)行篩選,只有對(duì)符合條件的記錄才進(jìn)行索引。該項(xiàng)為可選,缺省為所有記錄。

        (4)[ASCENDING|DESCENDING]表示索引后記錄的邏輯順序,ASCENDING表示升序、DESCENDING表示降序。該項(xiàng)為可選,缺省為升序。

        (5)[CANDIDATE]表示候選索引,該項(xiàng)為可選,缺省為普通索引。

        (6)[ADDITIVE]表示建立本索引文件時(shí),并不關(guān)閉之前打開(kāi)的索引文件。該項(xiàng)為可選,缺省為關(guān)閉。

        舉例:若工廠管理設(shè)備表為SB(編號(hào)、名稱(chēng)、啟用日期、價(jià)格、部門(mén)、主要設(shè)備、備注、商標(biāo))

        USESB&&打開(kāi)表SB

        INDEXON價(jià)格TAG jg DESCENDING

        &&為表SB創(chuàng)建結(jié)構(gòu)復(fù)合索引文件SB.CDX,關(guān)鍵字:價(jià)格,jg為索引標(biāo)識(shí);普通索引,降序。

        INDEXON部門(mén)+STR(價(jià)格,9,2)TAGbmjg

        &&關(guān)鍵字表達(dá)式:部門(mén)+STR(價(jià)格,9,2),索引標(biāo)識(shí)bmjg,普通索引,該索引寫(xiě)入SB.CDX文件,該索引按部門(mén)升序,部門(mén)相同時(shí)按價(jià)格升序排列。

        INDEXONVAL(部門(mén))-價(jià)格*100 TAGbmjg1CADIDATE

        &&關(guān)鍵字表達(dá)式:VAL(部門(mén))-價(jià)格*100,索引標(biāo)識(shí)bmjg1,候選索引,該索引寫(xiě)入SB.CDX文件,該索引按部門(mén)升序,部門(mén)相同時(shí)按價(jià)格降序排列。

        4 索引的使用

        對(duì)于結(jié)構(gòu)復(fù)合索引文件而言,實(shí)現(xiàn)索引查詢(xún)僅需打開(kāi)表,確定主控索引(激活)。

        4.1激活

        復(fù)合索引文件中,當(dāng)前建立的索引標(biāo)識(shí)自動(dòng)成為主控索引(即最后創(chuàng)建的索引標(biāo)識(shí)),但在重新打開(kāi)表時(shí),盡管索引文件也自動(dòng)打開(kāi),但還必須確定主控索引,即對(duì)索引進(jìn)行激活。

        命令格式:

        SETORDER TO[<數(shù)值表達(dá)式>]|[<索引標(biāo)識(shí)>]

        命令功能:激活索引(確定主控索引),即打開(kāi)的表按此進(jìn)行排序。

        說(shuō)明:

        (1)<數(shù)值表達(dá)式>表示索引序號(hào),用整數(shù)表示,它是創(chuàng)建索引時(shí)的序號(hào),即依據(jù)創(chuàng)建索引的先后,系統(tǒng)自動(dòng)為每個(gè)索引編排一個(gè)序號(hào)。上述創(chuàng)建的3個(gè)索引標(biāo)識(shí)的序號(hào)分別為1、2、3,即1指的是jg,3指的是bmjg1。

        (2)<索引標(biāo)識(shí)>指具體的索引標(biāo)識(shí),如上例中的jg、bm jg。

        (3)命令中不帶參數(shù)或參數(shù)為0時(shí),即SETORDER TO或SETORDER TO 0,表示取消主控,表中記錄將按物理順序排列。

        4.2更新

        確定了主控索引后,結(jié)構(gòu)復(fù)合索引文件能進(jìn)行自動(dòng)更新,即隨著表中數(shù)據(jù)的改變,索引文件自動(dòng)進(jìn)行更新。

        若未確定主控索引,修改表中的記錄時(shí),索引文件就不會(huì)自動(dòng)更新。如果要維持記錄的邏輯順序,則要用命令REINDEX對(duì)索引文件進(jìn)行重建。

        4.3刪除

        如果不需要索引了,可對(duì)其進(jìn)行刪除,刪除分為對(duì)索引文件的刪除和刪除索引文件中的索引標(biāo)識(shí)兩種。

        (1)刪除索引文件

        命令格式:

        ERASE|DELETE<索引文件名>

        說(shuō)明:刪除索引文件可用ERASE命令,也可用DELETE命令。

        (2)刪除索引標(biāo)識(shí)

        命令格式:

        DELETETAGALL|<索引標(biāo)識(shí)1>[,<索引標(biāo)識(shí)2>]……

        說(shuō)明:ALL子句用于刪除所有索引標(biāo)識(shí),若索引文件的所有索引標(biāo)識(shí)都被刪除,則該索引文件自動(dòng)刪除。間接地,亦可用此命令來(lái)刪除索引文件。

        主要參考文獻(xiàn)

        [1]史濟(jì)民.Visual FoxPro及其應(yīng)用系統(tǒng)開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2011.

        [2]劉升,曹紅蘋(píng).數(shù)據(jù)庫(kù)系統(tǒng)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2012.

        10.3969/j.issn.1673-0194.2015.11.111

        TP392

        A

        1673-0194(2015)11-0193-02

        2015-04-03

        猜你喜歡
        排序結(jié)構(gòu)
        排排序
        排序不等式
        《形而上學(xué)》△卷的結(jié)構(gòu)和位置
        恐怖排序
        論結(jié)構(gòu)
        新型平衡塊結(jié)構(gòu)的應(yīng)用
        模具制造(2019年3期)2019-06-06 02:10:54
        節(jié)日排序
        刻舟求劍
        兒童繪本(2018年5期)2018-04-12 16:45:32
        論《日出》的結(jié)構(gòu)
        創(chuàng)新治理結(jié)構(gòu)促進(jìn)中小企業(yè)持續(xù)成長(zhǎng)
        免费无码又爽又刺激又高潮的视频| 巨大巨粗巨长 黑人长吊| 午夜亚洲www湿好爽| 欧美亚洲国产人妖系列视| 亚洲av色香蕉第一区二区三区| 蜜桃av噜噜一区二区三区9| 国产亚洲2021成人乱码| 中文字幕第1页中文字幕在| 97中文字幕一区二区| 精品国产a一区二区三区v| 亚洲va中文字幕| 国产欧美精品一区二区三区, | 久久精品国产福利亚洲av| 日韩精品综合一本久道在线视频| 看av免费毛片手机播放| 国产无套视频在线观看香蕉| 美女福利视频网址导航| 色欲av永久无码精品无码蜜桃| 无码人妻丰满熟妇区五十路百度| 999久久66久6只有精品| 女主播啪啪大秀免费观看| 女人高潮内射99精品| 国产96在线 | 亚洲| 日韩精品视频在线一二三| 国产91色综合久久免费| 亚洲一区 日韩精品 中文字幕 | 久久久精品一区aaa片| 免费一区在线观看| 亚洲av一区二区三区网站| 国产一区二区黄色录像| 中国老妇女毛茸茸bbwbabes| 91久久国产情侣真实对白| 亚洲av综合色一区二区| 国产性生交xxxxx无码| 亚洲欧洲精品成人久久曰影片| 亚洲五月天中文字幕第一页| 中文字幕精品一区二区精品| 亚洲av成人一区二区三区av | 你懂的视频在线看播放| 国产超碰人人爽人人做人人添 | 日本黄页网站免费观看|