VFP數據表的基本操作PPT_第1頁
VFP數據表的基本操作PPT_第2頁
VFP數據表的基本操作PPT_第3頁
VFP數據表的基本操作PPT_第4頁
VFP數據表的基本操作PPT_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第4章章 VFP數據表的基本操作數據表的基本操作主要內容主要內容4.1 VFP數據表概述數據表概述4.2 VFP數據表結構的建立與維護數據表結構的建立與維護4.3 VFP數據表記錄的錄入數據表記錄的錄入4.4 VFP數據表數據的訪問數據表數據的訪問4.5 VFP數據表數據的維護數據表數據的維護4.6 VFP數據表數據的排序、索引數據表數據的排序、索引4.7 VFP數據表數據的查詢數據表數據的查詢4.8 VFP數據表數據的統(tǒng)計數據表數據的統(tǒng)計4.9 多工作區(qū)操作多工作區(qū)操作復習思考題復習思考題第4章 VFP數據表的基本操作4.1.1 VFP數據表的相關知識數據表的相關知識1.自由表與數據庫表自

2、由表與數據庫表VFP中數據表區(qū)分為自由表和數據庫表兩中數據表區(qū)分為自由表和數據庫表兩類。自由表是不屬于任何數據庫的表,數據庫類。自由表是不屬于任何數據庫的表,數據庫表是包含在一個數據庫中的表。表是包含在一個數據庫中的表。2.表文件名與備注文件名表文件名與備注文件名VFP數據表是一個磁盤文件,數據表文件數據表是一個磁盤文件,數據表文件名可以由字母、數字或下劃線組成,系統(tǒng)自動名可以由字母、數字或下劃線組成,系統(tǒng)自動給出的擴展名為給出的擴展名為.dbf。當表中有備注型或通用。當表中有備注型或通用型字段時,系統(tǒng)自動生成與所屬數據表的表名型字段時,系統(tǒng)自動生成與所屬數據表的表名相同、擴展名為相同、擴展名

3、為.fpt的備注文件名。的備注文件名。 4.1 VFP數據表概述4.1.1 VFP數據表的相關知識數據表的相關知識3.VFP數據表的字段屬性數據表的字段屬性VFP數據表是由記錄組成的,記錄又由字段組數據表是由記錄組成的,記錄又由字段組成,每個字段都有其自身的屬性。字段的屬性主要成,每個字段都有其自身的屬性。字段的屬性主要包括字段名、數據類型、字段寬度、小數位數、空包括字段名、數據類型、字段寬度、小數位數、空值支持等。其中數據類型、字段寬度、小數位數、值支持等。其中數據類型、字段寬度、小數位數、空值是實現關系的域完整性的重要保證。空值是實現關系的域完整性的重要保證。(1)字段名字段名:表中的每個

4、字段都是有名稱的。字:表中的每個字段都是有名稱的。字段名必須以字母開頭,可由字母、數字、下劃線組段名必須以字母開頭,可由字母、數字、下劃線組合而成,字母大、小寫無區(qū)別,但其中不許有空格合而成,字母大、小寫無區(qū)別,但其中不許有空格或其它字符。自由表的字段名最多由或其它字符。自由表的字段名最多由10個字符組成,個字符組成,數據庫表的字段名支持長名,最多可達數據庫表的字段名支持長名,最多可達128個字符。個字符。 4.1 VFP數據表概述4.1.1 VFP數據表的相關知識數據表的相關知識(2)數據類型數據類型:用于描述該字段的數據特征。在數據表中:用于描述該字段的數據特征。在數據表中使用的數據類型有

5、字符型、貨幣型、數字型、浮點型、日期使用的數據類型有字符型、貨幣型、數字型、浮點型、日期型、日期時間型、雙精度型、整型、邏輯型、備注型、通用型、日期時間型、雙精度型、整型、邏輯型、備注型、通用型、字符型型、字符型(二進制二進制)、備注型、備注型(二進制二進制)這這13類。類。(3)字段寬度字段寬度:指該字段所能容納的數據的最大字節(jié)數。:指該字段所能容納的數據的最大字節(jié)數。與字段的數據類型也有關系。與字段的數據類型也有關系。(4)小數位數小數位數:主要用于指定當字段類型為數值型、符點:主要用于指定當字段類型為數值型、符點型、雙精度型數據時所需保留的小數位數。此時的字段寬度型、雙精度型數據時所需保

6、留的小數位數。此時的字段寬度為整數位數加小數位數再加為整數位數加小數位數再加1。(5)NULL值值(空值空值):無明確的值。:無明確的值。NULL表示任何不出現表示任何不出現的值,的值,NULL值不等同于零或空格。一個值不等同于零或空格。一個 NULL 值不能認為值不能認為比某個值比某個值(包括另一個包括另一個NULL值值)大或小或相等或不同。大或小或相等或不同。 4.1 VFP數據表概述4.1.2 VFP數據表中數據類型數據表中數據類型1.VFP數據表常用數據類型數據表常用數據類型 4.1 VFP數據表概述4.1.2 VFP數據表中數據類型數據表中數據類型4.1 VFP數據表概述4.2.1

7、設計表結構設計表結構1.設計數據表結構設計數據表結構 4.2 VFP數據表結構的建立與維護4.2.1 設計表結構設計表結構4.2 VFP數據表結構的建立與維護4.2.2 建立表結構建立表結構4.2 VFP數據表結構的建立與維護4.2.2 建立表結構建立表結構4.2 VFP數據表結構的建立與維護4.2.2 建立表結構建立表結構4.2 VFP數據表結構的建立與維護4.2.2 建立表結構建立表結構4.2 VFP數據表結構的建立與維護4.2.2 建立表結構建立表結構4.2 VFP數據表結構的建立與維護4.2.2 建立表結構建立表結構4.2 VFP數據表結構的建立與維護4.2.2 建立表結構建立表結構4

8、.2 VFP數據表結構的建立與維護4.2.3 數據表的打開與關閉數據表的打開與關閉4.2 VFP數據表結構的建立與維護4.2.3 數據表的打開與關閉數據表的打開與關閉4.2 VFP數據表結構的建立與維護4.2.3 數據表的打開與關閉數據表的打開與關閉4.2 VFP數據表結構的建立與維護4.2.3 數據表的打開與關閉數據表的打開與關閉4.2 VFP數據表結構的建立與維護4.2.3 數據表的打開與關閉數據表的打開與關閉4.2 VFP數據表結構的建立與維護4.2.3 數據表的打開與關閉數據表的打開與關閉4.2 VFP數據表結構的建立與維護4.2.4修改表結構修改表結構4.2 VFP數據表結構的建立與

9、維護4.2.5瀏覽表結構瀏覽表結構4.2 VFP數據表結構的建立與維護4.2.5瀏覽表結構瀏覽表結構4.2 VFP數據表結構的建立與維護4.3.1 VFP數據表記錄錄入方式數據表記錄錄入方式4.3 VFP數據表記錄的錄入4.3.2 VFP數據表記錄的錄入命令數據表記錄的錄入命令4.3 VFP數據表記錄的錄入4.3.2 VFP數據表記錄的錄入命令數據表記錄的錄入命令4.3 VFP數據表記錄的錄入4.3.2 VFP數據表記錄的錄入命令數據表記錄的錄入命令4.3 VFP數據表記錄的錄入4.3.3 表記錄中各種數據的錄入表記錄中各種數據的錄入4.3 VFP數據表記錄的錄入4.4.1 數據表記錄定位數據

10、表記錄定位1.記錄指針與當前記錄記錄指針與當前記錄一張數據表往往有多條記錄,一張數據表往往有多條記錄,VFP系統(tǒng)按照輸入時的順系統(tǒng)按照輸入時的順序對數據表中的記錄進行順序編號,這個編號稱為記錄號。序對數據表中的記錄進行順序編號,這個編號稱為記錄號。系統(tǒng)為每個打開的數據表設置一個記錄指針,記錄指針指向系統(tǒng)為每個打開的數據表設置一個記錄指針,記錄指針指向的記錄被稱為當前記錄,使用的記錄被稱為當前記錄,使用RECNO()函數可以獲得指定工函數可以獲得指定工作區(qū)當前記錄的記錄號。作區(qū)當前記錄的記錄號。 2.文件頭與文件尾文件頭與文件尾VFP數據表文件有兩個特殊的位置:文件頭數據表文件有兩個特殊的位置:

11、文件頭(表起始標記表起始標記)和文件尾和文件尾(表結束標記表結束標記)。文件頭位于表中第一條記錄之前,當。文件頭位于表中第一條記錄之前,當記錄指針指向文件頭時,函數記錄指針指向文件頭時,函數BOF()的值為的值為.T.,但此時的記,但此時的記錄號為第一條記錄的記錄號。文件尾在最后一條記錄之后,錄號為第一條記錄的記錄號。文件尾在最后一條記錄之后,當記錄指針指向文件尾時,函數當記錄指針指向文件尾時,函數EOF()的值為的值為.T.,此時的記,此時的記錄號為數據表記錄總數加錄號為數據表記錄總數加1,即,即RECCOUNT()+1。 4.4 VFP數據表數據的訪問4.4.1 數據表記錄定位數據表記錄定

12、位3.數據表記錄指針定位數據表記錄指針定位 (1)使用菜單方式定位記錄指針使用菜單方式定位記錄指針“顯示顯示” “瀏覽瀏覽” “表表” “轉到記錄轉到記錄” (2)使用命令方式定位記錄指針使用命令方式定位記錄指針命令格式:命令格式:GO|GOTO RECORD 記錄號記錄號 IN 工作區(qū)號工作區(qū)號|別名別名GO|GOTO TOP|BOTTOM IN 工作區(qū)號工作區(qū)號|別名別名功能:移動記錄指針到指定的記錄。功能:移動記錄指針到指定的記錄。 命令格式命令格式2:SKIP N IN 工作區(qū)號工作區(qū)號|別名別名 4.4 VFP數據表數據的訪問4.4.2 數據表數據顯示數據表數據顯示1.使用菜單方式使

