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

談談索引

2012-10-17 07:26:32鑫,陸
赤峰學院學報·自然科學版 2012年6期
關鍵詞:結構

常 鑫,陸 源

(集寧師范學院 數學系,內蒙古 烏蘭察布 012000)

談談索引

常 鑫,陸 源

(集寧師范學院 數學系,內蒙古 烏蘭察布 012000)

在數據庫系統中,數據查詢是一種實際應用.本文主要討論Visual FoxPro數據庫當中與查詢密切相關的索引方法.數據庫中提供順序查詢和索引查詢兩種查詢數據的方法,以及VIEW(數據工作期)窗口和RQBE(范例關系查詢)窗口兩種交互式查詢工具.

VisualFoxPro;索引;查詢

1 索引的概念

數據庫表中記錄總是按輸入的先后排列的.使用顯示命令顯示表中記錄時,仍按照這個順序輸出,這種順序稱為物理順序.如果希望以另一種順序來輸出記錄,便需對數據庫表進行索引.索引不改變記錄的物理順序,而是按某個索引關鍵字來建立記錄的邏輯順序.索引能起到改變記錄輸出順序的作用,還能決定記錄的存取順序.

索引可以將數據庫表中的順序按照某一個或某幾個字段的值按邏輯順序重新排列.索引文件中所有關鍵字值按升序或降序排列,每個值對應原表的一個記錄號,這樣便確定了記錄的邏輯順序.

索引以增加一個文件為代價,但文件只包括關鍵字和記錄號兩個字段,比被索引的表要小得多.索引起作用后,增刪或修改表的記錄時索引文件會自動更新,這也是索引應用比較廣的原因.

2 索引的種類

2.1 按擴展名分

單索引和復合索引兩類索引文件.

2.1.1 單索引文件

單索引文件擴展名為IDX,只包含一個索引,這種類型是為了與FOXBASE+開發的應用程序兼容而保留的.但若將它定義為壓縮的,將不能被FOXBASE+使用.

建立單索引文件命令格式:

INDEX ON<索引關鍵字>TO<單索引文件名> [ADDITIVE][COMPACT][FOR<條件>]

說明:(1)TO使用于建立單索引文件,其主名由<單索引文件名>確定.

(2)該命令默認建立普通索引文件.

(3)COMPACT用來指定單索引文件為壓縮的.

(4)記錄邏輯順序默認為升序.

(5)ADDITIVE表示建立本索引文件時并不關閉先前打開的索引文件.

下面通過實例進行說明,在VisualFoxPro數據庫開發環境中建立【商品】項目、【商品】數據庫其中建立商品表并輸入相應記錄,以便練習.

【實例1】 建立品名升序、價格降序的單索引文件.

USE 商品表 &&打開表(商品表.dbf)

LIST &&記錄按物理順序排列顯示

INDEX ON 品名 TO pinming&& 建立品名升序排列單索引文件(pinming.idx),品名為索引關鍵字

LIST &&記錄按品名升序的邏輯順序排列顯示

INDEX ON -價格 TO jiage && 建立價格升序排列單索引文件(jiage.idx)

LIST &&記錄按價格降序排列顯示

商品表通過單索引文件pinming與jiage,將原先表中記錄的物理順序按照索引文件的邏輯順序排列顯示.

2.1.2 復合索引文件

復合索引文件擴展名為CDX,復合索引文件允許包含多個索引,每個索引都有一個索引標識,代表一種邏輯順序.這種索引文件總以壓縮方式存儲,以便節約存儲空間.

復合索引文件又有結構復合索引和非結構(獨立)復合索引兩種:

(1)定義索引文件時用戶沒有取名字就是結構復合索引文件,結構復合索引文件的主名與表的主名相同;它隨表的打開而打開,隨著表的關閉而關閉.在添加、更新或刪除記錄時還會自動維護,在各類索引文件中,選用它最為省事.

(2)定義索引文件時為它取了名字,則是非結構(獨立)復合索引文件,打開非結構索引文件需要使用SETINDEX命令或USE 命令中的INDEX子句,也能隨時關閉非結構(獨立)復合索引文件.

建復合索引命令格式:

INDEX ON<索引關鍵字>TAG<索引標識名>[OF<復合索引文件名>][ASCENDING|DESCENDING][UNIQUE|CANDIDATE][ADDITIVE][FOR<條件>]

說明:(1)該命令用來建立索引文件或增加索引標識.

