第4、5、6章 Visual FoxPro數(shù)據(jù)庫(kù)及其操作_第1頁(yè)
第4、5、6章 Visual FoxPro數(shù)據(jù)庫(kù)及其操作_第2頁(yè)
第4、5、6章 Visual FoxPro數(shù)據(jù)庫(kù)及其操作_第3頁(yè)
第4、5、6章 Visual FoxPro數(shù)據(jù)庫(kù)及其操作_第4頁(yè)
第4、5、6章 Visual FoxPro數(shù)據(jù)庫(kù)及其操作_第5頁(yè)
已閱讀5頁(yè),還剩64頁(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)介

1、化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 第4章 VFP數(shù)據(jù)庫(kù)及其操作化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.1 創(chuàng)建項(xiàng)目1.1.建立工作目錄建立工作目錄 組織和管理磁盤中的各類文件。2.2.建立項(xiàng)目文件建立項(xiàng)目文件 (1)菜單n 選擇“文件|新建”命令n 單擊常用工具欄中的“新建”按鈕(2)命令:CREATE PROJECT 3.3.打開項(xiàng)目文件打開項(xiàng)目文件 (1)菜單:選擇“文件|打開”命令或單擊常用工具欄中的“打開”按鈕,在“打開”對(duì)話框中選擇一個(gè)項(xiàng)目文件(*.PJX)。(2)命令:MODIFY PROJECT 化學(xué)化工學(xué)院Visual Fox

2、Pro課程沒有最好,只有更好4.1 創(chuàng)建項(xiàng)目創(chuàng)建項(xiàng)目的方法化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.2.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)思想1 1設(shè)計(jì)步驟設(shè)計(jì)步驟 (1)分析數(shù)據(jù)需求,確定數(shù)據(jù)庫(kù)要存儲(chǔ)哪些信息。(2)確定需要的數(shù)據(jù)表。(3)確定所需字段,即每個(gè)表中要存儲(chǔ)的信息(表的結(jié)構(gòu))。(4)確定關(guān)系,即各表之間的數(shù)據(jù)應(yīng)該如何進(jìn)行連接。(5)改進(jìn)設(shè)計(jì)2.2.設(shè)計(jì)過(guò)程設(shè)計(jì)過(guò)程 (1)明確設(shè)計(jì)目的 (2)確定需要的數(shù)據(jù)表(3)確定表中需要的字段 (4)確定表間關(guān)系 (5)優(yōu)化設(shè)計(jì) 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.2.2 數(shù)據(jù)庫(kù)的創(chuàng)建 數(shù)據(jù)庫(kù)(.DBC) 存儲(chǔ)

3、了所包含的表和表之間的關(guān)系,以及依賴于表的視圖、連接和存儲(chǔ)過(guò)程等信息。 把表放入數(shù)據(jù)庫(kù)中可以減少數(shù)據(jù)的冗余,保護(hù)數(shù)據(jù)的完整性。1. 1. 建立數(shù)據(jù)庫(kù)建立數(shù)據(jù)庫(kù)(1)項(xiàng)目管理器:“新建:數(shù)據(jù)庫(kù)”(2)菜單: “文件|新建:數(shù)據(jù)庫(kù)”(3)命令:CREATE DATABASE 2.2.在項(xiàng)目中添加數(shù)據(jù)庫(kù)在項(xiàng)目中添加數(shù)據(jù)庫(kù) 方法是: 在項(xiàng)目管理器中選定“數(shù)據(jù)庫(kù)”項(xiàng),單擊“添加”按鈕,在“打開”對(duì)話框中選擇需要添加的數(shù)據(jù)庫(kù)文件?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.2.2 數(shù)據(jù)庫(kù)的創(chuàng)建選擇“數(shù)據(jù)庫(kù)”項(xiàng)單擊“新建”按鈕利用項(xiàng)目管理器建立數(shù)據(jù)庫(kù)化學(xué)化工學(xué)院Visual FoxPro

4、課程沒有最好,只有更好4.2.3 數(shù)據(jù)庫(kù)的基本操作1. 1. 打開數(shù)據(jù)庫(kù)打開數(shù)據(jù)庫(kù)(1)項(xiàng)目管理器:選定要打開的數(shù)據(jù)庫(kù),單擊“打開”按鈕。(2)菜單:選擇“文件|打開”命令(3)命令 打開數(shù)據(jù)庫(kù)文件 OPEN DATABASE 打開數(shù)據(jù)庫(kù)文件所對(duì)應(yīng)的數(shù)據(jù)庫(kù)設(shè)計(jì)器 MODIFY DATABASE 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.2.3 數(shù)據(jù)庫(kù)的基本操作2.2.關(guān)閉數(shù)據(jù)庫(kù)關(guān)閉數(shù)據(jù)庫(kù)(1)項(xiàng)目管理器:選定要關(guān)閉的數(shù)據(jù)庫(kù),單擊“關(guān)閉”按鈕。 (2)命令:CLOSE DATABASES3. 3. 刪除數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù) (1)項(xiàng)目管理器:選定要?jiǎng)h除的數(shù)據(jù)庫(kù),單擊“移去”按鈕

5、,在對(duì)話框中選擇“移去”命令,將從項(xiàng)目中移去選定的庫(kù)文件;選擇“刪除”命令,則將選定的庫(kù)文件從磁盤上刪除。(2)命令:DELETE DATABABE 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.3 創(chuàng)建數(shù)據(jù)表1.1.數(shù)據(jù)表和數(shù)據(jù)庫(kù)數(shù)據(jù)表和數(shù)據(jù)庫(kù) 表(Table)是 處理數(shù)據(jù)和建立關(guān)系型數(shù)據(jù)庫(kù)及應(yīng)用程序的基本元素。數(shù)據(jù)庫(kù)(DATABASE)是表的集合。2.2.數(shù)據(jù)表的類型數(shù)據(jù)表的類型(1)自由表:不屬于任何數(shù)據(jù)庫(kù)而獨(dú)立存在的表 (2)數(shù)據(jù)庫(kù)表:屬于某一數(shù)據(jù)庫(kù)的表 使用項(xiàng)目管理器中的“移去”/“添加”命令,可以在數(shù)據(jù)庫(kù)表和自由表之間相互轉(zhuǎn)換。3.3.數(shù)據(jù)表的結(jié)構(gòu)數(shù)據(jù)表的結(jié)構(gòu) 形

6、式上是一組相關(guān)聯(lián)的數(shù)據(jù)按行和列排列的二維表格,用來(lái)描述一個(gè)實(shí)體。表中的每一列稱為一個(gè)字段,每一行稱為一條記錄?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.3.1 基本概念n定義字段 為每個(gè)字段指定名稱、數(shù)據(jù)類型和寬度,它們決定了表中的數(shù)據(jù)是如何被標(biāo)識(shí)和保存的。 (1)字段名 以字母或漢字開頭,由字母、漢字、數(shù)字或下劃線組成,不能包含空格。數(shù)據(jù)庫(kù)表字段名最長(zhǎng)為128個(gè)字符,自由表字段名最長(zhǎng)為10個(gè)字符。 (2)字段類型 決定了存儲(chǔ)在字段中的值的數(shù)據(jù)類型,有13種:字符型(C)、貨幣型(Y)、數(shù)值型(N)、浮點(diǎn)型(F)、日期型(D)、日期時(shí)間型(T)、雙精度型(B)、整型(I)

7、、邏輯型(L)、備注型(M)、通用型(G)、字符型(二進(jìn)制)、備注型(二進(jìn)制)?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.3.1 基本概念(3)字段寬度 指能夠容納存儲(chǔ)數(shù)據(jù)的長(zhǎng)度,字符型字段不得大于254個(gè)字節(jié);浮點(diǎn)型和數(shù)值型字段的寬度為整數(shù)位和小數(shù)位的和再加 1(小數(shù)點(diǎn)占一位),最多20位。(4)小數(shù)位 若字段的類型是數(shù)值型(N)和浮點(diǎn)型(F),還需給出小數(shù)位數(shù)。小數(shù)位數(shù)不能大于9,雙精度型數(shù)據(jù)的小數(shù)位數(shù)不能大于18。(5)使用空值 在建立數(shù)據(jù)表時(shí),可以指定字段是否接受空值(NULL)。 n 輸入數(shù)據(jù) 即給每個(gè)字段賦值。化學(xué)化工學(xué)院Visual FoxPro課程沒有最好

8、,只有更好4.3.2 自由表的建立 1. 1. 定義表結(jié)構(gòu)定義表結(jié)構(gòu) 利用“表設(shè)計(jì)器” 創(chuàng)建表的結(jié)構(gòu)。 打開表設(shè)計(jì)器有以下幾種方法。(1)菜單:選擇“文件|新建”命令。 (2)命令:Create (3)項(xiàng)目管理器:在“數(shù)據(jù)”選項(xiàng)卡中選擇“自由表”,單擊“新建”命令。 定義表結(jié)構(gòu)就是設(shè)置表的字段屬性,包括字段名、數(shù)據(jù)類型、字段寬度和小數(shù)位數(shù)等?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好打開表設(shè)計(jì)器的方法4.3.2 自由表的建立化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.3.2 自由表的建立2.2.輸入記錄輸入記錄 選擇“顯示”菜單下的“瀏覽”或“編輯”命令,

9、打開“瀏覽”或“編輯”窗口。(1)一般數(shù)據(jù)的輸入 字符型、數(shù)值型、邏輯型、日期型等字段類型可直接在瀏覽窗口或編輯窗口中輸入數(shù)據(jù)。(2)備注型字段數(shù)據(jù)的輸入 雙擊名為“memo”的備注字段標(biāo)志,進(jìn)入備注窗口,輸入文本內(nèi)容。(3)通用型字段數(shù)據(jù)的輸入 雙擊名為“gen”的通用字段標(biāo)志,進(jìn)入通用型字段的輸入編輯窗口。選擇“編輯|插入對(duì)象”命令,打開“插入對(duì)象”對(duì)話框,插入OLE對(duì)象。 要?jiǎng)h除備注字段或通用字段的內(nèi)容,可雙擊字段名,打開編輯窗口,選擇“編輯|清除”命令。 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.3.2 自由表的建立 如果在數(shù)據(jù)表中定義了備注型或通用型字段,系統(tǒng)

