12.設(shè)置字段級(jí)規(guī)則
打開(kāi)表設(shè)計(jì)器,在“字段有效性”框的“規(guī)則”中設(shè)置。
【例題】在表設(shè)計(jì)器的____選項(xiàng)卡中,可以設(shè)置記錄驗(yàn)證規(guī)則,有效性出錯(cuò)信息,還可以指定記錄插入更新及刪除的規(guī)則。
【解析】本題考查的知識(shí)點(diǎn)是表設(shè)計(jì)器的應(yīng)用。表設(shè)計(jì)器中有三個(gè)選項(xiàng)卡,在“字段”選項(xiàng)卡中可以設(shè)置字段名、類型、寬度、顯示格式等屬性。“索引”選項(xiàng)卡用來(lái)設(shè)置有關(guān)索引的屬性:“表”選項(xiàng)卡用來(lái)設(shè)置表名,查看表文件的屬性,記錄有效性規(guī)則,指定記錄插入、更新及刪除的規(guī)則。題目中的屬性設(shè)置都是在“表”選項(xiàng)卡中進(jìn)行。
【答案】表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]
【功能】對(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
相關(guān)推薦:2011年計(jì)算機(jī)等級(jí)考試二級(jí)VFP基礎(chǔ)教程匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |