版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三章表的查詢與統(tǒng)計(jì)根據(jù)表的某些字段重排記錄,排序后將產(chǎn)生一個(gè)新表,其記錄按新的順序排列,但原文件不變。 SORT TO ON /A|/D/C , /A|/D/C FOR WHILE FIELDS FILEDS LIKE | EXCEPT 排序與索引排序【例】Use students Sort to sts ON bh, rxcj/D For ssmz Use sts List & 主窗口顯示如下 文件中的記錄一般按其磁盤存儲順序輸出,這種順序稱為物理順序。排序后,在生成的新文件中形成了新的物理順序。索引與此不同,它不改變記錄的物理順序,而是按某個(gè)索引關(guān)鍵字來建立記錄的邏輯順序。在索引文件中,
2、所有關(guān)鍵字值順序排列,每個(gè)值對應(yīng)原文件的一個(gè)記錄號,這樣便確定了記錄的邏輯順序。使用時(shí),系統(tǒng)就依次按索引文件中的記錄號取出表中的物理記錄,達(dá)到按關(guān)鍵字值順序來列出記錄的效果。索引功能分類表索引類型關(guān)鍵字重復(fù)值說 明創(chuàng)建修改命令索引個(gè)數(shù)普通索引允許可作為一對多永久關(guān)系中的“多方”INDEX 允許多個(gè)唯一索引允許,但輸出無重復(fù)值為與以前版本兼容而設(shè)置候選索引不允許,輸入重復(fù)值將禁止存盤可用作主關(guān)鍵字,可用于在永久關(guān)系中建立參照完整性INDEXCREATE TABLEALTER TABLE主索引僅適用數(shù)據(jù)庫表,可用于在永久關(guān)系中建立參照完整性CREATE TABLEALTER TABLE僅可1個(gè)排序
3、與索引索引單索引文件,復(fù)合索引文件:結(jié)構(gòu)化復(fù)合索引(主名與表的主名相同),非結(jié)構(gòu)化復(fù)合索引。排序與索引利用表設(shè)計(jì)器的字段標(biāo)簽頁建立索引文件 建立索引文件或增加索引標(biāo)識 INDEX ON TO | TAG OF FOR ASCENDING | DESCENDING UNIQUE | CANDIDATEADDITIVE排序與索引確定主控索引 SET ORDER TO | | TAG ASCENDING | DESCENDING 索引文件的更新 REINDEX COMPACT刪除索引 DELETE TAG ALL | ,.【例】為Students.dbf建立一個(gè)結(jié)構(gòu)復(fù)合索引文件,其中包括3個(gè)索引:(
4、1) 記錄以入學(xué)成績(rxcj)降序排列,,索引標(biāo)識為普通索引型。(2) 記錄以班號(bh)升序排列,班號相同時(shí)則按學(xué)號(xh)升序排列,索引標(biāo)識為普通索引型。(3) 記錄以班號(bh)升序排列,班號相同時(shí)則按入學(xué)成績(rxcj)降序排列,索引標(biāo)識為候選索引型。排序與索引 Use students Index on rxcj tag cj desc &建復(fù)合索引,關(guān)鍵字rxcj,索引標(biāo)識cj,普通索引 List & 記錄已按rxcj降序排列 Index on bh+xh tag bhxh &關(guān)鍵字bh+xh,索引標(biāo)識bhxh,增入Students.cdx List & 記錄按班級升序、班級相同
5、按學(xué)號升序排列 Index on bh+str(1000-rxcj) tag bhcj candidate * bhcj為候選索引型索引標(biāo)識,索引標(biāo)識增入students.cdx List & 索引表達(dá)式運(yùn)算后升序排列,使記錄按bh升序、bh相同按rxcj降序排列 Set order to tag cj & 指定索引標(biāo)識CJ為主控索引 List & 記錄按入學(xué)成績降序排列 Set order to tag bhxh List & 記錄按(2)排列 Set order to & 取消主控索引 List CONTINUE ?RECNO(),xh,xm,xb,csrq 查詢順序查詢【格式】 LOCA
6、TE FOR WHILE USE students LOCATE FOR rxcj600 AND NOT ssmz DISPLAY CONTINUE索引查詢【格式】 SET EXACT ON | OFF 設(shè)置完全匹配或模糊匹配 FIND | 【功能】在已經(jīng)建立索引的表文件中查找索引關(guān)鍵值與指定的字符串或數(shù)值型常量相匹配的第一條記錄?!菊f明】此命令只能對索引關(guān)鍵字進(jìn)行查詢,且必須在索引文件打開之后使用。 查詢字符串,字符串可以不用定界符括起來,但前后有空格的,則必須要括進(jìn)來。 查詢常數(shù),必須使用索引關(guān)鍵字的完整值。 允許查詢字符型內(nèi)存變量,但必須使用宏替換函數(shù)。 由于索引文件中關(guān)鍵字表達(dá)式值相同
7、的記錄總是排在一起的,可用SKIP、DISP命令來逐個(gè)查詢。查詢【格式】SEEK 【功能】在表文件的主索引中查找關(guān)鍵字值與值相匹配的第一個(gè)記錄?!菊f明】 SEEK命令與FIND命令的功能基本相同,但SEEK命令的功能更強(qiáng),不僅可以查找字符串和常數(shù),它還可以查找字符型、數(shù)值型、日期型或邏輯型表達(dá)式的值。 SEEK命令中的表達(dá)式的類型必須與索引表達(dá)式的類型相同。Use studentsInde on xm tag xmFind 李DispAa=“費(fèi)敏“Find &aa? Recno(),Found()Inde on rxcj tag cjFind 600DispSkipDisp INDEX ON
8、csrq TAG rq SEEK 1988/08/12 ? FOUND() &.顯示.T. INDEX ON rxcj TAG cj SEEK 602 USE students INDEX ON xh TAG xh SEEK 07011002 ? RECNO(),FOUND() & 顯示:2 .T. AA=“07011003” SEEK AA【格式】 COUNT FOR TO 【格式】 SUM FOR TO | ARRAY 【說明】 在Set talk off狀態(tài)下,不顯示執(zhí)行命令統(tǒng)計(jì)的結(jié)果;在Set deleted on狀態(tài)下,帶有刪除標(biāo)記的記錄不被統(tǒng)計(jì)。【例】 Use students C
9、ount for xb=”女” to girl Count for xb=”男” and ynty to boy? ”女生的人數(shù)為:”,girl? ”男生中團(tuán)員的人數(shù)為:,boy在選課成績表中如何統(tǒng)計(jì)某學(xué)生共選修了多少門課?!菊f明】 若不選擇任何選項(xiàng),則對表文件中所有數(shù)值型字段分別求和?!纠?Use Classes Sum rs to n1 Sum rs to n2 for left(bh,2)=”JZ” ? n1,n2表的統(tǒng)計(jì)與計(jì)算統(tǒng)計(jì)記錄個(gè)數(shù)求和9表的統(tǒng)計(jì)與計(jì)算【格式】 AVERAGE FOR TO |ARRAY 【例】 Use students Average year(date()-
10、year(csrq), rxcj for xb=”女” to n1,n2 Average year(date()-year(csrq), rxcj for xb=”男” to array nn? ”女生的平均年齡為:”,n1,”平均入學(xué)成績?yōu)椋骸?n2? ”男生的平均年齡為:”,nn(1),”平均入學(xué)成績?yōu)椋骸?nn(2)【格式】 CALCULATE FOR TO |ARRAY 【說明】 表達(dá)式表中的表達(dá)式通常是一些財(cái)會統(tǒng)計(jì)中的函數(shù)表達(dá)式?!纠?Use Classes Calculate Avg(rs),sum(rs),max(rs),min(rs) to n1,n2,n3,n4 ? ”所有
11、班級的平均人數(shù)為:”,n1, ”所有班級人數(shù)總數(shù)為:”,n2? ”人數(shù)最多班級的人數(shù)為:”,n3, ”人數(shù)最少班級的人數(shù)為:”,n4求平均值計(jì)算表的統(tǒng)計(jì)與計(jì)算 可對數(shù)據(jù)進(jìn)行分類合計(jì)。在當(dāng)前表中,分別對值相同的記錄的數(shù)值型字段值求和,并將結(jié)果存入一個(gè)新表。 一組關(guān)鍵字值相同的記錄在新表中只產(chǎn)生一個(gè)記錄,對于非數(shù)值型字段,只將關(guān)鍵字值相同的第一個(gè)記錄的字段放入該記錄?!纠?Use Classes Index on yxbm tag yxbm set order to yxbm total on yxbm to yxrs fields rs use yxrs in 0 sele yxrs list
12、 close all分類匯總 【格式】 TOTAL TO ON FIELDS FOR 注:在匯總前必須對進(jìn)行排序或索引。表的統(tǒng)計(jì)與計(jì)算【例】Use studentsSet exact off Count for xm=李 or xm=王 to A &統(tǒng)計(jì)姓李或姓王同學(xué)的記錄個(gè)數(shù) ? A Count to B &統(tǒng)計(jì)表記錄總數(shù) ? 總記錄個(gè)數(shù), B ? Recsize() Sum rxcj to cj &求入學(xué)成績總和Store cj/b TO av &求平均入學(xué)成績,并存入變量av中? 平均成績=,av pinture 9999.99 &運(yùn)行結(jié)果:平均成績= 600.17AVER ALL rx
13、cj TO av1? Av1 &運(yùn)行結(jié)果:600.17CALC CNT(),AVG(rxcj),MAX(rxcj),min(rxcj) TO x1,x2,x3,x4? x1,x2,x3,x4多工作區(qū)操作 工作區(qū)是指當(dāng)打開表文件時(shí),把指定的表文件從磁盤調(diào)入內(nèi)存中所分配的一個(gè)區(qū)域。VFP系統(tǒng)可提供32767個(gè)工作區(qū),其編號從1至32767,每個(gè)工作區(qū)任何時(shí)候只能被一個(gè)表文件打開占據(jù),在多個(gè)工作區(qū)中可同時(shí)打開多個(gè)表文件,但在任何一個(gè)時(shí)刻只能對一個(gè)工作區(qū)(當(dāng)前工作區(qū))進(jìn)行操作。 系統(tǒng)別名:VFP對編號1-10前10個(gè)工作區(qū)規(guī)定了固定的系統(tǒng)別名,用字母AJ表示。用戶別名:用戶打開表文件時(shí)自定義的工作區(qū)別
14、名?!靖袷健?Use Alias In 【例】 Use d:vfpStudents in 0 use g:students alias st in 0 sele st ? Select() go 5 sele students ? Select() go 2 ? Students.xh, xm, st.xh, st.xm Close all 【格式】 Select | | 0工作區(qū)別名工作區(qū)工作區(qū)選擇“0”工作區(qū)代表未被使用的最小號工作區(qū)工作區(qū)別名.字段名多工作區(qū)操作【例】 Sele 1 Use Students Sele 2 Use Course Sele 1 Browse Close da
15、tabaseSele AUse Students & 在A工作區(qū)中打開StudentsSele BUse Grade & 在B工作區(qū)中打開GradeSele A & 選擇A工作區(qū)為當(dāng)前工作區(qū)Disp all xh, xm, xb, csrq, B.kch, Grade.cj表的關(guān)聯(lián)在2個(gè)或2個(gè)以上工作區(qū)的表之間建立的邏輯連接,使其表的記錄指針同步移動(dòng)。父表子表索引字段多一關(guān)系關(guān)聯(lián)關(guān)聯(lián)的一多關(guān)系表的關(guān)聯(lián)父表子表索引字段多一關(guān)系表的關(guān)聯(lián)【例】use students Set order to bh Sele 0 Use Classes set rela to bh into students Br
16、ow fields bh,bjmc,students.xh,students.xm set skip to students Brow fields bh,bjmc,students.xh,students.xm Set rela off into students Close【例】 sele studentsSet order to xhSele 0Use classesset relation to mon_xh into studentsBrow fields zy,bjmc,students.xm List zy,bjmc,students.xm,students,xbSet rela
17、 to Close all【格式】 Set Relation to | into Additive建立表文件之間的關(guān)聯(lián)關(guān)系的前提條件:父表和子表必須具有某一相同的關(guān)聯(lián)字段,并且其域相同。子表必須以關(guān)聯(lián)字段建立索引,并且把它設(shè)為主控索引。 關(guān)聯(lián)的關(guān)系有:“一對一”、“一對多”和“多對一”三種(VFP系統(tǒng)不能處理“多對多”關(guān)系)。表的關(guān)聯(lián)一對多多對一表的關(guān)聯(lián)在數(shù)據(jù)庫設(shè)計(jì)器中創(chuàng)建表與表之間的永久關(guān)聯(lián)。表的參照完整性課后作業(yè)完成實(shí)驗(yàn)指導(dǎo)書“實(shí)驗(yàn)1.3”,熟悉VFP表的記錄排列次序的兩種方法:排序、索引。分清兩種方法的特點(diǎn) :物理排序和邏輯排序。熟悉主索引、候選索引、唯一索引和普通索引的不同,通過對已創(chuàng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度農(nóng)業(yè)科技企業(yè)股權(quán)分紅及轉(zhuǎn)讓協(xié)議3篇
- 2024音樂素材版權(quán)質(zhì)押合同:視頻素材制作融資
- 2025年度新能源汽車共享平臺車輛掛靠管理合同3篇
- 2025年度智慧城市基礎(chǔ)設(shè)施建設(shè)項(xiàng)目施工合同范本3篇
- 2025年度漁船租賃與漁業(yè)產(chǎn)業(yè)鏈整合服務(wù)合同3篇
- 2024鐵路員工勞動(dòng)協(xié)議樣本一
- 2025年中國汽輪機(jī)行業(yè)市場供需格局及投資規(guī)劃建議報(bào)告
- 2025年度個(gè)人汽車租賃合同綠色出行附加服務(wù)4篇
- 2025年度智能機(jī)器人研發(fā)與技術(shù)服務(wù)合作協(xié)議書4篇
- 2025年陜西西安人才市場有限公司招聘筆試參考題庫含答案解析
- 第1本書出體旅程journeys out of the body精教版2003版
- 臺資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 羅盤超高清圖
- 參會嘉賓簽到表
- 機(jī)械車間員工績效考核表
- 2.48低危胸痛患者后繼治療評估流程圖
- 人力資源管理之績效考核 一、什么是績效 所謂績效簡單的講就是對
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評論
0/150
提交評論