10、就會(huì)自動(dòng)生成相應(yīng)的備注文件(.FPT),其主文件名與相應(yīng)的表文件名相同。 備注文件是表文件的輔助文件,專門用于存放數(shù)據(jù)表中所定義的備注型或通用型字段的實(shí)際內(nèi)容;它隨著表文件的打開而打開,隨著表文件的關(guān)閉而關(guān)閉。 無(wú)論一個(gè)數(shù)據(jù)表中定義了多少個(gè)備注型或通用型字段,系統(tǒng)只生成一個(gè)備注文件,存放這個(gè)表文件中的所有備注型或通用型字段的內(nèi)容?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.3.3 數(shù)據(jù)庫(kù)表的建立1.1.在數(shù)據(jù)庫(kù)中建立新表在數(shù)據(jù)庫(kù)中建立新表 (1)項(xiàng)目管理器:在“數(shù)據(jù)”選項(xiàng)卡中,單擊“數(shù)據(jù)庫(kù)”項(xiàng)前的“+”號(hào),展開該數(shù)據(jù)項(xiàng);然后選定“表”,再單擊“新建”按鈕。 使用項(xiàng)目管理器創(chuàng)

11、建的表自動(dòng)包含在項(xiàng)目文件中。(2)當(dāng)數(shù)據(jù)庫(kù)處于打開狀態(tài)時(shí),用建立自由表的方法創(chuàng)建的新表將包含在該數(shù)據(jù)庫(kù)中。2.2.將自由表添加到數(shù)據(jù)庫(kù)將自由表添加到數(shù)據(jù)庫(kù)(1)項(xiàng)目管理器:在“數(shù)據(jù)”選項(xiàng)卡中展開”數(shù)據(jù)庫(kù)“項(xiàng),選擇“表”項(xiàng),再單擊“添加”按鈕。(2)命令:ADD TABLE 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.3.3 數(shù)據(jù)庫(kù)表的建立 數(shù)據(jù)庫(kù)中的表只能屬于一個(gè)數(shù)據(jù)庫(kù)文件,如果向當(dāng)前數(shù)據(jù)庫(kù)中添加的表已屬于其它數(shù)據(jù)庫(kù),則需要先從其它數(shù)據(jù)庫(kù)中移去該數(shù)據(jù)表,然后才能將它添加到當(dāng)前數(shù)據(jù)庫(kù)中。3.3.從數(shù)據(jù)庫(kù)中移去數(shù)據(jù)表從數(shù)據(jù)庫(kù)中移去數(shù)據(jù)表(1)項(xiàng)目管理器:選中要移去的表,單擊“移

12、去”按鈕,在提示對(duì)話框,選擇“移去”。若選擇“刪除”,則不僅從數(shù)據(jù)庫(kù)中移去該表,同時(shí)也從磁盤上刪除了該表。(2)命令:REMOVE TABLE 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好移去數(shù)據(jù)庫(kù)表時(shí)的提示框4.3.3 數(shù)據(jù)庫(kù)表的建立化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.4.1 數(shù)據(jù)表的瀏覽1. 1. 打開數(shù)據(jù)表打開數(shù)據(jù)表(1)菜單:選擇“文件|打開”命令。(2)命令:USE 2.2.瀏覽與顯示表結(jié)構(gòu)瀏覽與顯示表結(jié)構(gòu) (1)瀏覽表結(jié)構(gòu) 項(xiàng)目管理器:選定要瀏覽的表,單擊“修改”按鈕,打開表設(shè)計(jì)器。 菜單:選擇“文件|打開”命令,打開要瀏覽的數(shù)據(jù)表; 然

13、后選擇“顯示|表設(shè)計(jì)器”命令,打開表設(shè)計(jì)器。(2)顯示表結(jié)構(gòu)(主窗口) 命令:LIST|DISPLAY STRUCTURE化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.4.1 數(shù)據(jù)表的瀏覽3. 3. 瀏覽與顯示記錄瀏覽與顯示記錄(1)在瀏覽窗口中瀏覽記錄 項(xiàng)目管理器:選定要瀏覽的表,單擊“瀏覽”按鈕。 對(duì)于備注型字段或通用型字段內(nèi)容,可以在瀏覽窗口中雙擊相應(yīng)的字段標(biāo)志(“Memo”或“Gen”),打開編輯窗口瀏覽。 菜單:選擇“文件|打開”命令,打開要瀏覽的數(shù)據(jù)表。然后從“顯示”菜單中選擇“瀏覽”或“編輯”命令,打開瀏覽窗口。 命令:BROWSE化學(xué)化工學(xué)院Visual Fo