(2)TAG用于建立復合索引文件或增加索引標識,索引標識由該子句<索引標識名>確定.

(3)該命令默認建立普通索引文件,UNIQUE表示建立唯一索引文件,CANDIDATE表示建立侯選索引文件,但是需要與TAG子句同時使用.

(4)OF選項用來指定非結構(獨立)復合索引文件的名字,缺省該選項表示建立結構復合索引文件.

(5)記錄邏輯順序默認為升序,也可用ASCENDING選項表示為升序,DESCENDING選項表示為降序.

(6)ADDITIVE表示建立本索引文件時并不關閉先前打開的索引文件.

【實例2】 為商品表建立一個結構復合索引文件,其中包括三個索引.

(1)記錄以價格降序排列.

USE 商品表 &&打開表(商品表.dbf)

INDEX ON 價格 TAG 價格降序 DESCENDING && 建立結構復合索引文件(商品表.CDX),價格為索引關鍵字,價格降序為索引標識

LIST &&記錄按價格降序排列顯示

(2)記錄以品牌升序排列,品牌相同時則按價格升序排列.

INDEX ON 品牌+STR(價格,7,2)TAG ppsjgs &&增加索引標識(ppsjgs),品牌與價格字段表達式為關鍵字

LIST &&品牌升序、品牌相同時價格升序排列顯示

(3)記錄以品牌升序排列,品牌相同時則按價格降序排列.

INDEX ON 品牌+STR(10000-價格,7,2)TAG ppsjgj&&增加索引標識(ppsjgj),品牌與價格字段表達式為關鍵字

LIST &&品牌升序、品牌相同時價格降序排列顯示

商品表通過結構符合索引文件(商品表.CDX)中的三個索引標識(價格降序、ppsjgs、ppsjgj),將原表記錄的排列順序按照索引文件的邏輯順序排列顯示.

2.2 按功能分

索引除了具有建立記錄邏輯順序的作用外,還能控制是否允許相同的索引關鍵字值在不同記錄中重復出現.

下面列出了4種索引功能類型:見表1.

表1

主關鍵字是能唯一標識記錄的索引關鍵字,它應能排除關鍵字重復值.

3 索引的使用

3.1 打開和關閉索引文件

命令格式:

SET INDEX TO [<索引文件列表>][ADDITIVE]

功能:打開當前表的一個或多個索引文件,并確定控制索引文件.

說明:(1)<索引文件列表>可包含多個索引文件,索引文件名之間以逗號分隔,表中第一個索引文件作為主控索引文件,該命令常用于打開單索引文件和非結構(獨立)復合索引文件.

(2)若缺省所選項,僅使用“SET INDEX TO”,將關閉當前工作區中除結構復合索引外的所有索引文件,同時取消主控索引.

(3)若缺省ADDITIVE選項,則在用本命令打開索引文件時,除結構復合索引文件外的索引文件均被關閉.

(4)命令“use <表名> index <索引文件列表>”也可在打開表的同時打開索引文件,并確定<索引文件列表>中的第一個索引文件為控制索引文件.

提示:(1)若當前僅有一個索引文件被打開,它就成為主控索引文件.索引剛建立時,索引文件為打開狀態且成為主控索引文件.若當前已經打開了多個索引文件,可通過SET ORDER命令來確定主控索引文件.

(2)除了結構復合索引能隨著表的打開而打開外,其它索引文件必須用命令顯示打開.

(3)表關閉時索引文件就隨表關閉.

3.2 確定主控索引

復合索引文件建立時,當前建立的索引標識自動成為主控索引.但必須注意,表重新打開時盡管復合索引文件已自動打開,但還須確定主控索引.下面的命令用來確定主控索引,也能確定主控索引文件.

命令格式:

SET ORDER TO [<數值表達式>|<單索引文件名>|[TAG]<索引標識>[ASCENDING][DESCENDING]]

說明:(1)<數值表達式>表示已經打開索引的序號,該序號用來指定主控索引文件或主控索引.系統先為各單索引文件編號,所以結構復合索引文件的序號比單索引文件大.

(2)<單索引文件名>指定該單索引文件為主控索引文件.

(3)<索引標識>指定該索引標識為主控索引.

(4)"SETORDER TO"或者 "SETORDER TO 0"命令取消主控索引文件及主控索引,表中記錄按物理順序輸出.

4 刪除索引

