VF課件第5章 數(shù)據(jù)排序 檢索 統(tǒng)計和多個表的操作_第1頁
VF課件第5章 數(shù)據(jù)排序 檢索 統(tǒng)計和多個表的操作_第2頁
VF課件第5章 數(shù)據(jù)排序 檢索 統(tǒng)計和多個表的操作_第3頁
VF課件第5章 數(shù)據(jù)排序 檢索 統(tǒng)計和多個表的操作_第4頁
VF課件第5章 數(shù)據(jù)排序 檢索 統(tǒng)計和多個表的操作_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章數(shù)據(jù)排序、檢索、統(tǒng)計和多表操作提要索引排序數(shù)據(jù)統(tǒng)計

數(shù)據(jù)檢索

多表操作

分類排序5.1分類排序數(shù)據(jù)表的排序就是把數(shù)據(jù)表中的記錄按照某個或某些字段值的大小順序重新排列,排列依據(jù)的字段稱為關(guān)鍵字段,排序后生成一個新的表文件。命令格式:SORTTO<新文件名>ON<字段1>[/A]/[/D][/C][,<字段2>……][<范圍>][FIELDS<字段表>]例1:對”學生.DBF”按入校分降序生成”入??偡?DBF”文件,且新表只包括學號姓名、入??偡秩齻€字段。SORTTORXON入??偡?D5.2表的索引1.索引的概念(1)物理順序(2)邏輯順序(3)復(fù)合索引和單索引①復(fù)合索引(.CDX)

②單索引文件(.IDX)邏輯索引記錄地址學號姓名成績A870005張三456B870002李四645C870001王五587D870004孫六676E870003錢七565主關(guān)鍵字(學號)記錄地址870001C870002B870003E870004D870005A關(guān)鍵字學號與學生記錄地址的對應(yīng)表主文件索引表2.索引的建立

INDEXON<索引關(guān)鍵字表達式>TO<單索引文件名>/TAG<索引標識>[FOR<條件>][COMPACT][ASCENDING/DESCENDING][UNIQUE/CANDIDATE][ADDITIVE](1)索引關(guān)鍵字:指明將要建立索引的字段(2)TO|TAG(3)COMPACT:指定單索引文件是否要壓縮(4)

UNIQUE|CANDIDATE:(唯一索引型)/(侯選索引)例1:對“學生.DBF”按入校總分降序建單索引文件.INDEON-入??偡諸OXS1例2:對“學生.DBF”建立復(fù)合索引.(1)按姓名降序的普通索引,標識為XMINDEON姓名TAGXMDESC(2)按性別和入校總分升序的普通索引.標識XBZFINDEON性別+STR(入??偡?3)TAGXBZF

3.索引文件的應(yīng)用(1)打開或關(guān)閉索引文件并確定控制索引SETINDEXTO[<索引文件表>][ADDITIVE]USE<文件名>INDEX<索引文件表>(2)確定主控索引SETORDERTO[<數(shù)值表達式>|<單索引文件名>|[TAG]<索引標識>[ASCENDING|DESCENDING]].注:SETORDERTO或SETORDERTO0命令是取消索引文件及控制索引(3)刪除索引文件或索引標識DELETETAGALL|<索引標識1>[,<索引標識2>](4)更新索引REINDEX(5)關(guān)閉索引SETINDEXTOCLOSEINDEXUSE5.3數(shù)據(jù)檢索5.3.1.定位查詢LOCATE[FOR<條件>]/[WHILE<條件>][<范圍>]……CONTINUE[注意常用函數(shù):FOUND();EOF()]例1:查找”學生.DBF”中姓名為李紅的記錄.LOCAFOR姓名=”李紅”例2:在”學生.DBF”中查找入??偡执笥?80分的學生.5.3.2索引查詢FIND命令命令格式:FIND<字符常量/數(shù)值常量>2.SEEK命令命令格式:SEEK<表達式>例1:查找姓名為”李紅”的學生.USE學生INDEXMSEEK“李紅”/FIND李紅例2:查找入??偡质?65的女生。SETORDERTO2SEEK“女”+STR(565,3)例3:查找入??偡?80的記錄。5.4數(shù)據(jù)統(tǒng)計1.計數(shù)命令COUNT[<范圍>][FOR<條件>][TO<內(nèi)存變量>]2.求和/求平均命令SUM/AVERAGE[<數(shù)值表達式>][<范圍>][FOR<條件>][TO<內(nèi)存變量表>/ARRAY<數(shù)組>]3.計算命令CALCULATE<表達式>[<范圍>][FOR<條件>][TO<內(nèi)存變量表>/ARRAY<數(shù)組>]AVG()CNT()MIN()MAX()SUM()4.分類匯總命令TOTALON<關(guān)鍵字段名>TO<匯總文件名>[<范圍>][FOR<條件>][FIELDS<字段名表>]綜合練習:對表學生成績.DBF做如下操作(1)統(tǒng)計每個學生的平均分和總分.(2)輸出最低平均分和最高總分.(3)統(tǒng)計總分220分以上的人數(shù)(4)追加一個記錄,顯示各科平均成績。5.5多工作區(qū)的操作一.工作區(qū)選擇與數(shù)據(jù)工作區(qū)1.工作區(qū)號VFP共提供了32767個工作區(qū),編號從1—32767。在每個工作區(qū)中只允許打開一個庫文件。2.工作區(qū)別名前十個工作區(qū)可以用A—J作為別名,11-32767別名為W11-W32767。

USE<表文件名>[ALIAS<別名>]3.選擇工作區(qū)

SELECT<工作區(qū)號>/<別名>(區(qū)號:0--32767)5.5.1工作區(qū)的概念當訪問其他工作區(qū)的數(shù)據(jù)時,字段名前面加別名。調(diào)用格式:工作區(qū)名->字段名(工作區(qū)名.字段名)

或:別名->字段名(別名.字段名)例:查看學生的姓名、出生年月、物理、英語成績。SELE1USE學生SELEBUSE學生成績ALIASCJSELECTADISP姓名,出生年月,CJ.物理,B.英語(用LIST會怎樣?)5.5.2表之間的關(guān)系1.表的關(guān)聯(lián)兩個表的記錄指針之間建立一種臨時的關(guān)系,當父表的記錄指針移動時,子表的記錄指針同步移動。關(guān)聯(lián)的條件是首先為子表按關(guān)聯(lián)的關(guān)鍵字建立索引,然后進行關(guān)聯(lián)。

VFP支持一對一、一對多、多對一的關(guān)系。2.用命令建立關(guān)聯(lián)SETRELATIONTO[<關(guān)聯(lián)表達式1>]INTO<別名1>[,<關(guān)聯(lián)表達式2>]INTO<別名2>[,……][ADDITIVE]3.數(shù)據(jù)工作期窗口建立關(guān)聯(lián)4.說明一對多關(guān)系的命令SETSKIPTO[<別名1>[,<別名2>]……]例:利用”學生.DBF”,”課程.DBF”,”選課.DBF”通過關(guān)聯(lián)顯示學生姓名,課程名,成績?nèi)齻€字段。5.5.3表的更新

【命令】UPDATEON<關(guān)鍵字>FROM<別名>REPLACE<字段名1>WITH<表達式1>[,<字段名2>WITH<表達式2>…][RANDOM]5.5.4表之間的連接將兩個表的相關(guān)字段組合

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論