14、xPro課程沒有最好,只有更好4.4.1 數(shù)據(jù)表的瀏覽(2) 在瀏覽窗口中有選擇地瀏覽記錄 菜單:打開瀏覽窗口,選擇“表|屬性”命令,打開“工作區(qū)屬性”對(duì)話框。n 在“數(shù)據(jù)過(guò)濾器”中輸入篩選條件,可以只顯示滿足篩選條件的記錄。刪除篩選表達(dá)式,可恢復(fù)顯示所有記錄。 n 在“工作區(qū)屬性”對(duì)話框的“允許訪問(wèn)”欄中,選中“字段篩選指定的字段”選項(xiàng),單擊“字段篩選”按鈕,打開“字段選擇器”對(duì)話框,選擇要顯示的字段,可以只顯示選定的字段內(nèi)容。若在“允許訪問(wèn)”欄內(nèi)選擇“工作區(qū)中的所有字段”選項(xiàng),可取消對(duì)字段訪問(wèn)的限制,恢復(fù)顯示所有字段?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好“工作區(qū)屬性

15、”對(duì)話框:設(shè)置數(shù)據(jù)過(guò)濾器輸入篩選條件4.4.1 數(shù)據(jù)表的瀏覽化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好“工作區(qū)屬性”對(duì)話框:設(shè)置字段篩選4.4.1 數(shù)據(jù)表的瀏覽化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.4.1 數(shù)據(jù)表的瀏覽 命令n 設(shè)置數(shù)據(jù)過(guò)濾器:SET FILTER TO n 設(shè)置字段過(guò)濾器:SET FIELDS TO ALL| (3)顯示記錄(主窗口) 命令:LIST|DISPLAYFIELDSWHILEFOR 例如,要顯示“學(xué)生”表中所有女生的學(xué)號(hào)、姓名和所在系的信息, 可使用以下命令: USE E:VFP6DATA學(xué)生.DBF & 打開學(xué)

16、生表 LIST FIELDS 學(xué)號(hào),姓名,系別 FOR 性別=”女” 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.4.2 記錄的定位 1. 1. 記錄指針記錄指針 記錄指針存放的是記錄號(hào)。向表中錄入數(shù)據(jù)時(shí),系統(tǒng)會(huì)按照錄入次序?yàn)橛涗浖由嫌涗浱?hào)。 數(shù)據(jù)表剛打開時(shí),記錄指針總是指向首記錄;通過(guò)移動(dòng)記錄指針可以指定當(dāng)前要操作的記錄。數(shù)據(jù)表文件的邏輯結(jié)構(gòu) 首記錄(TOP) 第2條記錄文件起始標(biāo)識(shí)(BOF) 第n-1條記錄 尾記錄(Bottom)文件結(jié)束標(biāo)識(shí)(EOF)記錄指針化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.4.2 記錄的定位4. 4. 移動(dòng)記錄指針移動(dòng)記

17、錄指針(1)菜單:打開瀏覽窗口,選擇 “表|轉(zhuǎn)到記錄” 命令?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.4.2 記錄的定位(2)命令n 絕對(duì)移動(dòng):GO | TOP | BOTTOM功能:將記錄指針定位在指定記錄號(hào)的記錄上。TOP表示第一條記 錄,BOTTOM表示最后一條記錄。 n 相對(duì)移動(dòng):SKIP +|- 功能:將記錄指針從當(dāng)前位置向前或向后移動(dòng)若干條記錄位置。 n 條件定位:LOCATE FOR WHILE 功能:查找滿足條件的第一條記錄。 說(shuō)明:使用 CONTINUE 命令可繼續(xù)查找下一條滿足條件的記錄。化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4

18、.4.2 記錄的定位例如, USE E:VFP6DATA學(xué)生 GO TOP & 指向首記錄 GO BOTTOM & 指向最后一條記錄GO 3 & 指向第3條記錄 SKIP 5 & 指向第8條記錄SKIP 5 & 指向第3條記錄 * 將記錄指針定位在學(xué)生表中第一條性別為男的記錄上 LOCATE FOR 性別 = ”男” CONTINUE & 繼續(xù)查找下一個(gè)滿足條件的記錄化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.5.1 修改表結(jié)構(gòu) 在表設(shè)計(jì)器中可以修改表結(jié)構(gòu)。 1. 1. 項(xiàng)目管理器:項(xiàng)目管理器:選定要修改的表,單擊“修改”按

19、鈕。(1)修改已有的字段(2)增加新字段(3)刪除字段(4)改變字段順序4. 4. 菜單:菜單:選擇 “文件|打開”、“顯示|表設(shè)計(jì)器”4. 4. 命令:命令:Modify Structure 修改字段屬性后,VFP將按新的屬性改寫整個(gè).dbf 文件,可能造成數(shù)據(jù)丟失?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.5.2 添加記錄1 1在瀏覽窗口中追加記錄在瀏覽窗口中追加記錄(1)菜單: 打開瀏覽窗口,選擇“顯示|追加方式”命令,可以在原有記錄的后面追加多條新記錄。 選擇 “表|追加新記錄”,每次只能添加一條新記錄。(2)命令: APPEND 2.2.插入記錄插入記錄 命令

