999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

劉湖平,王 欣

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

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

劉湖平,王欣

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

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

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

1 索引與索引文件

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

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

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

2 索引的分類

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

2.1單一索引

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

2.2復(fù)合索引

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

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

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

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

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

3 索引的建立

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

命令格式:

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

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

說明:

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

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

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

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

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

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

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

USESB&&打開表SB

INDEXON價格TAG jg DESCENDING

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

INDEXON部門+STR(價格,9,2)TAGbmjg

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

INDEXONVAL(部門)-價格*100 TAGbmjg1CADIDATE

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

4 索引的使用

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

4.1激活

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

命令格式:

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

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

說明:

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

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

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

4.2更新

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

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

4.3刪除

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

(1)刪除索引文件

命令格式:

ERASE|DELETE<索引文件名>

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

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

命令格式:

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

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

主要參考文獻(xiàn)

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

[2]劉升,曹紅蘋.數(shù)據(jù)庫系統(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)
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結(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ù)成長
主站蜘蛛池模板: 色哟哟色院91精品网站| 亚洲精品图区| 四虎国产精品永久一区| 国产精品亚洲日韩AⅤ在线观看| 国产精品永久不卡免费视频| 在线亚洲小视频| 国产精品香蕉| 中文字幕首页系列人妻| 无码网站免费观看| 亚洲成人在线网| 激情六月丁香婷婷| 日韩精品一区二区三区中文无码| 99久久精品国产综合婷婷| 国产美女精品一区二区| 香蕉eeww99国产在线观看| 久久久噜噜噜| 亚洲日本一本dvd高清| 亚洲一级毛片在线播放| 精品国产一区二区三区在线观看| 97在线国产视频| 国产精品亚洲αv天堂无码| 国产一区二区福利| 亚洲欧美人成人让影院| 久久超级碰| 日本五区在线不卡精品| 午夜综合网| 日本免费福利视频| 国产精品自在拍首页视频8| 国产亚洲成AⅤ人片在线观看| 三级国产在线观看| 成人午夜网址| 成人免费一区二区三区| 无码专区在线观看| h视频在线播放| 国禁国产you女视频网站| 青青青伊人色综合久久| 国产亚洲欧美在线中文bt天堂 | 99在线视频精品| 亚洲av无码久久无遮挡| 特级精品毛片免费观看| 免费aa毛片| 波多野结衣国产精品| 国内精品91| 凹凸国产熟女精品视频| 久精品色妇丰满人妻| 国产xx在线观看| 丁香亚洲综合五月天婷婷| 蜜桃视频一区二区| 少妇精品在线| 欧美精品黑人粗大| 毛片久久久| yy6080理论大片一级久久| 日韩免费毛片视频| 欧美久久网| 国产综合网站| 久久公开视频| 亚洲黄色高清| 伊人色在线视频| 国产精品yjizz视频网一二区| 婷婷成人综合| 91无码网站| 天堂av高清一区二区三区| 精品自窥自偷在线看| 成人国内精品久久久久影院| 国产精品视频猛进猛出| 亚洲综合天堂网| 欧美午夜一区| 无码人中文字幕| 就去吻亚洲精品国产欧美| 久久伊人色| 国产欧美视频在线观看| 日韩AV无码免费一二三区| 日韩精品毛片人妻AV不卡| 中文字幕66页| 国产人在线成免费视频| 尤物视频一区| 欧美国产中文| 精品久久久久成人码免费动漫| 色呦呦手机在线精品| 中文字幕亚洲精品2页| 国产在线啪| 亚洲无限乱码一二三四区|