ch03數(shù)據(jù)表的建立與操作_第1頁(yè)
ch03數(shù)據(jù)表的建立與操作_第2頁(yè)
ch03數(shù)據(jù)表的建立與操作_第3頁(yè)
ch03數(shù)據(jù)表的建立與操作_第4頁(yè)
ch03數(shù)據(jù)表的建立與操作_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第三章數(shù)據(jù)表的建立與操作普通高等教育“十三五”規(guī)劃教材數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)、開發(fā)與實(shí)現(xiàn)——基于VisualFoxPro01數(shù)據(jù)表的建立PARTONE1.設(shè)置默認(rèn)路徑1案例描述2知識(shí)鏈接為了使表文件數(shù)據(jù)能夠自動(dòng)存儲(chǔ)到指定的位置,應(yīng)該在建立表結(jié)構(gòu)及其他操作前完成默認(rèn)目錄的設(shè)置,確保數(shù)據(jù)不會(huì)亂放或丟失??梢酝ㄟ^菜單及命令兩種方式設(shè)置路徑。

1)菜單方式選擇“工具”一“選項(xiàng)”選項(xiàng),彈出“選項(xiàng)”對(duì)話框,選擇“文件位置”選項(xiàng)卡,選中“默認(rèn)目錄”,單擊“修改”按鈕,進(jìn)行默認(rèn)目錄的修改。設(shè)置當(dāng)前工作默認(rèn)目錄為D盤“vhp”文件夾中的“數(shù)據(jù)”文件夾。1.設(shè)置默認(rèn)路徑2知識(shí)鏈接單擊“選項(xiàng)”對(duì)話框右下角的“設(shè)置為默認(rèn)值”按鈕,使本次設(shè)置的默認(rèn)目錄長(zhǎng)期有效;若只單擊“確定”按鈕,則設(shè)置的默認(rèn)目錄只在本次VFP環(huán)境中有效,一旦退出VFP,默認(rèn)目錄設(shè)置即失效。2)命令方式說(shuō)明:<路徑>為指定位置路徑,即當(dāng)前工作目錄。1.設(shè)置默認(rèn)路徑3案例實(shí)施方法1(菜單方式):按上述菜單方式進(jìn)行設(shè)置,結(jié)果如圖3-1所示。方法2(命令方式):在命令窗口中輸入以下命令。2.建立表結(jié)構(gòu)1案例描述要求創(chuàng)建“圖書管理系統(tǒng)”數(shù)據(jù)庫(kù)的書籍情況表、讀者情況表、借閱情況表及用戶口令表。書籍情況表(表文件名為bookdbf)如表3-1所示。2.建立表結(jié)構(gòu)2知識(shí)鏈接數(shù)據(jù)表由表結(jié)構(gòu)和表記錄兩部分組成。在為數(shù)據(jù)表錄入表記錄前,必須先建立表結(jié)構(gòu)。表結(jié)構(gòu)的建立有多種方式。1)單方式文件→新建→表→新建文件→輸入表名→保存(擴(kuò)展名為.dbf)→表設(shè)計(jì)器(見圖3-2)→設(shè)置字段名、類型、寬度、小數(shù)位數(shù)、索引、是否支持空值。2.建立表結(jié)構(gòu)2知識(shí)鏈接說(shuō)明:

(1)字段名:由用戶自定義。其名稱應(yīng)符合標(biāo)識(shí)符的規(guī)范,可由字母、漢字、數(shù)字和下畫線組成,不能以數(shù)字開頭,長(zhǎng)度不能超過10個(gè)字符。(2)類型:根據(jù)所選字段選擇合適的類型。常見的類型有以下幾種。字符型:用于顯示的字段。數(shù)值型:用于計(jì)算的字段(注意小數(shù)位數(shù))。日期型:用于表示日期的字段。2.建立表結(jié)構(gòu)2知識(shí)鏈接說(shuō)明:

(3)寬度:以字節(jié)為單位。字符及二進(jìn)制字段寬度最大為254,數(shù)值型字段的寬度最大為20。其他數(shù)據(jù)類型規(guī)定的字段寬度如表3-2所示??蓞⒁妉en0函數(shù),使系統(tǒng)占用內(nèi)存最小化。(4)小數(shù)位數(shù):只針對(duì)數(shù)值型字段。2)命令方式2.建立表結(jié)構(gòu)3案例實(shí)施方法1(菜單方式):

選擇“文件”-“新建”選項(xiàng),彈出“新建”對(duì)話框,如圖3-3所示。選中“表”單選按鈕,單擊“新建”按鈕,彈出“創(chuàng)建”對(duì)話框,如圖3-4所示。選擇路徑并保存文件,彈出表設(shè)計(jì)器對(duì)話框,如圖3-5所示。在表設(shè)計(jì)器對(duì)話框中輸入已設(shè)計(jì)好的表結(jié)構(gòu)。2.建立表結(jié)構(gòu)3案例實(shí)施方法2(命令方式):

建立“bookdbf”表結(jié)構(gòu)的命令如下。此時(shí),會(huì)在當(dāng)前文件夾中建立一個(gè)新的數(shù)據(jù)表文件。3.復(fù)制表結(jié)構(gòu)1案例描述(1)用已存在的“bookdbf”創(chuàng)建“SG1”的表結(jié)構(gòu),“SG1的表結(jié)構(gòu)與“bookdbf”的結(jié)構(gòu)一樣。(2)用已存在的“bookdbf”創(chuàng)建“SG2”的表結(jié)構(gòu)“SG2”的表結(jié)構(gòu)只取“book.dbf”的圖書編號(hào)、書名、作者3個(gè)字段。2知識(shí)鏈接表結(jié)構(gòu)的復(fù)制是指通過復(fù)制其他表來(lái)產(chǎn)生表結(jié)構(gòu),其命令如下。說(shuō)明:[FIELDS<字段名表>]選項(xiàng)是指將要復(fù)制的字段名稱,沒有此項(xiàng)時(shí)會(huì)復(fù)制全部字段。3.復(fù)制表結(jié)構(gòu)3案例實(shí)施(1)在命令窗口中輸入以下命令(注意,一行命令輸入完畢后要按Enter鍵):(2)在命令窗口中輸入以下命令:4.顯示表結(jié)構(gòu)1案例描述分頁(yè)顯示“book.dbf”的表結(jié)構(gòu)。2知識(shí)鏈接顯示表結(jié)構(gòu),即顯示表中每個(gè)字段的字段名、類型、寬度、小數(shù)位數(shù)、索引情況、排序情況是否支持空值等信息。顯示當(dāng)前數(shù)據(jù)表的表結(jié)構(gòu)有分頁(yè)顯示和連續(xù)滾動(dòng)顯示兩種方式,分別借助于命令DISPLAY和LIST,完整格式描述如下。(1)分頁(yè)顯示:(2)連續(xù)滾動(dòng)顯示:4.顯示表結(jié)構(gòu)3案例實(shí)施在命令窗口中輸入以下命令:顯示結(jié)果如圖3-6所示??傆?jì)的字節(jié)數(shù)為128,比各字段寬度之和多1字節(jié),多出的1字節(jié)用來(lái)存放刪除標(biāo)記“*”。如果支持空值,則總計(jì)的字節(jié)數(shù)為129,還要再增加1字節(jié),用來(lái)記錄支持空值的狀態(tài)。5.表結(jié)構(gòu)的修改1案例描述修改“book.dbf”的表結(jié)構(gòu)。2知識(shí)鏈接1)單方式顯示→表設(shè)計(jì)器→查看或修改當(dāng)前表結(jié)構(gòu)。注意,修改表結(jié)構(gòu)前必須先打開表,否則無(wú)法打開表設(shè)計(jì)器。2)命令方式此時(shí)會(huì)彈出“表設(shè)計(jì)器”對(duì)話框,在其中可實(shí)現(xiàn)表結(jié)構(gòu)的修改。5.表結(jié)構(gòu)的修改3案例實(shí)施方法1(菜單方式):選擇“顯示”→“表設(shè)計(jì)器”選項(xiàng)彈出“表設(shè)計(jì)器”對(duì)話框,修改“book.dbf”的表結(jié)構(gòu),顯示結(jié)果如圖3-7所示。方法2(命令方式):MODIFYSTRUCTURE→進(jìn)入當(dāng)前表設(shè)計(jì)器一修改表結(jié)構(gòu)。02數(shù)據(jù)表的編輯修改PARTTWO1.表的打開和關(guān)閉1案例描述選擇“數(shù)據(jù)工作期”選項(xiàng)打開“book.dbf”2知識(shí)鏈接表的打開是指將存放在外存中的表文件調(diào)入內(nèi)存,在使用表文件前必須先打開它。表的打開有多種方式。1)菜單方式1文件→打開→文件類型→選擇“表(*dbf)”→選擇文件。1.表的打開和關(guān)閉2知識(shí)鏈接2)菜單方式2窗口→數(shù)據(jù)工作期→打開→選擇文件。此方法可同時(shí)打開多個(gè)表文件。3)命令方式1.表的打開和關(guān)閉2知識(shí)鏈接在結(jié)束對(duì)表的操作后,應(yīng)該及時(shí)將表關(guān)閉。表文件的關(guān)閉有多種方式。1)菜單方式窗口一數(shù)據(jù)工作期一關(guān)閉一將選中的表關(guān)閉。2)命令方式USE:使用不加表名的USE命令,關(guān)閉當(dāng)前工作區(qū)中打開的表。CLOSETABLES:關(guān)閉所有工作區(qū)中已打開的表文件。CLEARALL:清除內(nèi)存變量,同時(shí)關(guān)閉所有工作區(qū)中已打開的表文件。CLOSEALL:關(guān)閉所有已打開的文件,包括表文件。在同一個(gè)工作區(qū)中打開另一張表時(shí),該工作區(qū)中原來(lái)打開的表將自動(dòng)關(guān)閉。1.表的打開和關(guān)閉3案例實(shí)施選擇“窗口”→“數(shù)據(jù)工作期”選項(xiàng),彈出“數(shù)據(jù)工作期”對(duì)話框,單擊“Open”按鈕,彈出“打開文件”對(duì)話框,選擇要打開的文件?!皵?shù)據(jù)工作期”對(duì)話框如圖3-8所示。2.表記錄的錄入1案例描述要求為“圖書管理系統(tǒng)”數(shù)據(jù)庫(kù)的書籍情況表“bookdbf”輸入表記錄,如圖3-9所示。2.表記錄的錄入2知識(shí)鏈接當(dāng)確定表結(jié)構(gòu)后,可以使用多種方式進(jìn)行表記錄的輸入。1)菜單方式顯示→瀏覽XX表→顯示→追加模式。2)追加命令A(yù)PPENDI[BLANK][LIIN<工作區(qū)號(hào)>/別名>1],在表末尾添加新記錄。3)插入命令[INSERTTBEFORE][BLANK],在當(dāng)前記錄的前面插入一條新記錄,無(wú)BEFORE選項(xiàng)時(shí)在當(dāng)前記錄的后面插入一條新記錄。2.表記錄的錄入3案例實(shí)施方法1(菜單方式):打開表文件,選擇“顯示”→“瀏覽”選項(xiàng),再選擇“顯示”→“追加模式”選項(xiàng),此時(shí)光標(biāo)定位在表的末尾,且“追加模式”命令變?yōu)榛疑?不可用狀態(tài)),如圖3-10所示。2.表記錄的錄入3案例實(shí)施方法2(命令方式):3.表記錄的瀏覽1案例描述瀏覽“book.dbf”中類別為“計(jì)算機(jī)”的記錄的書名、作者、出版日期字段,并設(shè)置瀏覽標(biāo)題為“計(jì)算機(jī)類書目情況表”。2知識(shí)鏈接1)菜單方式顯示→瀏覽XX表→瀏覽窗口。在瀏覽窗口中既可以查看數(shù)據(jù),又可以修改和添加數(shù)據(jù)。瀏覽窗口有“瀏覽”和“編輯”兩種顯示方式,可通過選擇“顯示”→“瀏覽”和“顯示”→“編輯選項(xiàng)來(lái)切換。3.表記錄的瀏覽2知識(shí)鏈接2)命令方式說(shuō)明:(1)通過BROWSE命令打開一個(gè)瀏覽窗口,可以顯示、修改、刪除和追加表中的記錄。(2)FIELDS<字段名表>指定了顯示在瀏覽窗口中的字段。(3)FOR<條件>指定了滿足顯示記錄的條件,當(dāng)<條件>為“真”時(shí),表示將該記錄顯示在瀏覽窗口中。(4)LAST表示保留上次命令[FIELDS<字段名表>]的選擇。(5)TITLE<標(biāo)題文本>指明了顯示在瀏覽窗口標(biāo)題欄中的表名。3.表記錄的瀏覽3案例實(shí)施在命令窗口中輸入以下命令:運(yùn)行結(jié)果如圖3-12所示。4.表記錄的連續(xù)滾動(dòng)顯示1案例描述使用LIST命令顯示“bookdbf”的記錄。2知識(shí)鏈接如果表的記錄有很多,無(wú)法在一個(gè)屏幕內(nèi)顯示出所有記錄時(shí),可以通過連續(xù)滾動(dòng)命令顯示記錄,命令如下:說(shuō)明:(1)<范圍共有4種-ALL、NEXT、RECORD、REST不帶任何選項(xiàng)時(shí),LIST的默認(rèn)范圍是所有記錄,即ALL。(2)LISTOFF明不顯示記錄編號(hào)。4.表記錄的連續(xù)滾動(dòng)顯示3案例實(shí)施在命令窗口中輸入以下命令:5.表記錄的分屏顯示1案例描述分屏顯示“book.dbf”的記錄。2知識(shí)鏈接當(dāng)表的記錄有很多時(shí),分屏顯示命令可在顯示記錄滿一屏后暫停,按任意鍵繼續(xù)顯示下一屏。分屏顯示命令如下:5.表記錄的分屏顯示3案例實(shí)施在命令窗口中輸入以下命令:6.表記錄的定位1案例描述實(shí)現(xiàn)文件記錄指針的定位。2知識(shí)鏈接記錄指針指向表的當(dāng)前記錄時(shí)會(huì)隨著命令的執(zhí)行而發(fā)生變化,也可根據(jù)需要人為地移動(dòng)指針。表記錄指針定位的常用方法有3種:絕對(duì)定位、相對(duì)定位和查找定位。(1)絕對(duì)定位:將表記錄的指針移動(dòng)到指定記錄上。說(shuō)明:RECORD<記錄號(hào)>為記錄的物理順序。說(shuō)明:TOP和BOTTOM指向表文件的第一條和最后一條記錄。6.表記錄的定位2知識(shí)鏈接(2)相對(duì)定位:將表記錄的指針從當(dāng)前記錄位置向前或向后移動(dòng)N條。說(shuō)明:①+N表示指針向文件尾部方向移動(dòng)N條記錄。②-N表示指針向文件頭方向移動(dòng)N條記錄。③不帶<N>相當(dāng)于±1。(3)查找定位:此處略。6.表記錄的定位3案例實(shí)施在命令窗口中輸入以下命令:7.表記錄的修改1案例描述修改表記錄指的是修改數(shù)據(jù)表中某些行或某些列的值。對(duì)“book.dbf”進(jìn)行復(fù)制,生成一個(gè)副本“BK1.dbf”,將“BKldbf”的“冊(cè)數(shù)”字段的數(shù)據(jù)改為原來(lái)的5倍,并將“軟件工程”的定價(jià)改為40。2知識(shí)鏈接1)菜單方式打開數(shù)據(jù)表→顯示→瀏覽XX表→進(jìn)入表的瀏覽窗口→修改表中的所有記錄。2)命令方式使用REPLACE命令成批修改多個(gè)字段的值。7.表記錄的修改3案例實(shí)施在命令窗口中輸入以下命令:8.表記錄的邏輯刪除1案例描述(1)使用菜單方式邏輯刪除書名為“現(xiàn)代經(jīng)濟(jì)”的記錄。(2)使用命令方式邏輯刪除出版日期在2015年之后的記錄。2知識(shí)鏈接1)菜單方式打開表文件→進(jìn)入表的瀏覽窗口→單擊刪除框(要除記錄左邊的小方)該框變成黑色表明記錄已經(jīng)刪除。再次單擊該小方框,若黑色消失,則取消邏輯刪除,恢復(fù)為正常記錄。8.表記錄的邏輯刪除2知識(shí)鏈接2)命令方式說(shuō)明:(1)邏刪除的記錄在使用LIST命令顯示時(shí)記錄號(hào)后有“*”標(biāo)記。(2)有刪除標(biāo)記的記錄仍保留在表文件中。(3)SETDELETEDON/OFF:設(shè)置邏輯刪除的有效性,可以使邏輯刪除的記錄不參與或參與其他命令的處理。SETDELETEDON:表示邏輯刪除標(biāo)記有效,即有刪除標(biāo)記的記錄不參與處理SETDELETEDOFF(默認(rèn)值)表示邏輯刪除標(biāo)記無(wú)效,即有刪除標(biāo)記的記錄參與處理。(4)通過命令RECALL[<范圍>][FOR<條件>][WHILE條件>]INOOPTIMIZE可恢復(fù)刪除,將指定記錄的邏輯刪除標(biāo)記清除,即將邏輯刪除的記錄恢復(fù)為不刪除狀態(tài)。8.表記錄的邏輯刪除3案例實(shí)施(1)在瀏覽窗口中單擊刪除框,使該框變成黑色,如圖3-22所示,書名為“現(xiàn)代經(jīng)濟(jì)”的記錄已被刪除。若再次單擊該小方框,黑色消失,則取消邏輯刪除,恢復(fù)為正常記錄。(2)在命令窗口中輸入以下命令:9.表記錄的物理刪除1案例描述(1)使用菜單方式物理刪除書名為“現(xiàn)代經(jīng)濟(jì)”的記錄;(2)使用命令方式物理刪除圖書編號(hào)為“ts0004”的記錄。(3)物理刪除所有記錄。2知識(shí)鏈接1)菜單方式表→徹底刪除→系統(tǒng)彈出提示“是否要移去已刪除記錄?”→單擊“是”按鈕一物理刪除已有刪除標(biāo)記的記錄。9.表記錄的物理刪除2知識(shí)鏈接2)命令方式1說(shuō)明:永久刪除當(dāng)前表中有刪除標(biāo)記的記錄。3)命令方式2說(shuō)明:物理刪除所有記錄,只留下表的結(jié)構(gòu)。ZAP命令的效果等價(jià)于DELETEALL和PACK的聯(lián)用效果,但ZAP命令執(zhí)行速度更快。如果設(shè)置SETSAFETYOFF,則系統(tǒng)無(wú)任何提示就將全部記錄物理刪除,否則在刪除記錄前系統(tǒng)會(huì)要求確認(rèn)。9.表記錄的物理刪除3案例實(shí)施(1)選擇“表”→“徹底刪除”選項(xiàng),系統(tǒng)彈出提示“是否要移去已刪除記錄?”,單擊“是”按鈕,物理刪除所有已有刪除標(biāo)記的記錄,如圖3-23所示。(2)在命令窗口中輸入以下命令:9.表記錄的物理刪除3案例實(shí)施(3)在命令窗口中輸入以下命令:03數(shù)據(jù)表的排序與索引PARTTHREE1.排序1案例描述對(duì)“book.dbf”的記錄進(jìn)行排序,按出版日期從小到大升序排列。2知識(shí)鏈接排序是指根據(jù)指定字段重新排列表記錄的先后順序。排序后將生成一個(gè)新的表文件,表記錄按照排序后的順序重新編排記錄號(hào),而原文件保持不變。例如,對(duì)當(dāng)前表按<字段名1><字段名2>依次進(jìn)行排序,并將排序后的記錄存放到指定的文件中,其排序命令如下。1.排序2知識(shí)鏈接說(shuō)明:(1)<表文件名>:重新排序后記錄存放的文件,系統(tǒng)自動(dòng)為它指定擴(kuò)展名dbf。(2)ON<字段名1>:指定要排序的字段。第1個(gè)字段<字段名1>是主排序字段,第2個(gè)字段<字段名2>是次排序字段,以此類推,可實(shí)現(xiàn)多重排序。(3)[/A/D]:指定排序的升序或降序。/A為升序,/D為降序,默認(rèn)為升序。(4)[/C]:如果在字符型字段名后包含/C,則排序忽略大小寫??梢园?C選項(xiàng)同/A或/D選項(xiàng)組合起來(lái),如/AC或/DC。(5)<范圍>]:默認(rèn)為所有記錄。1.排序2知識(shí)鏈接說(shuō)明:(6)FIEBLDSLIKE通配符>:在新表中包含哪些與字段<通配符>相匹配的原表字段。(7)FIELDSEXCEPT<通配符>:在新表中包含哪些不與字段<通配符>相匹配的原表字段。若不帶FIELDS選項(xiàng),則取原表的全部字段。(8)排序所需的磁盤空間可能是原表的3倍,因此要有足夠的磁盤空間保存新表及在排序過程中創(chuàng)建的臨時(shí)工作文件。1.排序3案例實(shí)施在命令窗口中輸入以下命令:2.索引1案例描述使用菜單方式建立索引。2知識(shí)鏈接SORT排序存在一些不足,排序結(jié)果是一張與原表一樣大小的擴(kuò)展名為dbf的新文件。排序執(zhí)行速度慢,并占用很大的存儲(chǔ)空間,實(shí)際使用時(shí)效率太低,因此VisualFoxPro引入了索引文件來(lái)更有效率地排列表記錄的順序。索引文件由索引關(guān)鍵字和記錄指針兩個(gè)字段組成,其中索引關(guān)鍵字已按照要求進(jìn)行了升序或降序的排列;記錄指針指向原表的物理地址。因?yàn)樗饕募前搓P(guān)鍵字進(jìn)行的邏輯排序,且只有兩個(gè)字段,因此大大提高了排序速度,且只占用了很小的存儲(chǔ)空間。2.索引2知識(shí)鏈接索引文件分為兩類:單項(xiàng)索引文件和復(fù)合索引文件。單項(xiàng)索引文件的擴(kuò)展名為.idx,只含有一個(gè)索引表達(dá)式。單項(xiàng)索引文件又分為非壓縮和壓縮的單項(xiàng)索引文件,后者可節(jié)省磁盤空間,執(zhí)行速度也較快。復(fù)合索引文件的擴(kuò)展名為cdx,包含多個(gè)索引順序,每個(gè)索引順序都有自己的索引標(biāo)識(shí)(Tag)。復(fù)合索引文件可看作由多個(gè)壓縮單索引文件打包在一個(gè)文件中,有結(jié)構(gòu)復(fù)合索引文件和非結(jié)構(gòu)復(fù)合索引文件兩種。索引文件的分類如圖3-27所示。在自由表的索引“類型”欄中有4種索引類型:候選索引、主索引、普通索引和二進(jìn)制索引。在實(shí)際操作中,應(yīng)根據(jù)需要選擇相應(yīng)的索引類型,本章中的索引沒有要求時(shí)可以選擇普通索引或唯一索引。2.索引3案例實(shí)施打開表,選擇“顯示”→“表設(shè)計(jì)器”選項(xiàng),進(jìn)入“表設(shè)計(jì)器”對(duì)話框。在“字段”和“索引”選項(xiàng)卡中均可以創(chuàng)建索引標(biāo)識(shí)。(1)在“字段”選項(xiàng)卡中創(chuàng)建索引標(biāo)識(shí):在“字段”選項(xiàng)卡的“索引”欄中位置選擇向上個(gè)或向下↓的箭頭建立升序或降序的索引,再選擇“索引”選項(xiàng)卡,會(huì)看到建立了一個(gè)以該字段名作為標(biāo)識(shí)的普通“索引”選項(xiàng)卡,如圖3-28所示。2.索引3案例實(shí)施(2)在“索引”選項(xiàng)卡中建立、修改和刪除索引標(biāo)識(shí):選擇“索引”選項(xiàng)卡,輸入索引標(biāo)識(shí)的名稱,用鼠標(biāo)拖曳最左邊的雙向箭頭改變索引標(biāo)識(shí)列出的順序,在“類型”欄的下拉列表中選擇索引類型,在“表達(dá)式”欄的文本框中輸入索引表達(dá)式,在“篩選”欄中選擇滿足條件的記錄進(jìn)行索賑縱迪,如圖3-29所示。3.單項(xiàng)索引1案例描述建立各項(xiàng)單項(xiàng)索引。2知識(shí)鏈接建立單項(xiàng)索引文件,命令如下:說(shuō)明:(1)多重索引的索引表達(dá)式是通過字符型表達(dá)式實(shí)現(xiàn)的。如果是非字符型字段,則要用STRO、DTOCO、DTOSO等函數(shù)轉(zhuǎn)換成字符型字段,并用“+”或“-”進(jìn)行字符型字段的連接。3.單項(xiàng)索引2知識(shí)鏈接(2)TUNIQUE]:索引唯一性,當(dāng)多條記錄的索引表達(dá)式值相同時(shí),只有第一條記錄的值記入索引文件。(3)[COMPACT]:建立壓縮索引,若省略則表示不壓縮。(4)[ADDITIVE]:不關(guān)閉前面打開的索引文件,若省略則表示關(guān)閉除結(jié)構(gòu)復(fù)合索引文件以外的所有之前打開的索引文件。3.單項(xiàng)索引3案例實(shí)施在命令窗口中輸入以下命令:3.單項(xiàng)索引3案例實(shí)施其中,多重索引表達(dá)式中的STR(冊(cè)數(shù)將冊(cè)數(shù)轉(zhuǎn)換為字符型數(shù)據(jù),DTOS(出版日期)按年月、日的順序?qū)⒊霭嫒掌谵D(zhuǎn)換為字符型數(shù)據(jù)。這樣,上面的表達(dá)式就是字符型數(shù)據(jù)的連加,并按字符型表達(dá)式的結(jié)構(gòu)進(jìn)行排序,“冊(cè)數(shù)”是主索引關(guān)鍵字,“出版日期”是次索引關(guān)鍵字。使用一個(gè)比定價(jià)的所有值都大的數(shù)字減去定價(jià)的表達(dá)式來(lái)創(chuàng)建索引,即實(shí)現(xiàn)了定價(jià)的降序排列。4.復(fù)合索引1案例描述建立各項(xiàng)復(fù)合索引文件。2知識(shí)鏈接復(fù)合索引文件包括結(jié)構(gòu)復(fù)合索引文件和非結(jié)構(gòu)復(fù)合索引文件。結(jié)構(gòu)復(fù)合索引文件名與其表名相同,隨表的打開自動(dòng)打開,隨表的關(guān)閉自動(dòng)關(guān)閉。當(dāng)表記錄發(fā)生添加、修改、刪除等操作時(shí),系統(tǒng)會(huì)自動(dòng)對(duì)該文件進(jìn)行更新。非結(jié)構(gòu)復(fù)合索引文件名與表名不同,不隨表文件的打開而打開。非結(jié)構(gòu)復(fù)合索引文件必須用命令打開,只有在該文件打開時(shí),系統(tǒng)才能更新與維護(hù)該文件。4.復(fù)合索引2知識(shí)鏈接建議:表文件的索引一般選用結(jié)構(gòu)復(fù)合索引文件的形式,如果是臨時(shí)需要索引,則可選擇單項(xiàng)索引文件。建立復(fù)合索引文件的命令如下。根據(jù)<索引表達(dá)式>建立索引,并以<索引標(biāo)識(shí)>為標(biāo)識(shí)存入結(jié)構(gòu)復(fù)合索引文件或存入OF后所指定的非結(jié)構(gòu)復(fù)合索引文件中。4.復(fù)合索引3案例實(shí)施在命令窗口中輸入以下命令:5.索引文件的打開1案例描述打開索引文件并觀察記錄指針及文件頭尾情況。2知識(shí)鏈接(1)打開表的同時(shí)打開索引文件,命令如下:(2)打開表文件后打開索引,命令如下:5.索引文件的打開3案例實(shí)施在命令窗口中輸入以下命令:5.索引文件的打開3案例實(shí)施在打開索引文件后,記錄指針按主索引文件的邏輯順序移動(dòng)。在文件尾部,即EOFO=.T.處記錄號(hào)等于記錄總數(shù)加1;在文件頭部,即BOFO=.T.處,其記錄號(hào)總與邏輯上的第一條記錄的記錄號(hào)相同。6.主索引1案例描述為“book.dbf”設(shè)置主索引。2知識(shí)鏈接確定主索引文件或主控標(biāo)識(shí)的命令如下:6.主索引2知識(shí)鏈接說(shuō)明:(1)[TAGI索引標(biāo)識(shí)>[OF<復(fù)合索引文件名>]:如果指定一個(gè)復(fù)合索引文件中的一個(gè)索引標(biāo)識(shí)為主索引,則可以直接使用它的索引標(biāo)識(shí)。如果在已打開的多個(gè)復(fù)合索引文件中存在同名的索引標(biāo)識(shí),則使用TOF<復(fù)合索引文件名>]選項(xiàng),以指定包含主索引標(biāo)識(shí)的復(fù)合索引文件。(2若要恢復(fù)原始物理順序顯示或處理數(shù)據(jù),則可使用SETORDERTO或SETORDERTO0命令。6.主索引3案例實(shí)施在命令窗口中輸入以下命令:7.順序查找1案例描述使用LOCATE、CONTINUE順序查找“bookdbf”滿足條件的一組記錄。2知識(shí)鏈接順序查找:按表的排列順序依次搜索滿足條件的第一條記錄。說(shuō)明:(1)[<范圍>]默認(rèn)是所有記錄。(2)若成功找到滿足條件的記錄,則函數(shù)FOUNDO的結(jié)果為.T,函數(shù)EOFO的結(jié)果為.F.。7.順序查找2知識(shí)鏈接繼續(xù)查找:配合LOCATE命令在表的剩余部分尋找其他滿足條件的記錄。說(shuō)明:(1)CONTINUE必須在LOCATE后使用。(2)可多次執(zhí)行CONTINUE命令,直到文件尾部。(3)LOCATE和CONTINUE只能用于當(dāng)前工作區(qū)。7.順序查找3案例實(shí)施在命令窗口中輸入以下命令:8.索引查找1案例描述使用SEEK命令進(jìn)行索引查找,查找“book.dbf”滿足條件的記錄。2知識(shí)鏈接索引查找是指利用索引文件將表記錄排序后通過折半查找實(shí)現(xiàn)的,在已打開的索引文件中搜索索引關(guān)鍵字與指定表達(dá)式匹配的第一條記錄。說(shuō)明:<表達(dá)式>可以是字符、數(shù)值、邏輯、日期等類型的表達(dá)式。8.索引查找3案例實(shí)施在命令窗口中輸入以下命令:04據(jù)表的統(tǒng)計(jì)PARTFOUR1.計(jì)數(shù)命令1案例描述本案例要求分別統(tǒng)計(jì)“bookdbf”中計(jì)算機(jī)及文學(xué)類別圖書的記錄數(shù)。2知識(shí)鏈接功能:統(tǒng)計(jì)當(dāng)前表中指定范圍內(nèi)滿足條件的記錄數(shù),其命令如下:說(shuō)明:(1)<內(nèi)存變量>是必填項(xiàng),用于指定存儲(chǔ)結(jié)果的內(nèi)存變量,若內(nèi)存變量不存在,則系統(tǒng)會(huì)自動(dòng)創(chuàng)建。(2)其默認(rèn)范圍是ALL。(3)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論