20、:INSERT BEFORE 功能:在數(shù)據(jù)表的某個(gè)記錄之前或之后插入一條記錄。 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.5.2 添加記錄3.3.從其它文件中追加記錄從其它文件中追加記錄 (1)菜單:打開瀏覽窗口,選擇“表|追加記錄”命令。(2)命令:APPEND FROM FIELDS FOR 功 能 : 將 滿 足 條 件 的 記 錄 按 指 定 的 字 段 從 源 表 文 件 中 追 加 到 當(dāng) 前數(shù)據(jù)表的末尾。 例如,將“課程”表中的相應(yīng)數(shù)據(jù)追加到“課程安排”表中: USE E:VFP6DATA課程安排 APPEND FROM E:VFP6DATA課程.DBF

21、FIELDS 課程號(hào),課程 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.5.3 編輯記錄1. 1. 在瀏覽窗口中編輯記錄在瀏覽窗口中編輯記錄(1)項(xiàng)目管理器:選定表,單擊“瀏覽”按鈕,打開瀏覽窗口,直接修改字段值。關(guān)閉瀏覽窗口,所做的修改將自動(dòng)保存在表文件中。 對(duì)于備注型字段或通用型字段內(nèi)容,可以雙擊相應(yīng)的字段標(biāo)志(“Memo”或“Gen”),打開編輯窗口進(jìn)行編輯或修改。(2)命令:BROWSE 2.2.批量修改記錄批量修改記錄 對(duì)一批記錄中的若干字段進(jìn)行編輯修改。(1)菜單:打開數(shù)據(jù)表,選擇“表|替換字段”命令,出現(xiàn)“替換字段”對(duì)話框?;瘜W(xué)化工學(xué)院Visual FoxPr

22、o課程沒有最好,只有更好4.5.3 編輯記錄“替換字段”對(duì)話框要修改的字段修改后的值條件化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.5.3 編輯記錄(2)命令:REPLACE WITH ADDITIVE , WITH ADDITIVE FOR WHILE 功能:對(duì)表中指定范圍內(nèi)的滿足條件的記錄進(jìn)行批量修改。 例如,將“學(xué)生”表中管理系的每個(gè)學(xué)生減去15.5元助學(xué)金, 加上50元獎(jiǎng)學(xué)金。 USE E:VFP6DATA學(xué)生 REPLACE ALL 助學(xué)金 WITH 助學(xué)金-15.50 ,; 獎(jiǎng)學(xué)金 WITH 獎(jiǎng)學(xué)金 + 50.0 FOR 系別=”管理”化學(xué)化工學(xué)院Visual

23、FoxPro課程沒有最好,只有更好 4.5.4 刪除記錄1. 1. 邏輯刪除邏輯刪除: : 給記錄加刪除標(biāo)記 (1)鼠標(biāo)操作:在瀏覽窗口中,單擊左側(cè)的白色方框使之變黑。(2)菜單:選擇“表|刪除記錄”命令(3)命令:DELETE FOR WHILE 2. 2. 恢復(fù)邏輯刪除恢復(fù)邏輯刪除: : 取消刪除標(biāo)記(1)鼠標(biāo)操作:?jiǎn)螕暨壿媱h除標(biāo)記,取消黑色方框。(2)菜單:選擇“表|恢復(fù)記錄”命令(3)命令:RECALL FOR WHILE 3.3.物理刪除:物理刪除:從磁盤上刪除記錄,不可恢復(fù)。(1)菜單:選擇“表|徹底刪除”,刪除帶有刪除標(biāo)記的記錄。(2)命令:PACK (刪除帶有刪除標(biāo)記的記錄)

24、ZAP (清除表中所有記錄,僅保留表結(jié)構(gòu)) 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.5.5 復(fù)制數(shù)據(jù)表1 1數(shù)據(jù)表文件的復(fù)制數(shù)據(jù)表文件的復(fù)制(1) 菜單:打開表文件,選擇“文件|導(dǎo)出”,顯示“導(dǎo)出”對(duì)話框。(2)命令:COPY TO FIELDS FOR WHILE 2.2.數(shù)據(jù)表結(jié)構(gòu)的復(fù)制數(shù)據(jù)表結(jié)構(gòu)的復(fù)制 將表結(jié)構(gòu)復(fù)制到一個(gè)新表中。 命令:COPY STRUCTURE TO FIELDS 3. 3. 數(shù)據(jù)表文件的更名數(shù)據(jù)表文件的更名 在項(xiàng)目管理器中右擊要重命名的表,從快捷菜單中選擇“重命名” 命令,打開“重命名文件”對(duì)話框,輸入新的文件名?;瘜W(xué)化工學(xué)院Visual F

25、oxPro課程沒有最好,只有更好4.5.5 復(fù)制數(shù)據(jù)表利用“導(dǎo)出”對(duì)話框和“導(dǎo)出選項(xiàng)”對(duì)話框復(fù)制數(shù)據(jù)表復(fù)制后的新表數(shù)據(jù)源表選擇要復(fù)制的記錄范圍條件選擇要復(fù)制的字段化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.5.5 復(fù)制數(shù)據(jù)表更改數(shù)據(jù)庫(kù)表的名稱右擊數(shù)據(jù)表更改后的表名化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.5.6 數(shù)據(jù)表與數(shù)組之間的數(shù)據(jù)交換1將表的當(dāng)前記錄復(fù)制到數(shù)組將表的當(dāng)前記錄復(fù)制到數(shù)組命令:SCATTER FIELDS MEMO TO | MEMVAR功能:將數(shù)據(jù)表的當(dāng)前記錄按字段順序復(fù)制到數(shù)組或內(nèi)存變量。 例如,USE E:VFP6DATA學(xué)生 *