13、用菜單方式 “顯示顯示”“瀏覽瀏覽”2.使用使用?、?命令命令命令格式命令格式:?|? 功能功能:?在當前光標處開始輸出表達式在當前光標處開始輸出表達式的值的值 ?在下行輸出表達式的值在下行輸出表達式的值4.4 VFP數據表數據的訪問4.4.2 數據表數據顯示數據表數據顯示例例4.8 使用使用?、?命令顯示數據表命令顯示數據表STUDENT和和TEACHER的有關內容。的有關內容。Select 1USE STUDENT ALIAS XS EXCL GO 6 SELECT 2 USE TEACHER ALIAS JS EXCL 3SELE 1?學號學號,姓名姓名,家庭地址家庭地址?性別性別,婚否

14、婚否 姓名姓名=張三張三“?姓名姓名+M.姓名姓名 ?LEFT(學號學號,4)+ALLT(RIGHT(姓名姓名,2) ?LEFT(學號學號,4)+RIGHT(ALLT(姓名姓名),2) ?姓名姓名+JS.姓名姓名 ?性別性別+B.性別性別 ?學號學號,B.姓名姓名,家庭地址家庭地址,B.職稱職稱 4.4 VFP數據表數據的訪問4.4.2 數據表數據顯示數據表數據顯示3.使用使用LIST、DISPLAY命令命令命令格式命令格式:LIST|DISPLAY FIELDS 字段列表字段列表 范圍范圍 FOR 條件表達式條件表達式 WHILE 條件表達式條件表達式 OFF NOCONSOLE TO PR

15、INTER PROMPT | TO FILE 文件名文件名功能功能:在:在VFP6系統(tǒng)主窗口中顯示與當前表有關的信息。系統(tǒng)主窗口中顯示與當前表有關的信息。 4.4 VFP數據表數據的訪問4.4.2 數據表數據顯示數據表數據顯示4.使用使用BROWSE命令命令 命令格式命令格式:BROWSE LASTFIELDS 字段字段列表列表 FONT 字體字體,字號字號 STYLE 字形字形FOR 條件條件表達式表達式 REST FREEZE 字段名字段名LOCK N NOAPPEND NODELETE NOEDIT|NOMODIFY NOLINK NOMENU NOREFRESH NORMAL NOWA

16、IT TITLE 標題標題 功能功能:打開瀏覽窗口,顯示當前或選定表的記錄。:打開瀏覽窗口,顯示當前或選定表的記錄。 4.4 VFP數據表數據的訪問4.4.3 數據表數據過濾數據表數據過濾1.用菜單操作方式實現數據表數據過濾用菜單操作方式實現數據表數據過濾 2.用命令方式控制數據表數據訪問用命令方式控制數據表數據訪問(1)設置記錄過濾的命令設置記錄過濾的命令命令格式命令格式:SET FILTER TO 條件表達式條件表達式功能功能:指定訪問當前表中記錄時必須滿足的條件。:指定訪問當前表中記錄時必須滿足的條件。 (2)設置字段過濾的命令設置字段過濾的命令命令命令1格式格式:SET FIELDS

17、TO 字段列表字段列表|ALL命令命令2格式格式:SET FIELDS ON | OFF 功能功能:指定可以訪問表中的哪些字段。:指定可以訪問表中的哪些字段。 4.4 VFP數據表數據的訪問4.5.1 數據表記錄插入數據表記錄插入命令格式命令格式:INSERT BEFORE BLANK功能功能:在表的當前記錄前:在表的當前記錄前(后后)添加一條或添加一條或多條新記錄。多條新記錄。 4.5 VFP數據表數據的維護4.5.2 數據表記錄修改數據表記錄修改1.使用菜單方式使用菜單方式2.使用使用BROWSE命令命令 3.使用使用EDIT、CHANGE命令命令命令格式命令格式:EDITCHANGE F

18、IELDS 字段列表字段列表 范圍范圍 FOR 條件條件 WHILE 條件條件 FONT 字體字體,字號字號 STYLE 字形字形 FREEZE 字段名字段名 LASTPARTITION N NOAPPEND NODELETE NOEDIT | NOMODIFY NOLINK NOMENU NORMAL NOWAIT TITLE 標題標題功能功能:以編輯方式顯示、修改數據表記錄:以編輯方式顯示、修改數據表記錄 4.5 VFP數據表數據的維護4.5.2 數據表記錄修改數據表記錄修改4.使用使用REPLACE命令命令 命令格式命令格式:REPLACE 范圍范圍 FOR 條件條件 WHILE 條件條

19、件 字段名字段名1 WITH 表達式表達式1 ADDITIVE,字段名字段名 WITH 表達式表達式2 ADDITIVE IN 工作區(qū)號工作區(qū)號|別名別名功能功能:更新指定工作表的指定記錄內容。:更新指定工作表的指定記錄內容。 5.使用使用REPLACE FROM ARRAY 命令命令命令格式命令格式:REPLACE FROM ARRAY 數組名數組名 FIELDS 字段列表字段列表 范圍范圍 FOR 條件條件 WHILE 條件條件功能功能:使用內存變量數組中的值更新字段內容。:使用內存變量數組中的值更新字段內容。 4.5 VFP數據表數據的維護4.5.3 數據表數據的刪除數據表數據的刪除1.

20、數據表記錄的邏輯刪除與恢復數據表記錄的邏輯刪除與恢復(1)菜單方式菜單方式 (2)命令方式命令方式DELETE命令命令命令格式命令格式:DELETE 范圍范圍 FOR 條件條件WHILE 條件條件功能功能:為當前數據表中指定范圍內滿足條件的記錄添加:為當前數據表中指定范圍內滿足條件的記錄添加刪除標志。刪除標志。RECALL命令命令命令格式命令格式:RECALL 范圍范圍 FOR 條件條件WHILE 條件條件功能功能:將當前數據表中指定范圍內滿足條件的記錄的刪:將當前數據表中指定范圍內滿足條件的記錄的刪除標志取消。除標志取消。 4.5 VFP數據表數據的維護4.5.3 數據表數據的刪除數據表數據

21、的刪除2.數據表記錄的物理刪除數據表記錄的物理刪除(1)菜單方式菜單方式 (2)命令方式命令方式PACK命令,功能是把當前數據庫中做過刪除標記的命令,功能是把當前數據庫中做過刪除標記的記錄從文件中真正刪除掉。記錄從文件中真正刪除掉。ZAP命令,功能是刪除當前數據表中全部記錄。在執(zhí)命令,功能是刪除當前數據表中全部記錄。在執(zhí)行行ZAP時,屏幕會出現信息框詢問是否清除已打開數據表文時,屏幕會出現信息框詢問是否清除已打開數據表文件中的記錄。件中的記錄。使用使用DELETESQL命令命令3.帶邏輯刪除標志數據表設置帶邏輯刪除標志數據表設置 命令格式命令格式:SET DELETED ON | OFF功能功

22、能:指定:指定 VFP6 是否處理標有刪除標記的記錄,以及是否處理標有刪除標記的記錄,以及其它命令是否可以操作它們。其它命令是否可以操作它們。 4.5 VFP數據表數據的維護4.5.4數據表數據傳遞數據表數據傳遞1.記錄與數組記錄與數組(1)將當前記錄復制到數組或內存變量將當前記錄復制到數組或內存變量 命令格式命令格式:SCATTER FIELDS 字段列表字段列表|FIELDS LIKE 字段特征框架字段特征框架|FIELDS EXCEPT 字段特征框架字段特征框架 MEMO TO 數組名數組名|TO 數組名數組名 BLANK|MEMVAR功能功能:將當前記錄的字段值按字段列表順序依次送入數

23、:將當前記錄的字段值按字段列表順序依次送入數組元素中,或依次送入一組內存變量。組元素中,或依次送入一組內存變量。(2)將數組或內存變量的數據復制到當前記錄將數組或內存變量的數據復制到當前記錄 命令格式命令格式:GATHER FROM | MEMVAR FIELDS 字段列表字段列表|FIELDS LIKE 字段特征框架字段特征框架|FIELDS EXCEPT 字段特征框架字段特征框架 MEMO 功能功能:將數組或內存變量的數據依次復制到當前記錄,:將數組或內存變量的數據依次復制到當前記錄,以替換相應字段值。以替換相應字段值。4.5 VFP數據表數據的維護4.5.4數據表數據傳遞數據表數據傳遞(

24、3)將數據表記錄復制到數組將數據表記錄復制到數組命令格式命令格式:COPY TO ARRAY 數組名數組名 FIELDS 字段列字段列表表|FIELDS LIKE 字段特征框架字段特征框架|FIELDS EXCEPT 字段特征字段特征框架框架 范圍范圍 FOR 條件條件 WHILE 條件條件功能功能:將當前選定表中指定范圍內滿足條件記錄的制定:將當前選定表中指定范圍內滿足條件記錄的制定字段數據復制到數組。字段數據復制到數組。 (4)將數組復制到數據表將數組復制到數據表可以用前面講述的可以用前面講述的APPEND FROM ARRAY將數組中的將數組中的數據復制到新表中的記錄。也可以用數據復制到

25、新表中的記錄。也可以用GATHER 將數組或一組將數組或一組內存變量中的數據復制到表中的記錄。還可以使用內存變量中的數據復制到表中的記錄。還可以使用REPLACE FROM ARRAY命令。命令。 4.5 VFP數據表數據的維護4.5 VFP數據表數據的維護數據表數據的維護 2.數據表的復制數據表的復制 (1)任意文件間的復制任意文件間的復制命令格式命令格式:COPY FILE 源文件源文件 TO 目標文件目標文件功能功能:從源文件復制得到目標文件:從源文件復制得到目標文件(2)從當前表復制出表或其它類型文件從當前表復制出表或其它類型文件 命令格式命令格式:COPY TO 文件名文件名 FIE

26、LDS 字段列表字段列表|FIELDS LIKE/EXCEPT 字段匹配特征框架字段匹配特征框架范圍范圍 FOR/WHILE 條件條件WITH CDX SDF|DELIMITED WITH 字符字段界限符字符字段界限符|WITH CHARACTER 分隔符分隔符功能功能:用當前表的結構和內容去創(chuàng)建一個既有結構又有:用當前表的結構和內容去創(chuàng)建一個既有結構又有內容的新文件。內容的新文件。4.5 VFP數據表數據的維護4.5 VFP數據表數據的維護數據表數據的維護 3.數據的導入與導出數據的導入與導出 (1)數據導入數據導入 數據的導入是指把其他外部數據數據導入數據的導入是指把其他外部數據數據導入V

27、FP6數據表,供數據表,供VFP應用程序系統(tǒng)使用。其中數據可以是應用程序系統(tǒng)使用。其中數據可以是文本、電子表格或表文件格式,利用系統(tǒng)提供的文本、電子表格或表文件格式,利用系統(tǒng)提供的“導導入入”對話框來實現。對話框來實現。(2)數據導出數據導出數據的導出是指把數據從數據的導出是指把數據從VFP6數據表傳送到另數據表傳送到另外一個應用程序所使用的文件中,供其它應用程序系外一個應用程序所使用的文件中,供其它應用程序系統(tǒng)使用。其中數據可以是文本、電子表格或表文件格統(tǒng)使用。其中數據可以是文本、電子表格或表文件格式,利用系統(tǒng)提供的式,利用系統(tǒng)提供的“導出導出”對話框來實現。對話框來實現。 4.5 VFP數

28、據表數據的維護4.6.1 VFP數據表數據的排序數據表數據的排序1.排序的概念排序的概念 排序就是將數據表中的記錄按照某個字段排序就是將數據表中的記錄按照某個字段(或某或某幾個字段幾個字段)值的大小順序重新排列,作為排序依據的值的大小順序重新排列,作為排序依據的字段稱為關鍵字。字段稱為關鍵字。 2.數據表排序數據表排序命令格式命令格式:SORT TO 文件名文件名 ON 字段字段1 /A | /D /C,字段字段2 /A | /D /C .ASCENDING | DESCENDING 范圍范圍 FOR 條件條件 WHILE 條件條件 FIELDS 字段列表字段列表| FIELDS LIKE 字

29、段特征框架字段特征框架| FIELDS EXCEPT 字段特征框架字段特征框架 功能功能:對當前數據表中的記錄,按指定的字段:對當前數據表中的記錄,按指定的字段及順序排序,排序后產生新表文件。及順序排序,排序后產生新表文件。 4.6 VFP數據表數據的排序、索引4.6.2 VFP數據表數據的索引數據表數據的索引1.索引的概念索引的概念“索引索引”是一組邏輯排序的指針,索引用是一組邏輯排序的指針,索引用于按關鍵字對記錄進行排序,但并不改變表中于按關鍵字對記錄進行排序,但并不改變表中記錄的物理順序,只是與表記錄建立一種邏輯記錄的物理順序,只是與表記錄建立一種邏輯關系。關系。 索引的主要作用是:按指

30、定的關鍵字排序索引的主要作用是:按指定的關鍵字排序后,可以快速顯示、查詢、選擇記錄,可以建后,可以快速顯示、查詢、選擇記錄,可以建立表間的關聯關系。立表間的關聯關系。 4.6 VFP數據表數據的排序、索引4.6.2 VFP數據表數據的索引數據表數據的索引2.索引及索引文件索引及索引文件 (1)索引關鍵字:索引關鍵字指在數據表中建立索引關鍵字:索引關鍵字指在數據表中建立索引用的字段或字段表達式,它可以是表中的單個索引用的字段或字段表達式,它可以是表中的單個字段,也可以是表中幾個字段組成的表達式。字段,也可以是表中幾個字段組成的表達式。(2)索引類型索引類型在在VFP系統(tǒng)中,數據表的索引類型有以下

31、系統(tǒng)中,數據表的索引類型有以下4種:種:主索引主索引(PRIMARY INDEX)候選索引候選索引(CANDIDATE INDEX) 唯一索引唯一索引(UNIQUE INDEX) 普通索引普通索引(REGULAR INDEX ) 4.6 VFP數據表數據的排序、索引4.6.2 VFP數據表數據的索引數據表數據的索引(3)索引文件的類型索引文件的類型 獨立索引文件:又稱單索引文件,文件擴展名為獨立索引文件:又稱單索引文件,文件擴展名為.IDX。 結構復合索引文件:文件擴展名為結構復合索引文件:文件擴展名為.CDX。 非結構復合索引文件:與結構復合索引文件相同,非非結構復合索引文件:與結構復合索引

32、文件相同,非結構復合索引文件也包含多個索引項,擴展名也是結構復合索引文件也包含多個索引項,擴展名也是.CDX,但,但文件名與數據表文件名不相同,它不會隨數據表文件的打開文件名與數據表文件名不相同,它不會隨數據表文件的打開而打開,需要時使用單獨的打開命令。而打開,需要時使用單獨的打開命令。(4)索引與索引文件的關系索引與索引文件的關系在在VFP6系統(tǒng)中,結構復合索引文件是數據庫中使用得系統(tǒng)中,結構復合索引文件是數據庫中使用得最普遍,也是最重要的索引文件。由于主索引與候選索引必最普遍,也是最重要的索引文件。由于主索引與候選索引必須與表一起打開和關閉,所以它只能存儲在結構復合索引文須與表一起打開和關

33、閉,所以它只能存儲在結構復合索引文件件.CDX中,不能放在非結構復合索引文件與獨立索引文件中。中,不能放在非結構復合索引文件與獨立索引文件中。 4.6 VFP數據表數據的排序、索引4.6.2 VFP數據表數據的索引數據表數據的索引3.索引文件建立索引文件建立(1)菜單方式菜單方式“顯示顯示”“表設計器表設計器” “索引索引”(2)命令方式命令方式命令格式命令格式:INDEX ON 索引表達式索引表達式 TO 單索引單索引文件名文件名| TAG 索引項標記名索引項標記名 OF 復合索引文件復合索引文件名名FOR 條件條件 COMPACT ASCENDING| DESCENDING UNIQUE

34、ADDITIVE功能功能:創(chuàng)建一個索引文件,利用該文件可以按:創(chuàng)建一個索引文件,利用該文件可以按某種邏輯順序顯示和訪問表記錄。某種邏輯順序顯示和訪問表記錄。 4.6 VFP數據表數據的排序、索引4.6.2 VFP數據表數據的索引數據表數據的索引4.索引文件使用索引文件使用 (1)打開索引文件打開索引文件 同時打開數據表文件和索引文件同時打開數據表文件和索引文件命令格式命令格式:USE 表文件名表文件名 INDEX 索引文件名表索引文件名表|?ORDER 數值表達式數值表達式|單索引文件名單索引文件名|TAG 標識名標識名OF 復復合索引文件名合索引文件名功能功能:打開表文件的同時打開一個或多個

35、索引文件。:打開表文件的同時打開一個或多個索引文件。打開數據表文件后再打開索引文件打開數據表文件后再打開索引文件命令格式命令格式:SET INDEX TO 索引文件名表索引文件名表 ADDITIVE 功能功能:打開當前表的一個或多個索引文件并確定主控索:打開當前表的一個或多個索引文件并確定主控索引文件。引文件。4.6 VFP數據表數據的排序、索引4.6.2 VFP數據表數據的索引數據表數據的索引(2)確定主控索引確定主控索引 菜單方式菜單方式 “顯示顯示”“瀏覽瀏覽” “表表” “屬性屬性”命令方式命令方式命令格式命令格式:SET ORDER TO N|單索引文單索引文件名件名|TAG索引標識

36、名索引標識名OF 復合索引文件名復合索引文件名功能功能:在打開的索引文件中指定主控索引:在打開的索引文件中指定主控索引文件,或在打開的復合索引文件中設置主控索文件,或在打開的復合索引文件中設置主控索引。引。 4.6 VFP數據表數據的排序、索引4.6.2 VFP數據表數據的索引數據表數據的索引(3)更新索引更新索引 命令格式命令格式:REINDEX COMPACT功能功能:重新建立打開的索引文件。:重新建立打開的索引文件。(4)刪除索引刪除索引菜單方式菜單方式 “顯示顯示”“表設計器表設計器” “索引索引”命令方式命令方式命令格式命令格式:DELETE TAG ALL|,功能功能:刪除復合索引

37、文件中指定索引標識。:刪除復合索引文件中指定索引標識。 4.6 VFP數據表數據的排序、索引4.7.1 順序查詢順序查詢1.LOCATE命令命令命令格式命令格式:LOCATE 范圍范圍 FOR 條條件件|WHILE 條件條件功能功能:在指定范圍內查找滿足條件的第一:在指定范圍內查找滿足條件的第一條記錄,并將記錄指針定位該記錄。條記錄,并將記錄指針定位該記錄。 2.CONTINUE命令命令命令格式命令格式:CONTINUE功能功能:與:與LOCATE命令連用,繼續(xù)查找命令連用,繼續(xù)查找LOCATE命令指定條件的記錄命令指定條件的記錄 4.7 VFP數據表數據的查詢4.7.2 索引查詢索引查詢命令

38、格式命令格式:SEEK 表達式表達式 ORDER N|單單索引文件名索引文件名|TAG 索引標識索引標識 ASCENDING| DESCENDING IN 工作區(qū)號工作區(qū)號| 別名別名功能功能:在打開的索引文件中查找主索引關:在打開的索引文件中查找主索引關鍵字值與表達式值相匹配的第一條記錄,并將鍵字值與表達式值相匹配的第一條記錄,并將記錄指針定位在該記錄。記錄指針定位在該記錄。4.7 VFP數據表數據的查詢4.8.1 計數命令計數命令COUNT命令格式命令格式:COUNT 范圍范圍 FOR 條件條件|WHIIE 條件條件 TO 內存變量內存變量功能功能:統(tǒng)計當前表文件中指定范圍內滿足條件:統(tǒng)計

39、當前表文件中指定范圍內滿足條件的記錄個數。的記錄個數。 4.8 VFP數據表數據的統(tǒng)計4.8.2 求和命令求和命令SUM命令格式命令格式:SUM 范圍范圍 N型字段列表或型字段列表或N型字段表達式列表型字段表達式列表 FOR 條件條件|WHILE 條條件件TO 內存變量表內存變量表|ARRAY 數組名數組名功能功能:對當前表文件中指定范圍內滿足條件的:對當前表文件中指定范圍內滿足條件的N型字段按列求和。型字段按列求和。4.8 VFP數據表數據的統(tǒng)計4.8.3 求平均命令求平均命令 AVERAGE命令格式命令格式:AVERAGE 范圍范圍 N型字段名型字段名表或表或N型字段表達式表型字段表達式表

40、 FORWHILE 條件條件 TO 內存變量表內存變量表|ARRAY 數組名數組名功能功能:對當前數據表中滿足條件的:對當前數據表中滿足條件的N型字段求平型字段求平均值。均值。4.8 VFP數據表數據的統(tǒng)計4.8.4 計算命令計算命令CALCULATE命令格式命令格式:CALCULATE 范圍范圍 表達式列表達式列表表 FORWHILE 條件條件 TO 內存變量表內存變量表|ARRAY 數組名數組名功能功能:在打開的表中,分別計算表達式表的值。:在打開的表中,分別計算表達式表的值。 4.8 VFP數據表數據的統(tǒng)計4.8.5 匯總命令匯總命令TOTAL命令格式命令格式:TOTAL ON 關鍵字段

41、名關鍵字段名 T0 文文件名件名 范圍范圍 FORWHILE 條件條件 FIELDS N型字段名表型字段名表功能功能:在當前表中,對指定范圍內滿足條:在當前表中,對指定范圍內滿足條件的記錄按關鍵字段名分類匯總求和,并生成件的記錄按關鍵字段名分類匯總求和,并生成一個新表文件,新表文件又稱為匯總文件一個新表文件,新表文件又稱為匯總文件 4.8 VFP數據表數據的統(tǒng)計4.9.1 工作區(qū)、別名及數據訪問工作區(qū)、別名及數據訪問1.對非主工作區(qū)字段的訪問對非主工作區(qū)字段的訪問 別名調用格式:工作區(qū)號別名調用格式:工作區(qū)號字段名、別名字段名、別名字段名、別名字段名、別名.字段名字段名 2.數據工作期數據工作

42、期 “窗口窗口” “數據工作期數據工作期”4.9 多工作區(qū)操作4.9.2 表的關聯表的關聯1.表關聯的含義表關聯的含義各個工作區(qū)表文件的記錄指針是彼此獨立,互各個工作區(qū)表文件的記錄指針是彼此獨立,互不影響。所謂關聯就是在兩個表文件的記錄指針之不影響。所謂關聯就是在兩個表文件的記錄指針之間建立一種臨時關系,當一個表的記錄指針移動時,間建立一種臨時關系,當一個表的記錄指針移動時,與之關聯的另一個表的記錄指針也做相應的移動。與之關聯的另一個表的記錄指針也做相應的移動。關聯不是生成一個表文件,只是形成了一種聯系。關聯不是生成一個表文件,只是形成了一種聯系。相互關聯的兩張表中,主動建立關聯的表稱為父表,

43、相互關聯的兩張表中,主動建立關聯的表稱為父表,被關聯的表稱為子表。被關聯的表稱為子表。關聯條件:條件是首先為子表按關聯關鍵字建關聯條件:條件是首先為子表按關聯關鍵字建立索引立索引(對記錄號進行關聯時,可以不索引對記錄號進行關聯時,可以不索引),然后進,然后進行關聯。關聯后,當父表指針移動時,子表指針也行關聯。關聯后,當父表指針移動時,子表指針也會自動移動到滿足關聯條件的記錄上。會自動移動到滿足關聯條件的記錄上。4.9 多工作區(qū)操作4.9.2 表的關聯表的關聯2.表關聯的建立表關聯的建立 (1)菜單方式菜單方式“窗口窗口” “數據工作期數據工作期”(2)命令方式命令方式命令格式命令格式:SET

44、RELATION TO 關聯表關聯表達式達式1 INTO 別名別名1 ,關聯表達式關聯表達式2 INTO 別名別名2 ADDITIVE功能功能:以當前表為父表與一個或多個子表:以當前表為父表與一個或多個子表建立關聯。建立關聯。 4.9 多工作區(qū)操作4.9.2 表的關聯表的關聯3.說明一對多關系的命令說明一對多關系的命令若兩表關聯是一對多關系,需要加以說明。要若兩表關聯是一對多關系,需要加以說明。要說明兩表的一對多關系,可以利用數據工作期窗口說明兩表的一對多關系,可以利用數據工作期窗口的的“一對多一對多”按鈕,還可使用按鈕,還可使用SET SKIP TO命令。命令。命令格式命令格式:SET SK

45、IP TO 表別名表別名1,表別名表別名2功能功能:用在:用在SET RELATION命令之后,說明已命令之后,說明已經建立的關聯為一對多關系。經建立的關聯為一對多關系。使用說明使用說明:表別名表示一對多關系中位于多方:表別名表示一對多關系中位于多方的子表。不帶任何選擇項的的子表。不帶任何選擇項的“SET SKIP TO”將取消將取消一對多關系,但不取消已經建立的多對一關系。一對多關系,但不取消已經建立的多對一關系。4.9 多工作區(qū)操作4.9.2 表的關聯表的關聯例例4.39中,以中,以student.dbf為主表與為主表與studing.dbf建立關聯,這里使用的是一對多關系。建立關聯,這里

46、使用的是一對多關系。CLOSE ALLSELECT 1USE STUDING EXCLUSIVEINDEX ON 學號學號 TAG 學號學號SELECT 2USE STUDENT EXCLUSIVESET RELATION TO 學號學號 INTO ASET SKIP TO A 4.9 多工作區(qū)操作4.9.2 表的關聯表的關聯4.表間的數據更新表間的數據更新當兩個相關的數據表分別在不同的工作區(qū)打開當兩個相關的數據表分別在不同的工作區(qū)打開后,即可用另一個數據表中的數據來批量更新當前后,即可用另一個數據表中的數據來批量更新當前數據表中的有關數據。數據表中的有關數據。命令格式命令格式:UPDATE

47、ON FROM REPLACE WITH RANDOM功能功能:當:當表中記錄的關鍵字段表中記錄的關鍵字段值與當前表中記錄的關鍵字段值匹配時,用所指定值與當前表中記錄的關鍵字段值匹配時,用所指定的表達式的值來替換當前表中匹配記錄指定字段的的表達式的值來替換當前表中匹配記錄指定字段的值。值。 4.9 多工作區(qū)操作4.9.3 表之間的連接表之間的連接表文件之間的連接就是將兩個表的相關字表文件之間的連接就是將兩個表的相關字段組合起來,構成一個新的表文件。這種連接段組合起來,構成一個新的表文件。這種連接稱為物理連接。稱為物理連接。命令格式命令格式:JOIN WITH 工作區(qū)號工作區(qū)號|別名別名 TO

48、新表名新表名 FOR 連接條件連接條件 FIELDS 字段名字段名功能功能:將當前表文件與指定別名的表文件:將當前表文件與指定別名的表文件之間建立連接生成一個新的表文件。之間建立連接生成一個新的表文件。 4.9 多工作區(qū)操作4.9.3 表之間的連接表之間的連接例例4.40 按學號將按學號將student.dbf和和studing.dbf兩兩表連接起來生成新表表連接起來生成新表xsxx.dbf并顯示連接后的結果。并顯示連接后的結果。 SELECT 1USE STUDENT EXCLUSIVESELECT 2USE STUDING EXCLUSIVEJOIN WITH A TO XSXX FOR

49、學號學號=A.學號學號USE XSXXBROWSE 4.9 多工作區(qū)操作4.9.3 表之間的連接表之間的連接應用實例:設有增加工資表應用實例:設有增加工資表zjgz.dbf(編號,姓名,增資編號,姓名,增資額額)和職工檔案表和職工檔案表zgda.dbf(其中有基本工資字段其中有基本工資字段),現在將原,現在將原基本工資與增資額相加作為新的基本工資?;竟べY與增資額相加作為新的基本工資。USE ZGDAINDEX ON 編號編號 TAG BHSELECT 0USE ZJGZINDEX ON 編號編號 TAG BHSELECT ZGDAUPDATE ON 編號編號 FROM ZJGZ REPLAC

50、E 基本工資基本工資 WITH 基本工資基本工資+ZJGZ.增資額增資額BROWSECLOSE DATABASE 4.9 多工作區(qū)操作4.9.4 多工作區(qū)操作實例多工作區(qū)操作實例例例4.40 計算章立同學的各門功課平均成績計算章立同學的各門功課平均成績 分析:學生成績保存在分析:學生成績保存在studing.dbf數據數據表中,學生姓名保存在表中,學生姓名保存在student.dbf數據表中,數據表中,要計算章立同學各門功課的平均成績,一是先要計算章立同學各門功課的平均成績,一是先在在student表中查詢到章立的學號,根據該學表中查詢到章立的學號,根據該學號在號在studing表中即可計算出

51、章立的各門功課表中即可計算出章立的各門功課平均成績;二是兩表關聯后查詢計算;三是兩平均成績;二是兩表關聯后查詢計算;三是兩表連接成一張表后查詢計算。表連接成一張表后查詢計算。4.9 多工作區(qū)操作4.9.4 多工作區(qū)操作實例多工作區(qū)操作實例*方法一方法一 *方法二方法二CLOSE ALL CLOSE ALLSELECT 1 SELECT 1USE STUDENT EXCLUSIVE USE STUDENT EXCLUSIVELOCATE FOR 姓名姓名=章立章立 INDEX ON 學號學號 TAG 學號學號SELECT 2 SELECT 2USE STUDING EXCLUSIVE USE S

52、TUDING EXCLUSIVEAVERAGE 成績成績 TO PJCJ FOR 學號學號=A.學號學號 SET RELATION TO 學號學號 INTO A?PJCJ AVERAGE 成績成績 TO PJCJ FOR A.姓名姓名=章立章立*方法三方法三 ?PJCJCLOSE ALLSELECT 1USE STUDENT EXCLUSIVESELECT 2USE STUDING EXCLUSIVEJOIN WITH A TO XSXX FOR 學號學號=A.學號學號USE XSXXAVERAGE 成績成績 TO PJCJ FOR 姓名姓名=章立章立?PJCJ4.9 多工作區(qū)操作4.9.4

53、多工作區(qū)操作實例多工作區(qū)操作實例例例4.41 查詢章立同學選修課程名稱、成績、學時、學分、任課教師、職稱。查詢章立同學選修課程名稱、成績、學時、學分、任課教師、職稱。 CLOSE ALLSELECT 1USE TEACHER EXCLUSIVEINDEX ON 教師編號教師編號 TAG 教師編號教師編號SELECT 2USE COURSE EXCLUSIVEINDEX ON 課程編號課程編號 TAG 課程編號課程編號SELECT 3USE STUDENT EXCLUSIVEINDEX ON 學號學號 TAG 學號學號SELECT 4USE STUDING EXCLUSIVESET RELATION TO 學號學號 INTO CSET RELATION TO 課程編號課程編號 INTO B ADDITIVESET RELATION TO 教師編號教師編號 INT

溫馨提示

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

最新文檔

評論

0/150

提交評論