4.1 刪除索引文件

若用刪除文件命令來刪除索引文件,須遵循“先關閉后刪除”的原則,這與刪除表類似.

命令格式:

ERASE|DELETE FILE <文件名>

4.2 刪除索引標識

命令格式:

DELETE TAG ALL|<索引標識1>[,<索引標識2>]...

說明:(1)該命令用來刪除打開的結構復合索引文件的索引標識.

(2)ALL用于刪除結構復合索引文件的所有索引標識,若某個索引文件的所有索引標識都被刪除,則該索引文件也被刪除.

5 索引的更新

5.1 自動更新

當表中的數據發生變化時(如對表進行插入、刪除、添加或更新操作之后),所有當時已經打開的索引文件都會隨數據的改變自動改變記錄的邏輯順序,實現索引文件的自動更新.

5.2 重新索引

如果不符合實現索引的條件,在修改表的記錄時索引文件就不會自動更新.若要維持記錄的邏輯順序,可用REINDEX命令重建索引.

命令格式為:

REINDEX[COMPACT]

當然也可以用INDEX ON 命令再次建立索引,兩者效果相同.

〔1〕施建強.VFP查詢系統實現技巧六則[J].中國計算機報,2001(8).

〔2〕李加福,等.Visual Foxpro6.0中文版入門與提高[M].清華大學出版社,1999.

〔3〕薩師煊,王珊.數據庫系統概論[M].北京:高等教育出版社,2000.

TP39

A

1673-260X(2012)03-0035-03

猜你喜歡
結構
DNA結構的發現
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
循環結構謹防“死循環”
論《日出》的結構
縱向結構
縱向結構
我國社會結構的重建
人間(2015年21期)2015-03-11 15:23:21
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
主站蜘蛛池模板: 亚洲一区国色天香| 亚洲欧美国产视频| 中文无码日韩精品| 国产主播福利在线观看| 玖玖免费视频在线观看| 黄色网址免费在线| 日韩国产综合精选| 美女一级免费毛片| 久久五月视频| 国产福利微拍精品一区二区| 四虎影视永久在线精品| 亚洲天堂久久久| 激情综合婷婷丁香五月尤物| 亚洲精品无码av中文字幕| 亚洲欧美在线综合图区| 国产91小视频| 亚洲国产在一区二区三区| 亚洲成人77777| 亚洲国产精品人久久电影| 国产色伊人| 狠狠色噜噜狠狠狠狠色综合久| 麻豆国产原创视频在线播放| 免费看黄片一区二区三区| 农村乱人伦一区二区| 精品久久香蕉国产线看观看gif| 国产又黄又硬又粗| 国产精品区视频中文字幕| 亚洲二区视频| 好久久免费视频高清| 久久a级片| 国产正在播放| 伊人色天堂| 国产二级毛片| 一个色综合久久| 中文字幕调教一区二区视频| 伊人久久久久久久| 久久人与动人物A级毛片| 人妻少妇乱子伦精品无码专区毛片| 亚洲欧洲一区二区三区| 国产精品男人的天堂| 2022国产无码在线| 一级福利视频| 在线国产三级| 亚洲欧美成人综合| 天天干天天色综合网| 蜜桃视频一区二区| 午夜限制老子影院888| 成人综合在线观看| 国产免费观看av大片的网站| 欧美成在线视频| 人妻免费无码不卡视频| 青青青视频蜜桃一区二区| 欧美a级完整在线观看| 日韩人妻少妇一区二区| 亚洲Av综合日韩精品久久久| 国产成人久久综合777777麻豆| 久久天天躁夜夜躁狠狠| 国产成人AV综合久久| 国产大片黄在线观看| 亚洲国产欧美自拍| 亚洲无码日韩一区| 国产成人欧美| 国产99在线观看| 亚洲av日韩综合一区尤物| 综合成人国产| 亚洲国产中文精品va在线播放 | 亚洲欧洲免费视频| 丰满人妻一区二区三区视频| 99人体免费视频| 日本午夜三级| 国内精品一区二区在线观看| 精品无码一区二区在线观看| 午夜激情福利视频| 亚洲国产欧美国产综合久久 | 狠狠色综合久久狠狠色综合| 人妖无码第一页| 婷婷六月天激情| 91小视频版在线观看www| 国产午夜精品一区二区三| 免费观看男人免费桶女人视频| 无码一区中文字幕| 99国产在线视频|