26、 將第1條記錄的姓名、性別和系別3個(gè)字段復(fù)制到數(shù)組AA中 SCATTER FIELDS 姓名,性別,系別 TO AA GO 5 * 將第5條記錄復(fù)制到數(shù)組BB中,包括備注型字段的內(nèi)容 SCATTER TO BB MEMO 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.5.6 數(shù)據(jù)表與數(shù)組之間的數(shù)據(jù)交換2.將數(shù)組復(fù)制到表的當(dāng)前記錄將數(shù)組復(fù)制到表的當(dāng)前記錄命令:GATHER FROM | MEMVAR FIELDS MEMO 功能:將數(shù)組元素或同名內(nèi)存變量的值順序復(fù)制到當(dāng)前記錄的指定 字段中。例如: USE E:VFP6DATA學(xué)生 * 在表的末尾增加一條空記錄 APPEND B

27、LANK * 將數(shù)組 AA 中的數(shù)據(jù)復(fù)制到當(dāng)前的空記錄中GATHERFROMAAFIELDS姓名,性別,系別化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.6.1 數(shù)據(jù)表排序 排序是把數(shù)據(jù)表中的記錄按照某個(gè)字段值的大小重新排列,作為排序依據(jù)的字段稱為“關(guān)鍵字”。 按照關(guān)鍵字的值從小到大的排序稱為升序,從大到小的排序稱為降序。 排序后生成一個(gè)新的數(shù)據(jù)表文件,其結(jié)構(gòu)和數(shù)據(jù)可以與源文件完全相同,也可以取自源文件的一部分字段。 命令: SORT TO ON /A/D/C ,/A/D/C ASCENDING/DESCENDING FOR FIELDS 化學(xué)化工學(xué)院Visual FoxP

28、ro課程沒有最好,只有更好 4.6.1 數(shù)據(jù)表排序例如, 對(duì)“學(xué)生”表中所有貸款的學(xué)生按“系別”的升序進(jìn)行排序,排序后的新表文件為“貸款學(xué)生”: USE E:VFP6DATA學(xué)生 SORT TO 貸款學(xué)生 ON 系別 FOR 貸款否 對(duì)“學(xué)生”表中的數(shù)據(jù)按“系別”升序進(jìn)行排序,系別相同者,按“學(xué)號(hào)”降序進(jìn)行排序。排序后的文件為“各系學(xué)生”: USE E:VFP6DATA學(xué)生 SORT TO 各系學(xué)生 ON 系別, 學(xué)號(hào)/D化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.6.2 數(shù)據(jù)表索引 1 1 基本概念基本概念(1)索引 是由指向表記錄的指針構(gòu)成的文件,這些指針邏輯上按照索

29、引關(guān)鍵字的值進(jìn)行排序。 索引文件和表文件分別存儲(chǔ),并且不改變表中記錄的物理順序。(2)索引的類型 組織方式上分,有三類。 獨(dú)立索引 在索引文件中只包含一個(gè)單一的關(guān)鍵字或者組合關(guān)鍵字的索引,獨(dú)立索引文件的擴(kuò)展名為.IDX。 結(jié)構(gòu)復(fù)合索引 在索引文件中可以包含多個(gè)索引項(xiàng)的索引。結(jié)構(gòu)復(fù)合索引文件的擴(kuò)展名為.CDX,是最常用的一種索引類型?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.6.2 數(shù)據(jù)表索引結(jié)構(gòu)復(fù)合索引的特點(diǎn):n 結(jié)構(gòu)復(fù)合索引的文件主名與數(shù)據(jù)表文件主名相同n 在用一索引文件中可以包含多個(gè)索引關(guān)鍵字n 在打開數(shù)據(jù)表時(shí)自動(dòng)打開n 對(duì)表進(jìn)行添加、修改、更新、刪除等操作時(shí)自動(dòng)維

30、護(hù)索引 非結(jié)構(gòu)復(fù)合索引 索引文件的擴(kuò)展名也是.CDX,但文件主名與數(shù)據(jù)表文件不相同,它不會(huì)隨著數(shù)據(jù)表文件的打開而打開,需要使用單獨(dú)的打開命令?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.6.2 數(shù)據(jù)表索引(3)索引關(guān)鍵字 是指建立索引用的字段或字段表達(dá)式,可以 是表中的單個(gè)字段,也可以是幾個(gè)字段組成的表達(dá)式。 復(fù)合索引表達(dá)式通常用字符串運(yùn)算符“+”將幾個(gè)字段連接起來(lái)。當(dāng)各字段類型不同時(shí),必須轉(zhuǎn)換為相同的數(shù)據(jù)類型。 創(chuàng)建索引文件時(shí)就是根據(jù)索引關(guān)鍵字值的大小從邏輯上重新安排數(shù)據(jù)表中各條記錄的組織順序。化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.6.2 數(shù)據(jù)

31、表索引(4)索引關(guān)鍵字的類型 主索引:索引表達(dá)式的值唯一,即記錄不允許有重復(fù)值。只有數(shù)據(jù)庫(kù)表才能有一個(gè)主索引。 候選索引:索引表達(dá)式的值唯一,即記錄不允許有重復(fù)值。 一個(gè)表可以有多個(gè)候選索引。 惟一索引:索引表達(dá)式的值惟一,若有重復(fù),只取第一個(gè)值。 一個(gè)表可以有多個(gè)唯一索引。 普通索引:索引表達(dá)式的值允許有重復(fù)。 一個(gè)表可以有多個(gè)普通索引?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.6.2 數(shù)據(jù)表索引2. 2. 建立復(fù)合索引建立復(fù)合索引(1)利用表設(shè)計(jì)器:選擇“索引”選項(xiàng)卡?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.6.2 數(shù)據(jù)表索引(2)命令:IND

32、EX ON TAG UNIQUE|CANDIDATEASCENDING|DESCENDINGFOR 例如,用INDEX命令為“學(xué)生”表建立結(jié)構(gòu)復(fù)合索引,包含4個(gè)索引項(xiàng):學(xué)號(hào)(候選索引)、性別(普通索引)、系別與性別(普通索引)、系別與出生日期(普通索引)。 USE E:VFP6DATA學(xué)生 INDEX ON 學(xué)號(hào) TAG 學(xué)號(hào) CANDIDATE INDEX ON 性別 TAG 性別 INDEX ON 系別 + 性別 TAG 系別_性別 INDEX ON 系別 + DTOC(出生日期) TAG 系別_生日化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.6.2 數(shù)據(jù)表索引3.3

33、. 按索引順序?yàn)g覽記錄按索引順序?yàn)g覽記錄 一個(gè)復(fù)合索引文件中可以建立多個(gè)索引項(xiàng),每一項(xiàng)代表了處理記錄的一種邏輯順序。使用索引之前,應(yīng)先指定將要使用的索引項(xiàng)。(1)菜單:打開瀏覽窗口,選擇“表|屬性”命令,打開 “工作區(qū)屬性”對(duì)話框,在“索引順序”框中選擇一個(gè)索引項(xiàng),瀏覽窗口中的記錄就會(huì)按按照該索引順序排列。(2)命令:SET ORDER TO TAG 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好“工作區(qū)屬性”對(duì)話框:設(shè)置索引順序4.6.2 數(shù)據(jù)表索引選擇索引順序化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.6.3 數(shù)據(jù)表查詢 數(shù)據(jù)表建立索引后,就可以使用FI

34、ND、SEEK 等查詢命令,快速定位記錄,提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的運(yùn)行效率。1.FIND 1.FIND 命令:命令:FIND |2.SEEK2.SEEK命令:命令:SEEK 這兩條命令可以快速查找表中索引關(guān)鍵字值與表達(dá)式相匹配的第一條記錄。若要繼續(xù)查找表中其他滿足條件的記錄,可以執(zhí)行 SKIP 命令?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.6.3 數(shù)據(jù)表查詢例如, USE E:VFP6DATA學(xué)生 SET ORDER TO TAG 學(xué)號(hào) & 將“學(xué)號(hào)”索引項(xiàng)設(shè)置為當(dāng)前索引 FIND 01020215 & 查找學(xué)號(hào)為01020215的學(xué)生記錄 SEEK “0

35、1020215” SET ORDER TO 性別 FIND 女 & 查找性別為女的學(xué)生記錄 SET ORDER TO TAG 系別_性別 SEEK “計(jì)算機(jī) ” + “男” & 查找計(jì)算機(jī)系男生的記錄 SKIP & 繼續(xù)查找下一個(gè)計(jì)算機(jī)系男生的記錄 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.6.4 數(shù)據(jù)表統(tǒng)計(jì)與匯總1. 1. 數(shù)據(jù)表的統(tǒng)計(jì)數(shù)據(jù)表的統(tǒng)計(jì)(1 1)計(jì)數(shù))計(jì)數(shù): : COUNTCOUNT 的比例的比例 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.6.4 數(shù)據(jù)表統(tǒng)計(jì)與匯總(2)求和: SUM (3)求平均值: AVERA

36、GE 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.6.4 數(shù)據(jù)表統(tǒng)計(jì)與匯總2.數(shù)據(jù)表的分類匯總 對(duì)數(shù)據(jù)表中的數(shù)值型字段,按照排序或索引關(guān)鍵字值的不同分類,然后各組分別求和。 命令:例如,求每個(gè)學(xué)生各門課程的總成績(jī)。 USE E:VFP6DATA成績(jī) INDEX ON 學(xué)號(hào) TAG 學(xué)號(hào) TOTAL ON 學(xué)號(hào) TO 總成績(jī)化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.7 建立數(shù)據(jù)字典 數(shù)據(jù)庫(kù)文件可以作為一個(gè)數(shù)據(jù)字典來(lái)存儲(chǔ)和管理有關(guān)記錄和字段的規(guī)則、缺省值、觸發(fā)器、表間關(guān)系等。 數(shù)據(jù)庫(kù)表是數(shù)據(jù)庫(kù)的一部分,具有自由表所沒有的一些屬性。數(shù)據(jù)庫(kù)表特有的屬性化學(xué)化工

37、學(xué)院Visual FoxPro課程沒有最好,只有更好4.7.1 設(shè)置表的字段屬性1.1.長(zhǎng)字段名:長(zhǎng)字段名:自由表的字段名最多10個(gè)字符,數(shù)據(jù)庫(kù)表的字段名最多128個(gè)字符。當(dāng)從數(shù)據(jù)庫(kù)中移去一個(gè)表時(shí),此表的長(zhǎng)字段名將被截短成10個(gè)字符。2. 2. 輸入掩碼輸入掩碼:限制輸入字段的內(nèi)容格式,以屏蔽非法輸入。 3. 3. 格式:格式:決定字段在表單、瀏覽窗口或報(bào)表中的顯示方式。4. 標(biāo)題:標(biāo)題:字段標(biāo)題將作為該字段在瀏覽窗口中的列標(biāo)題,以及表單表格中的默認(rèn)標(biāo)題名稱。5. 5. 字段注釋:字段注釋:為字段添加注釋,使表更容易被理解。 此外,也可以在“表”選項(xiàng)卡的“表注釋”框中為整個(gè)數(shù)據(jù)表添加注釋內(nèi)容。

38、化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.7.2 設(shè)置表的有效性規(guī)則1. 1. 默認(rèn)值默認(rèn)值:在瀏覽窗口、表單或以編程方式輸入數(shù)據(jù)時(shí),VFP將自動(dòng)為某個(gè)字段填入默認(rèn)值,直到輸入新值。 默認(rèn)值可以是任何有效的表達(dá)式,但表達(dá)式的返回值必須和該字段的數(shù)據(jù)類型一致。2. 2. 字段的有效性規(guī)則:字段的有效性規(guī)則:將用戶輸入的數(shù)據(jù)與所定義的規(guī)則表達(dá)式進(jìn)行比較,如果輸入的值不滿足規(guī)則要求,系統(tǒng)就拒絕該值,從而控制輸入到字段中的信息類型。 3. 3. 表的有效性規(guī)則表的有效性規(guī)則:控制用戶輸入到記錄中的信息類型。 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.7.2

39、設(shè)置表的有效性規(guī)則違反字段有效性規(guī)則時(shí)的提示信息化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.7.2 設(shè)置表的有效性規(guī)則違反記錄有效性規(guī)則時(shí)的提示信息化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.7.3 設(shè)置觸發(fā)器 觸發(fā)器是指當(dāng)進(jìn)行輸入、刪除或更新表記錄等操作時(shí),系統(tǒng)自動(dòng)啟動(dòng)的一個(gè)程序,用來(lái)完成指定的任務(wù)。(1)插入觸發(fā)器:是在表中插入記錄時(shí)所觸發(fā)的檢測(cè)程序,該程序可以是表達(dá)式或自定義函數(shù)。檢測(cè)結(jié)果為真時(shí),接受插入的記錄。(2)更新觸發(fā)器:是在表中修改記錄后按回車鍵時(shí)所觸發(fā)的檢測(cè)程序。檢測(cè)結(jié)果為真時(shí),保存修改后的記錄;否則,不保存修改的結(jié)果,同時(shí)還原修改之前

40、的記錄值。(3)刪除觸發(fā)器:是在表中刪除記錄時(shí)所激發(fā)的檢測(cè)程序。檢測(cè)結(jié)果為真時(shí),該記錄可以被刪除;否則,禁止刪除該記錄。 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.7.4 創(chuàng)建永久關(guān)系 永久關(guān)系是數(shù)據(jù)庫(kù)表之間的關(guān)系,存儲(chǔ)在數(shù)據(jù)庫(kù)文件中。 建立關(guān)系的兩個(gè)表通常具有公共字段或語(yǔ)義相關(guān)的字段,其中包含主關(guān)鍵字段的表稱為父表,包含外部關(guān)鍵字段的表稱為子表。1. 1. 建立關(guān)系:建立關(guān)系:對(duì)主關(guān)鍵字段和外部關(guān)鍵字段使用相同的索引表達(dá)式分別建立索引;然后打開“數(shù)據(jù)庫(kù)設(shè)計(jì)器”,將父表的索引拖到子表相匹配的索引上(兩表之間顯示一條關(guān)系線)。2.2.編輯關(guān)系:編輯關(guān)系:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中右擊關(guān)系線,從快捷菜單中選擇“編輯關(guān)系” 命令。3. 3. 刪除關(guān)系:刪除關(guān)系:右擊關(guān)系線,選擇“刪除關(guān)系”命令 。化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 4.7.4 創(chuàng)建永久關(guān)系表之間的關(guān)系關(guān)系線化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好4.7.5 設(shè)置參照完整性 參照完整性是指建立一組規(guī)則,當(dāng)用戶插入、更新或刪除一個(gè)數(shù)據(jù)表中的記錄時(shí),通過(guò)參照引

溫馨提示

  • 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)論