教學(xué)課件:《Visual4_第1頁
教學(xué)課件:《Visual4_第2頁
教學(xué)課件:《Visual4_第3頁
教學(xué)課件:《Visual4_第4頁
教學(xué)課件:《Visual4_第5頁
已閱讀5頁,還剩352頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第一章 引言本章要點(diǎn)1.數(shù)據(jù)庫基本概念2.數(shù)據(jù)庫系統(tǒng)第一節(jié) 數(shù)據(jù)庫基本概念1.1.1 信息與數(shù)據(jù)1. 信息(Information)信息是客觀事物屬性的反映。它所反映的是關(guān)于某一客觀系統(tǒng)中,某一事物的某一方面屬性或某一時刻的表現(xiàn)形式。通俗地講,信息是經(jīng)過加工處理并對人類客觀行為產(chǎn)生影響的數(shù)據(jù)表現(xiàn)形式。2. 數(shù)據(jù) (Data)數(shù)據(jù)是反映客觀事物屬性的記錄,是信息的載體。對客觀事物屬性的記錄是用一定的符號來表達(dá)的,因此說數(shù)據(jù)是信息的具體表現(xiàn)形式。數(shù)據(jù)所反映的事物屬性是它的內(nèi)容,而符號是它的形式。 1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展 數(shù)據(jù)庫技術(shù)的發(fā)展也不斷變遷,經(jīng)

2、歷了從人工管理、文件管理到數(shù)據(jù)庫系統(tǒng)管理三個階段。 人工管理階段出現(xiàn)在計算機(jī)應(yīng)用于數(shù)據(jù)管理的初期。 文件管理階段即把有關(guān)的數(shù)據(jù)組織成數(shù)據(jù)文件,這種數(shù)據(jù)文件可以脫離程序而獨(dú)立存在,由一個專門的文件管理系統(tǒng)實施統(tǒng)一管理。 數(shù)據(jù)庫系統(tǒng)管理階段即對所有的數(shù)據(jù)實行統(tǒng)一規(guī)劃管理,形成一個數(shù)據(jù)中心,構(gòu)成一個數(shù)據(jù)“倉庫”。 1.1.3 數(shù)學(xué)模型 數(shù)學(xué)模型是數(shù)據(jù)庫系統(tǒng)設(shè)計的核心,它規(guī)范了數(shù)據(jù)庫中數(shù)據(jù)的組織形式,表示了數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系。數(shù)學(xué)模型的好壞直接影響數(shù)據(jù)庫的性能。支持?jǐn)?shù)據(jù)庫系統(tǒng)的常用的數(shù)據(jù)模型分類如下: (1) 層次模型(Hierarchical Model)。(2) 網(wǎng)狀模型(Network Mod

3、el)。(3) 關(guān)系模型(Relational Model)。(4) 面向?qū)ο竽P?Object Oriented Model)。1.1.4 關(guān)系模型 關(guān)系模型(Relational Model)的所謂“關(guān)系”是指那種雖具有相關(guān)性而非從屬性的平行的數(shù)據(jù)之間按照某種序列排列的集合關(guān)系。 關(guān)系中的每一數(shù)據(jù)都可看成獨(dú)立的數(shù)據(jù)項。 關(guān)系中的每一橫行稱為一個元組(Tuple) 。 關(guān)系中的每一豎列稱為一個屬性(Attribute)。 1.1.4 關(guān)系模型關(guān)系模型的主要特點(diǎn) (1) 關(guān)系中每一分量不可再分,是最基本的數(shù)據(jù)單位。 (2) 每一豎列的分量是同屬性的,列數(shù)根據(jù)需要而設(shè),且各列的順序是任意的。 (

4、3) 每一橫行由一個個體事物的諸多屬性構(gòu)成,且各行的順序可以是任意的。 (4) 一個關(guān)系是一張二維表,不允許有相同的屬性名,也不允許有相同的元組。 1.1.5 數(shù)據(jù)庫 所謂數(shù)據(jù)庫,就是以一定的組織方式將相關(guān)的數(shù)據(jù)組織在一起,存放在計算機(jī)外存儲器上,能為多個用戶共享,與應(yīng)用程序彼此獨(dú)立的一組相關(guān)數(shù)據(jù)的集合。 Visual FoxPro數(shù)據(jù)庫管理系統(tǒng)所管理的數(shù)據(jù),一般是依照關(guān)系模型特征進(jìn)行數(shù)據(jù)存儲的,因此,稱其數(shù)據(jù)庫為關(guān)系數(shù)據(jù)庫。 1.1.6 關(guān)系數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫(Relation Database)是若干個依照關(guān)系模型設(shè)計的若干關(guān)系的集合。也就是說,關(guān)系數(shù)據(jù)庫是由若干張完成關(guān)系模型設(shè)計的二維表

5、組成的。 一個關(guān)系數(shù)據(jù)庫由若干個數(shù)據(jù)表組成,一個數(shù)據(jù)表又由若干個記錄(即在關(guān)系模型中所稱的“元組”)組成,而每一個記錄是由若干個以字段(即在關(guān)系模型中所稱的“屬性”)加以分類的數(shù)據(jù)項(即在關(guān)系模型中所稱的“分量”或“屬性值”)組成。 第二節(jié) 數(shù)據(jù)庫系統(tǒng)1.2.1 數(shù)據(jù)庫系統(tǒng)的構(gòu)成 數(shù)據(jù)庫系統(tǒng)是指引進(jìn)了數(shù)據(jù)庫技術(shù)后的整個計算機(jī)系統(tǒng),它是由有關(guān)的硬件、軟件、數(shù)據(jù)和人員這4個部分組合而形成的,為用戶提供信息服務(wù)的系統(tǒng)。 硬件:CPU、內(nèi)存、外存及輸入/輸出設(shè)備。 軟件:系統(tǒng)軟件和應(yīng)用軟件兩類 數(shù)據(jù):數(shù)據(jù)是數(shù)據(jù)庫系統(tǒng)的管理對象,是為用戶提供數(shù)據(jù)的信息源。 人員:數(shù)據(jù)庫系統(tǒng)的人員是指管理、開發(fā)和使用數(shù)據(jù)

6、庫系統(tǒng)的全部人員,主要包括數(shù)據(jù)庫管理員、系統(tǒng)分析員、應(yīng)用程序員和用戶。1.2.2 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu): 外模式、概念模式和內(nèi)模式。 1.2.3 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng)提供對數(shù)據(jù)庫資源進(jìn)行統(tǒng)一管理和控制的功能,使數(shù)據(jù)與應(yīng)用程序隔離,數(shù)據(jù)具有獨(dú)立性;使數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)存儲具有一定的規(guī)范性,減少了數(shù)據(jù)的冗余,并有利于數(shù)據(jù)共享;提供安全性和保密性措施,使數(shù)據(jù)不被破壞,不被竊用;提供并發(fā)控制,在多用戶共享數(shù)據(jù)時保證數(shù)據(jù)庫的一致性;提供恢復(fù)機(jī)制,當(dāng)出現(xiàn)故障時,數(shù)據(jù)恢復(fù)到一致性狀態(tài)。本章結(jié)束Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第二章 數(shù)據(jù)庫設(shè)計本章要點(diǎn)1.數(shù)據(jù)庫設(shè)計步驟

7、2.概念模型3.關(guān)系代數(shù)第一節(jié) 數(shù)據(jù)庫設(shè)計步驟2.1 數(shù)據(jù)庫設(shè)計步驟需求分析階段概念結(jié)構(gòu)設(shè)計階段 邏輯結(jié)構(gòu)設(shè)計、優(yōu)化設(shè)計階段 物理設(shè)計階段 實施階段使用與維護(hù)階段 第二節(jié) 概念模型2.2.1 實體聯(lián)系模型 在實體-聯(lián)系模型中有4個基本元素: 實體、實體型、屬性和聯(lián)系。 1.實體(Entity)是客觀存在并相互區(qū)別的“事物”,實體可以是具體的人、事及物,也可以是抽象的概念 2.屬性(Attribute) 是指實體的特征和性質(zhì),也可以說實體是通過屬性描述的。 3.實體型是具有相同屬性實體的集合。在不混淆的情況下簡稱實體。 4.聯(lián)系是兩個或兩個以上的實體間的聯(lián)系。 2.2.2 實體型的聯(lián)系類型 1.

8、 一對一聯(lián)系: 設(shè)有實體型A與實體型B,如果A中的一個實體只與B中的一個實體關(guān)聯(lián),反過來,B中的一個實體只與A中的一個實體關(guān)聯(lián),稱實體型A與實體型B是一對一聯(lián)系類型。記作(1:1)。 2.2.2 實體型的聯(lián)系類型一對一聯(lián)系2.2.2 實體型的聯(lián)系類型 2. 一對多聯(lián)系: 設(shè)有實體型A與實體型B,如果A中的一個實體與B中的n個實體關(guān)聯(lián),反過來,B中的一個實體只與A中的一個實體關(guān)聯(lián),稱實體型A與實體型B是一對多聯(lián)系類型。記作(1n)。 2.2.2 實體型的聯(lián)系類型一對多聯(lián)系2.2.2 實體型的聯(lián)系類型 3. 多對多聯(lián)系: 設(shè)有實體型A與實體型B,如果A中的一個實體與B中的n個實體關(guān)聯(lián),反過來,B中

9、的一個實體與A中的m個實體關(guān)聯(lián),稱實體型A與實體型B是多對多聯(lián)系類型。記作(mn)。 2.2.2 實體型的聯(lián)系類型多對多聯(lián)系2.2.3 ER模型的設(shè)計 概念模型是對整個數(shù)據(jù)庫組織的邏輯結(jié)構(gòu)的抽象定義,E-R模型是用E-R圖描述這一概念模型,即通過圖形描述實體屬性和實體型之間的聯(lián)系。 在E-R模型中: 用“矩形”表示實體型; 用“橢圓形”表示屬性; 用“菱形”表示實體型之間的聯(lián)系。 2.2.3 ER模型的設(shè)計2.2.4 ER模型轉(zhuǎn)換成關(guān)系模型 將E-R模型轉(zhuǎn)換成關(guān)系模型遵守的原則是: 一個實體型轉(zhuǎn)換成一個關(guān)系(每一個關(guān)系對應(yīng)一張二維表),在轉(zhuǎn)換過程中要遵循關(guān)系的完整性規(guī)則。2.2.4 ER模型轉(zhuǎn)

10、換成關(guān)系模型 關(guān)系的完整性規(guī)則 關(guān)系完整性規(guī)則是對要建立關(guān)聯(lián)關(guān)系的兩個關(guān)系的主鍵和外鍵的約束條件。 (1) 實體完整性關(guān)系(表)的主鍵不能是空值(NULL)。 (2) 參照完整性關(guān)系(表)的外鍵必須是一個有效值,可以是空值。 (3) 用戶自定義完整性用戶自定義的刪除約束、更新約束、插入約束。第三節(jié) 關(guān)系代數(shù)2.3.1 投影 投影是選擇關(guān)系中的若干屬性組成新的關(guān)系。就是對關(guān)系的屬性進(jìn)行篩選,投影運(yùn)算結(jié)果往往比原有關(guān)系屬性少,或改變原有關(guān)系的屬性順序,或更改原有關(guān)系的屬性名等。 記作: A(R),其中A為R屬性列表。 2.3.1 投影2.3.2 選擇 選擇是根據(jù)給定的條件選擇關(guān)系中的若干元組組成新

11、的關(guān)系。就是對關(guān)系的元組進(jìn)行篩選,選擇運(yùn)算結(jié)果往往比原有關(guān)系元組個數(shù)少,它是原關(guān)系的一個子集,但關(guān)系模式不變。 記作: F(R),其中F是選擇條件。 2.3.2 選擇2.3.3 聯(lián)接 聯(lián)接是根據(jù)給定的條件,將兩個關(guān)系中的滿足聯(lián)接條件的若干元組的若干屬性組成新的關(guān)系。就是對兩個關(guān)系的元組和屬性進(jìn)行篩選,聯(lián)接運(yùn)算結(jié)果往往比原有兩個關(guān)系元組個數(shù)和屬性個數(shù)少,通常比其中任意一個原關(guān)系的屬性要多,并改變了關(guān)系模式。 記作: (R1) (R2) F 其中F是選擇條件。 本章結(jié)束Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第三章 Visual FoxPro系統(tǒng)概述本章要點(diǎn)2.Visual FoxPro的安裝與啟

12、動1.Visual FoxPro的特性3.Visual FoxPro的用戶界面4.Visual FoxPro向?qū)?.Visual FoxPro設(shè)計器5.Visual FoxPro生成器7.Visual FoxPro系統(tǒng)環(huán)境的配置第一節(jié) Visual FoxPro系統(tǒng)概述3.1 Visual FoxPro系統(tǒng)概述1 用戶界面良好2 面向?qū)ο缶幊碳夹g(shù)功能強(qiáng) 3 快速創(chuàng)建應(yīng)用程序4 數(shù)據(jù)庫的操作簡便 5 多個用戶可以一起開發(fā)程序 6 可與其他應(yīng)用程序交互操作 7 獨(dú)特的開發(fā)客戶機(jī)/服務(wù)器解決方案 8 可以升級早期版本 第二節(jié) Visual FoxPro安裝與啟動3.2.1安裝環(huán)境 在安裝Visual

13、 FoxPro 之前,要了解VFP 的硬件和軟件必備環(huán)境,做好安裝前的準(zhǔn)備工作。 1 硬件環(huán)境 (1) PC兼容機(jī),具有80486 50MHz以上處理器。 (2) 鼠標(biāo)。 (3) 內(nèi)存為16MB以上。 (4) 硬盤的最小空間為15MB,用戶自定義安裝需要100MB硬盤空間,完全安裝所有聯(lián)機(jī)文檔需要240MB硬盤空間。 (5) VGA或更高分辨的顯示器。 (6) 對于網(wǎng)絡(luò)操作,需要有一個與Windows兼容的網(wǎng)絡(luò)和一個網(wǎng)絡(luò)服務(wù)器。 2 軟件環(huán)境要求中文Windows 95/98或Windows NT以上操作系統(tǒng)的支持。3.2.2安裝 1 直接啟動CD-ROM2 直接運(yùn)行安裝程序3 使用Windo

14、ws 98安裝在Windows 98桌面上選擇“開始”“設(shè)置”命令;再選擇“控制面板”;在“控制面板”窗口中雙擊“添加/刪除程序”圖標(biāo),再在“添加/刪除程序?qū)傩浴贝翱谥袉螕簟鞍惭b”按鈕;最后,在“從軟盤或CD-ROM驅(qū)動器安裝程序”窗口中單擊“下一步”按鈕,將自動查找Visual FoxPro安裝程序,找到后進(jìn)入“運(yùn)行安裝程序”窗口,單擊“完成”按鈕,開始運(yùn)行安裝程序,按步驟選擇相應(yīng)的選項,完成安裝過程。 3.2.3啟動 1 從“開始”菜單啟動在Windows 98桌面上選擇“開始”“程序”“Microsoft Visual FoxPro 60”命令,進(jìn)入“Microsoft Visual F

15、oxPro”系統(tǒng)。2 從資源管理器中啟動在Windows 98桌面上選擇“開始”“資源管理器”命令,進(jìn)入“資源管理器”窗口;利用資源管理器找到VFP98目錄,再從VFP98目錄下找到VFP6圖標(biāo),在VFP圖標(biāo)上雙擊鼠標(biāo)左鍵,完成Visual FoxPro系統(tǒng)的啟動。3 從“運(yùn)行”對話框中啟動在Windows 98桌面上選擇“開始”“運(yùn)行”命令,進(jìn)入“運(yùn)行”窗口;在對話框中輸入VFP6EXE,再單擊“確定”按鈕,完成Visual FoxPro系統(tǒng)的啟動。3.2.4退出 (1) 在Microsoft Visual FoxPro主菜單中選擇“文件”“退出”命令。 (2) 按Alt+F4組合鍵。 (3

16、) 按Ctrl+Alt+Delete組合鍵,進(jìn)入“關(guān)閉程序”窗口,按“結(jié)束任務(wù)”按鈕。 (4) 在Microsoft Visual FoxPro的系統(tǒng)環(huán)境窗口,單擊其右上角的“退出”按鈕。 (5) 在“命令”窗口,輸入命令Quit,并按Enter鍵。 第三節(jié) Visual FoxPro用戶界面3.3 Visual FoxPro用戶界面1標(biāo)題欄 2菜單欄 3工具欄 4命令窗口 5工作區(qū)與狀態(tài)行 3.3 Visual FoxPro用戶界面本章結(jié)束Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第四章 Visual FoxPro操作基礎(chǔ)本章要點(diǎn)2.數(shù)據(jù)存儲1.數(shù)據(jù)類型3.內(nèi)部函數(shù)4.表達(dá)式第一節(jié) 數(shù)據(jù)類型4

17、.1.1 字符型 字符型(Character)數(shù)據(jù)是描述不具有計算能力的文字?jǐn)?shù)據(jù)類型,是常用的數(shù)據(jù)類型之一。 字符型數(shù)據(jù)由漢字和ASCII字符集中可打印字符(英文字符、數(shù)字字符、空格及其他專用字符)組成,一個字符型數(shù)據(jù)最大長度是254個字符。 4.1.2 數(shù)值型數(shù)值型數(shù)據(jù)是描述數(shù)量的數(shù)據(jù)類型。1. 數(shù)值型(Numeric)數(shù)據(jù)由數(shù)字(09)、小數(shù)點(diǎn)和正負(fù)號組成。2. 浮點(diǎn)型(Float)數(shù)據(jù)是數(shù)值型數(shù)據(jù)的一種,與數(shù)值型數(shù)據(jù)完全等價,只是在存儲形式上采取浮點(diǎn)格式且數(shù)據(jù)的精度要比數(shù)值型數(shù)據(jù)高。3. 貨幣型(Money)數(shù)據(jù)是數(shù)值型數(shù)據(jù)的一種特殊形。4. 雙精度型(Double)數(shù)據(jù)是更高精度的數(shù)值

18、型數(shù)據(jù)。它只用于數(shù)據(jù)表中的字段類型的定義,并采用固定長度浮點(diǎn)格式存儲。5. 整型(Integer)是不包含小數(shù)點(diǎn)部分的數(shù)值型數(shù)據(jù)。4.1.3 日期型 日期型(Date)數(shù)據(jù)是用于表示日期的數(shù)據(jù),長度固定為8個字符。 日期型數(shù)據(jù)包括年、月、日3個部分,每部分間用規(guī)定的分隔符分開。由于各部分的排列順序及分隔符的不同,日期型數(shù)據(jù)的表現(xiàn)形式也很多。日期型數(shù)據(jù)的表現(xiàn)形式由以下幾個Set命令決定: Set Date To Set Century On/Off Set Date Set Strictdate To 4.1.4 日期時間型 日期時間型(Date Time)數(shù)據(jù)是描述日期和時間的數(shù)據(jù),長度固定為

19、8個字符。 日期時間型數(shù)據(jù)除包括日期數(shù)據(jù)的年、月、日外,還包括時、分、秒以及上午、下午等內(nèi)容。 4.1.5 邏輯型 邏輯型(Logic)數(shù)據(jù)是描述客觀事物真假的數(shù)據(jù),用于表示邏輯判斷結(jié)果。邏輯型數(shù)據(jù)只有真和假兩種值,長度固定為1個字符。 4.1.6 備注型 備注型(Memo)數(shù)據(jù)用于存放較長的字符型數(shù)據(jù)類型??梢园阉闯墒亲址蛿?shù)據(jù)的特殊形式。 備注型數(shù)據(jù)沒有數(shù)據(jù)長度限制,僅受限于現(xiàn)有的磁盤空間。它只用于數(shù)據(jù)表中的字段類型的定義,其字段長度固定為4個字符,而實際數(shù)據(jù)被存放在與數(shù)據(jù)表文件同名的備注文件中,長度根據(jù)數(shù)據(jù)的內(nèi)容而定。 4.1.7 通用型 通用型(General)數(shù)據(jù)是用于存儲OLE對

20、象的數(shù)據(jù)。通用型數(shù)據(jù)中的OLE對象可以是電子表格、文檔、圖片等。它只用于數(shù)據(jù)表中的字段類型的定義。 OLE對象的實際內(nèi)容、類型和數(shù)據(jù)量則取決于聯(lián)接或嵌入OLE對象的操作方式。如果采用聯(lián)接OLE對象方式,則數(shù)據(jù)表中只包含對OLE對象的引用說明以及對創(chuàng)建該OLE對象的應(yīng)用程序的引用說明;如果采用嵌入OLE對象方式,則數(shù)據(jù)表中除包含對創(chuàng)建該OLE對象的應(yīng)用程序的引用說明外,還包含OLE對象中的實際數(shù)據(jù)。 第二節(jié) 數(shù)據(jù)存儲4.2.1 常量 常量是一個命名的數(shù)據(jù)項,是在命令或程序中直接引用的實際值,其特征是在所有的操作中其值不變。 常量類型有數(shù)值型、浮點(diǎn)型、字符型、邏輯型、日期型和日期時間型6種。 1

21、數(shù)值型常量 2 浮點(diǎn)型常量 3 字符型常量 4 邏輯型常量 5 日期常量 6 日期時間型常量 4.2.2 內(nèi)存變量 內(nèi)存變量是一般意義下的簡單變量。每一個內(nèi)存變量都必須有一個固定的名稱,以標(biāo)識該內(nèi)存單元的存儲位置。用戶可以通過變量標(biāo)識符使用內(nèi)存單元存取數(shù)據(jù)。內(nèi)存變量是內(nèi)存中的臨時單元,可以用來在程序的執(zhí)行過程中保留中間結(jié)果與最后結(jié)果,或用來保留對數(shù)據(jù)庫進(jìn)行某種分析處理后得到的結(jié)果。4.2.3 數(shù)組變量 數(shù)組是一組有序內(nèi)存變量的集合。或者說,數(shù)組是由同一個名字組織起來的通過下標(biāo)加以區(qū)分的簡單內(nèi)存變量的集合。將所有的數(shù)組元素用一個變量名命名,使其構(gòu)成一個集合體,在數(shù)組中,每一個數(shù)組元素在內(nèi)存中獨(dú)占

22、一個內(nèi)存單元,視同一個簡單內(nèi)存變量。為了區(qū)分不同的數(shù)組元素,每一個數(shù)組元素都是通過數(shù)組名和下標(biāo)來訪問的,如A1,2、B5。 數(shù)組是內(nèi)存變量的一種特殊形式,使用時也要注意其作用域的范圍。4.2.4 字段變量 字段變量是數(shù)據(jù)庫管理系統(tǒng)中的一個重要概念。它與記錄一縱一橫構(gòu)成了數(shù)據(jù)表的基本結(jié)構(gòu)。一個數(shù)據(jù)庫由若干相關(guān)的數(shù)據(jù)表組成,一個數(shù)據(jù)表由若干個具有相同屬性的記錄組成,而每一個記錄又是由若干個字段組成的。字段變量就是指數(shù)據(jù)表中已定義的任意一個字段。 可以這樣理解: 在一個數(shù)據(jù)表中,同一個字段名下有若干個數(shù)據(jù)項,而數(shù)據(jù)項的值取決于該數(shù)據(jù)項所在記錄行的變化,所以稱它為字段變量,也有人把字段變量稱為字段名變

23、量。4.2.5 記錄 記錄是數(shù)據(jù)表中一組數(shù)據(jù)項的集合。 在同一個數(shù)據(jù)表中可以有若干個記錄,每一個記錄具有相同的字段個數(shù)。在數(shù)據(jù)表中記錄的順序不影響對記錄的操作。4.2.6 對象 對象是數(shù)據(jù)存儲器的一種。對象是類的實體,對象也是類的變量,它是任何具有屬性和方法的信息的集合。 對象的建立可以通過設(shè)計器和CreateObject ( ) 函數(shù)實現(xiàn)。4.2.7 內(nèi)存變量的作用域 內(nèi)存變量的作用域是指變量在程序中的作用范圍。 全局型變量 局部型變量 本地型變量 在Visual FoxPro系統(tǒng)中,能否正確使用內(nèi)存變量,弄懂內(nèi)存變量的作用域是重要的一環(huán),一旦內(nèi)存變量的作用域被定義,使用時就要特別注意它的作

24、用范圍。尤其是在進(jìn)行應(yīng)用系統(tǒng)開發(fā)時,各對象間的數(shù)據(jù)傳遞就是依靠內(nèi)存變量來完成的,內(nèi)存變量的作用范圍定義不當(dāng),對象間的數(shù)據(jù)傳遞就將導(dǎo)致失敗。 4.2.8 內(nèi)存變量的操作 1.輸入命令 (1) Store命令 Store To 功能: 計算的值,并將的值賦給內(nèi)存變量表中每一個變量。中可以是一個變量,也可以是多個變量,若是多個變量,各變量間用逗號隔開。 (2) =命令 = 功能: 計算的值,并將的值賦給內(nèi)存變量。4.2.8 內(nèi)存變量的操作 2. 輸出命令 ? /? 功能: 依次計算中表達(dá)式的值,并將諸表達(dá)式表的值在屏幕上輸。 其中: 使用 ? 命令,顯示結(jié)果在下一行輸出;使用 ?命令,顯示結(jié)果在當(dāng)前

25、行輸出;不選擇,使用 ? 命令,輸出一個空行。第三節(jié) 內(nèi)部函數(shù)4.3.1 數(shù)值函數(shù)數(shù)值函數(shù): 數(shù)值函數(shù)的自變量是數(shù)值型常量、數(shù)值型變量、數(shù)值型函數(shù)和算術(shù)表達(dá)式,其函數(shù)值是數(shù)值型常量。4.3.1 數(shù)值函數(shù)函數(shù)功能EXP(X)計算并返回e指數(shù)的值INT(X)計算一個表達(dá)式的值,然后返回他的整數(shù)部分LOG (X)計算并返回指定數(shù)值表達(dá)式的自然對數(shù)值LOG10 (X)計算并返回指定數(shù)值表達(dá)式的常用對數(shù)值MAX (X1,X2,X3)計算一組表達(dá)式,然后返回其中的最大值MIN (X1,X2,X3)計算一組表達(dá)式的值,然后返回其中的最大值MOD(X1,X2)將兩個數(shù)值表達(dá)式相除,然后返回他們的余數(shù)ROUND

26、 (X)返回對數(shù)值表達(dá)式中的小數(shù)部分進(jìn)行四舍五入后的數(shù)值SIGN (X)根據(jù)指定表達(dá)式的值返回正負(fù)號SQRT (X)計算并返回數(shù)值表達(dá)式的平方根常用的數(shù)值函數(shù)格式及功能4.3.2 字符函數(shù) 字符函數(shù): 字符處理函數(shù)的自變量是字符型常量、字符型變量、字符型函數(shù)和字符表達(dá)式,其函數(shù)值是字符型常量。 4.3.2 字符函數(shù)函數(shù)功能ALLTRIM()刪除并返回字符表達(dá)式首尾兩端前導(dǎo)和尾部的空格字符的字符串LEFT (, )從指定字符串的最左邊字符開始,返回指定數(shù)量的字符LEN ()返回指定字符串表達(dá)式中字符的個數(shù)LIKE (, )確定字符表達(dá)式1是否包含字符表達(dá)式2的內(nèi)容LOWER ()把指定的字符表達(dá)

27、式中的字母轉(zhuǎn)變成小寫字母LTRIM ()刪除指定字符表達(dá)式中的前導(dǎo)空白RIGHT (, )從指定字符串的最右邊字符開始,返回指定數(shù)量的字符常用的字符處理函數(shù)格式及功能4.3.2 字符函數(shù)函數(shù)功能RTRIMT()刪除并返回字符表達(dá)式首尾兩端前導(dǎo)和尾部的空格字符的字符串SPACE ()從指定字符串的最左邊字符開始,返回指定數(shù)量的字符SUBSTR (, (,)返回指定字符串表達(dá)式中字符的個數(shù)TRIM ()確定字符表達(dá)式1是否包含字符表達(dá)式2的內(nèi)容UPPER ()把指定的字符表達(dá)式中的字母轉(zhuǎn)變成小寫字母常用的字符處理函數(shù)格式及功能4.3.3 轉(zhuǎn)換函數(shù) 轉(zhuǎn)換函數(shù): 數(shù)據(jù)轉(zhuǎn)換函數(shù)是在不同的數(shù)據(jù)類型間進(jìn)行數(shù)

28、據(jù)類型轉(zhuǎn)換。 4.3.3 轉(zhuǎn)換函數(shù)函數(shù)功能CTOD()將字符表達(dá)式轉(zhuǎn)換成日期常量DTOC()從日期表達(dá)式轉(zhuǎn)換成字符串 STR( , , ) 將指定的數(shù)值表達(dá)式1, 按數(shù)值表達(dá)式2指定的長度以及數(shù)值表達(dá)式3指定的小數(shù)據(jù)位數(shù), 轉(zhuǎn)換成相應(yīng)的數(shù)字字符串 TTOC()將日期時間表達(dá)式轉(zhuǎn)換為指定的字符串TTOD()將日期時間表達(dá)式轉(zhuǎn)換成一個日期常量VAL()將字符表達(dá)式轉(zhuǎn)換成一個數(shù)值常量 常用的轉(zhuǎn)換函數(shù)函數(shù)格式及功能4.3.4 日期時間函數(shù) 日期時間函數(shù): 日期時間函數(shù)是用來返回系統(tǒng)時間以及進(jìn)行時間運(yùn)算的函數(shù)。 4.3.4 日期時間函數(shù)函數(shù)功能DATE()返回當(dāng)前系統(tǒng)日期DATETIME()返回當(dāng)前的日

29、期和時間DOW()從日期時間表達(dá)式中返回表示星期幾的數(shù)值常量MINUTE ()返回日期時間表達(dá)式中的分鐘值MONTH ()返回日期時間表達(dá)式中的月份值SEC ()返回日期時間表達(dá)式中的秒數(shù)TIME()返回當(dāng)前系統(tǒng)時間WEEK ()從日期時間表達(dá)式返回表示一年中第幾個星期YEAR ()從指定的日期時間表達(dá)式中返回年份常用的日期和時間函數(shù)格式及功能4.3.5 測試函數(shù) 測試函數(shù)是用來返回某種測試結(jié)果的函數(shù),其結(jié)果一般是邏輯值。 4.3.5 測試函數(shù)函數(shù)功能BOF()測試記錄指針是否在文件的開始處DELETED ()測試當(dāng)前記錄是否加刪除標(biāo)記EOF ()測試記錄指針是否在文件尾部ISNULL ()測

30、試一個表達(dá)式的值是否為空PRIMARY ()測試并返回指定的索引標(biāo)記是否為主索引標(biāo)記RECNO ()測試當(dāng)前記錄指針號TYPE ()測試字符表達(dá)式的數(shù)據(jù)類型常用的測試函數(shù)格式及功能第四節(jié) 表達(dá)式4.4.1 算術(shù)表達(dá)式 算術(shù)表達(dá)式可由算術(shù)運(yùn)算符和數(shù)值型常量、數(shù)值型內(nèi)存變量、數(shù)值型數(shù)組、數(shù)值類型的字段、返回數(shù)值型數(shù)據(jù)的函數(shù)組成。算術(shù)表達(dá)式的運(yùn)算結(jié)果是數(shù)值型常數(shù)。4.4.1 算術(shù)表達(dá)式算術(shù)運(yùn)算符及表達(dá)式的實例一覽表運(yùn)算符功能表達(dá)式表達(dá)式值*,冪2*8256*,/乘、除36*4/916%模運(yùn)算(取余)96%120+ / -加、減3+8-654.4.2 字符表達(dá)式 字符表達(dá)式由字符運(yùn)算符和字符型常量、字

31、符型內(nèi)存變量、字符型數(shù)組、字符型類型的字段和返回字符型數(shù)據(jù)的函數(shù)組成。 字符表達(dá)式運(yùn)算的結(jié)果是字符常數(shù)或邏輯型常數(shù)。 4.4.3 日期時間表達(dá)式 日期時間表達(dá)式由日期運(yùn)算符和日期時間型常量、日期時間型內(nèi)存變量和數(shù)組、返回日期時間型數(shù)據(jù)的函數(shù)組成。日期時間表達(dá)式運(yùn)算的結(jié)果是日期時間型常數(shù)。4.4.2 日期時間表達(dá)式日期時間運(yùn)算符及表達(dá)式實例一覽表運(yùn)算符功能表達(dá)式表達(dá)式值+相加 1998/10/10+51998/10/10 9:15:20+200 10/15/9810/10/98 9:18:40-相減 1998/10/15-1998/10/101998/10/10 9:18:40-1998/10/

32、10 9:15:20 52004.4.4 關(guān)系表達(dá)式 關(guān)系表達(dá)式可由關(guān)系運(yùn)算符和字符表達(dá)式、算術(shù)表達(dá)式、時間日期表達(dá)式組成。其運(yùn)算結(jié)果為邏輯型常量。關(guān)系運(yùn)算是運(yùn)算符兩邊同類型元素的比較。關(guān)系成立,結(jié)果為.T.;反之,結(jié)果為.F.。4.4.4 關(guān)系表達(dá)式運(yùn)算符功能表達(dá)式表達(dá)式值小于3*5大于T31.T.=等于3*6.F.#,! ,不等于4-5.T. =小于或等于3*2 =大于或等于6+8 =15.F.關(guān)系運(yùn)算符及其表達(dá)式實例一覽表4.4.5 邏輯表達(dá)式 邏輯表達(dá)式可由邏輯運(yùn)算符和邏輯型常量、邏輯型內(nèi)存變量、邏輯型數(shù)組、返回邏輯型數(shù)據(jù)的函數(shù)和關(guān)系表達(dá)式組成。其運(yùn)算結(jié)果仍是邏輯型常量。4.4.5 邏

33、輯表達(dá)式運(yùn)算符功能表達(dá)式表達(dá)式值.NOT.邏輯非.NOT.3+56.F.AND.邏輯與3+56 .AND. 4*5=20.T.OR.邏輯或6*8=45 .OR. 46.T.邏輯運(yùn)算符及其表達(dá)式實例一覽表4.4.6 名表達(dá)式 在Visual FoxPro系統(tǒng)中,允許用戶給命令和函數(shù)定義一個名字。將這一名字存入到內(nèi)存變量和數(shù)組元素中,就可以在引用命令和函數(shù)時用內(nèi)存變量和數(shù)組元素來代替,給程序開發(fā)帶來很多便利。存于內(nèi)存變量和數(shù)組元素中的命令和函數(shù)名,用戶可以通過間接引用或宏替換兩種操作方法完成。 本章結(jié)束Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第五章 項目管理器本章要點(diǎn)2.創(chuàng)建項目1.Visual

34、FoxPro 項目管理器3.定制項目管理器第一節(jié) Visual Basic 項目管理器5.1.1 項目管理器功能 項目管理器是采用目錄“樹”結(jié)構(gòu),對數(shù)據(jù)庫應(yīng)用系統(tǒng)的文件進(jìn)行有效組織的工具。使用項目管理器可以用最簡單、可視化的方法對數(shù)據(jù)表和數(shù)據(jù)庫進(jìn)行管理,在進(jìn)行應(yīng)用程序開發(fā)時,可以有效地組織數(shù)據(jù)表、表單、數(shù)據(jù)庫、菜單、類、程序和其他文件,并可以將它們編譯成可獨(dú)立運(yùn)行的.app或.exe文件。 1.以“樹”型結(jié)構(gòu)管理文件 2.良好的操作界面 3.支持項目建立“數(shù)據(jù)字典” 5.1.2 項目管理器使用項目管理器有多個選項卡及其對應(yīng)的多個命令按鈕?!皵?shù)據(jù)”選項卡可以組織和管理所據(jù)庫、數(shù)據(jù)表和查詢文件?!?/p>

35、文檔”選項卡可以組織和管理利用數(shù)據(jù)進(jìn)行操作的文件,如表單、報表、標(biāo)簽等?!邦悺边x項卡可以組織和管理類和類庫文件?!按a”選項卡可以組織和管理程序代碼文件?!捌渌边x項卡可以組織和管理其他類型的文件。另外還可以使用“項目”菜單對文件進(jìn)行各種操作。第二節(jié) 創(chuàng)建項目在Visual FoxPro系統(tǒng)主菜單中選擇“文件”新建”命令,進(jìn)入“新建”窗口在“新建”窗口,單擊“項目”按鈕,再單擊“新建文件”按鈕,進(jìn)入“創(chuàng)建”窗口 在“創(chuàng)建”窗口,輸入項目文件名,單擊“保存”按鈕,進(jìn)入“項目管理器”窗口 此時一個空的項目文件已建立完成。在“項目管理器”窗口,單擊 按鈕,結(jié)束操作。 5.2 創(chuàng)建項目第三節(jié) 定制項目

36、管理器5.3 定制項目管理器 在“項目管理器”窗口,可以移動“項目管理器”的位置,改變“項目管理器”的大小,還可以改變“項目管理器”的顯示方式。 確定“項目管理器”窗口的位置和大小的操作,拖動鼠標(biāo)就可以完成。 5.3 定制項目管理器“項目管理器”窗口被壓縮 5.3 定制項目管理器 如果選擇了“數(shù)據(jù)”和“文檔”選項卡,這兩個選項卡將會從被壓縮的“項目管理器”窗口中分離出來本章結(jié)束Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第六章 表操作本章要點(diǎn)2.創(chuàng)建表1.設(shè)計表3.表的打開與關(guān)閉4.修改表結(jié)構(gòu)6.表中記錄的定位5.表中數(shù)據(jù)的輸入7.編輯表中的數(shù)據(jù)8.刪除表中的數(shù)據(jù)9.控制字段和記錄的訪問第一節(jié) 設(shè)

37、計表6.1.1 設(shè)計一張二維表 1.定義二維表名設(shè)計一張二維表,首先要給表定義一個名字。 2.設(shè)計二維表的欄目 先要確定表中有幾個欄目,然后根據(jù)每一個欄目所含內(nèi)容的不同,設(shè)計欄目標(biāo)題和屬性。由此決定每一列存放數(shù)據(jù)的內(nèi)容和屬性。欄目一旦被設(shè)定,表的總體框架也就設(shè)計完成,就可以依照數(shù)據(jù)的屬性將數(shù)據(jù)填入表中了。 3.填寫二維表的內(nèi)容6.1.2 設(shè)計一個數(shù)據(jù)表 在Visual FoxPro系統(tǒng)中,一個二維表對應(yīng)一個數(shù)據(jù)表,稱為表文件(Table)。設(shè)計一個數(shù)據(jù)表與設(shè)計一個二維表的操作步驟是十分相似的,一個二維表由表名、表頭、表的內(nèi)容三部分組成,一個數(shù)據(jù)表則由數(shù)據(jù)表名、數(shù)據(jù)表的結(jié)構(gòu)、數(shù)據(jù)表的記錄三要素構(gòu)

38、成。 (1) 數(shù)據(jù)表的文件名相當(dāng)于二維表中的表名,它是數(shù)據(jù)表的主要標(biāo)識。 (2) 數(shù)據(jù)表的結(jié)構(gòu)相當(dāng)于二維表的表頭,二維表的每一列對應(yīng)了數(shù)據(jù)表中的一個字段。第二節(jié) 創(chuàng)建表6.2.1 利用表設(shè)計器創(chuàng)建表在Visual FoxPro系統(tǒng)主菜單中選擇“文件”新建”命令,進(jìn)入“新建”窗口在“新建”窗口中選擇單選按鈕“表”,再單擊“新建文件”按鈕,進(jìn)入“創(chuàng)建”窗口在“創(chuàng)建”窗口,輸入要建立標(biāo)的名字“業(yè)主”,然后單擊“保存”按鈕,進(jìn)入“表設(shè)計器”窗口在“表設(shè)計器”窗口,根據(jù)需要注意定義表中所有字段的名字、類型、寬度和是否建立索引當(dāng)表中所有字段的屬性定義完畢,單擊“確定”按鈕,進(jìn)入“Microsoft Vis

39、ual FoxPro”系統(tǒng)提示窗口在“Microsoft Visual FoxPro”系統(tǒng)提示窗口,如果單擊“是”按鈕,可以以立即方式向表輸入數(shù)據(jù);如果單擊“否”按鈕,將結(jié)束表結(jié)構(gòu)的建立6.2.2 利用表向?qū)?chuàng)建表在Visual FoxPro系統(tǒng)主菜單中選擇“文件”新建”命令,進(jìn)入“新建”窗口在“新建”窗口中選擇單選按鈕“表”,再單擊“向?qū)А卑粹o,進(jìn)入“表向?qū)А钡牟襟E一窗口在“表向?qū)А钡牟襟E一窗口,在“樣表”列表框中選擇可作為“樣本”的表;如果沒有可作為樣本的表,可單擊“加入”按鈕,探出“打開”窗口在這一窗口,輸入可作為“樣本”表名“業(yè)主”,單擊“確定”按鈕,將其添加到“樣本”框中,選中它作為

40、“樣本”在“樣表”對話框中,選擇作為“樣表”的表“業(yè)主”,這時在“可用字段”列表框中將顯示出該表中的全部字段名,用戶便可選擇所需的字段如果想建立所需的索引文件,先要選擇索引文件的索引字段; “保存表以備將來使用”:只保存表;“保存表,然后瀏覽該表”:保存表,并進(jìn)入表瀏覽窗口;“保存表,然后在表設(shè)計器中修改該表”:保存表,并進(jìn)入表設(shè)計器窗口。第三節(jié) 表的打開與關(guān)閉6.3 表的打開與關(guān)閉 表一旦創(chuàng)建,便可對其進(jìn)行操作,對表的操作可分為表結(jié)構(gòu)的操作和表中記錄的操作。但是,無論對表做哪一種操作,首先要把表在當(dāng)前工作區(qū)中“打開”,即把該表“裝入”計算機(jī)內(nèi)存,同時將其定義成當(dāng)前工作區(qū)的當(dāng)前表。 若完成對表

41、的操作,就要把表“關(guān)閉”,即把該表從計算機(jī)內(nèi)存中“卸掉”。第四節(jié) 修改表結(jié)構(gòu)6.4 修改表結(jié)構(gòu)在Visual FoxPro系統(tǒng)主菜單中選擇“文件”打開”命令,進(jìn)入“打開”窗口在“打開”窗口中輸入要修改結(jié)構(gòu)的表名“員工”,單擊“確定”按鈕返回Visual FoxPro系統(tǒng)主菜單在Visual FoxPro系統(tǒng)主菜單中選擇“顯示”“表設(shè)計器”命令,進(jìn)入“表設(shè)計器”窗口在“表設(shè)計器”窗口,要插入新字段,先把光標(biāo)移到要插入新字段的位置,然后單擊“插入”按鈕。此時,在光標(biāo)所在處增加一個新字段,可以對新字段進(jìn)行屬性定義。根據(jù)需求定義新字段的屬性表結(jié)構(gòu)修改好以后,演技“確定”按鈕,進(jìn)入Microsoft V

42、isual FoxPro”系統(tǒng)提示窗口在“Microsoft Visual FoxPro”系統(tǒng)提示窗口,單擊“是”按鈕,以確認(rèn)修改后的表結(jié)構(gòu)第五節(jié) 表中數(shù)據(jù)的輸入6.5.1 立即方式輸入數(shù)據(jù) 在創(chuàng)建表時,如果表中所有字段的屬性已定義完成,可單擊“確定”按鈕保存表結(jié)構(gòu),同時打開“Microsoft Visual FoxPro”系統(tǒng)提示窗口,顯示“現(xiàn)在輸入數(shù)據(jù)嗎?”對話框。單擊“是”按鈕,可以立即進(jìn)入表“瀏覽器”窗口,在該窗口便可完成表中數(shù)據(jù)的輸入。 6.5.2 追加方式輸入數(shù)據(jù) 在創(chuàng)建表結(jié)構(gòu)時,如果沒有選擇立即方式向表輸入數(shù)據(jù),也可在后來工作中打開表“瀏覽器”窗口,用追加數(shù)據(jù)方式向表輸入數(shù)據(jù)。

43、(1) Append命令 Append Blank (2) Insert命令 Insert Before Blank (3) Browse命令。 BrowseFields For (4)List命令。 List / DisplayFields 6.5.3 備注型數(shù)據(jù)的輸入 因為備注型字段的長度不定,所以備注型字段數(shù)據(jù)不能同其他類型的字段一樣在表“瀏覽器”窗口直接輸入。6.5.4通用型數(shù)據(jù)的輸入 通用型字段數(shù)據(jù)多數(shù)用于存儲OLE對象,如圖像、聲音、電子表格和字處理文檔等,因為其長度的不確定性,通用型字段數(shù)據(jù)也不能和常規(guī)類型的字段一樣在表“編輯”窗口或表“瀏覽”窗口中輸入。第六節(jié) 表中記錄的定位6

44、.6.1 絕對定位命令絕對定位命令是將記錄指針移到指定的位置。絕對定位命令有如下幾個命令 :(1) Go Top命令。 Go Top (2) Go Bottom命令。 Go Bottom (3) Go命令。 Go 6.6.2 相對定位命令相對定位命令是將記錄指針相對當(dāng)前記錄移動。Skip是相對定位命令: Skip 6.6.3 條件定位命令 條件定位命令是根據(jù)命令給定的條件,將滿足條件的記錄指定為當(dāng)前記錄。 Locate和Continue命令可實現(xiàn)條件定位的操作。 (1)Locate命令格式如下: Locate For (2)Continue命令格式如下: Continue 6.6.4 菜單定位

45、 記錄定位不僅可以通過定位命令進(jìn)行,還可以通過菜單實現(xiàn)絕對、相對和條件定位。第七節(jié) 編輯表中數(shù)據(jù)6.7.1 修改數(shù)據(jù)操作命令1.Edit/Chang命令Edit/Chang Fields For 2.Replace命令Replace With With With For 6.7.2 “瀏覽”方式輸入數(shù)據(jù) 在表“瀏覽器”窗口,可以采用“瀏覽”方式,顯示和修改表中的數(shù)據(jù);并可以使用鼠標(biāo)調(diào)整“瀏覽器”窗口的大小、調(diào)整每個字段的顯示順序和顯示寬度;還可以把“瀏覽器”窗口改變成有“瀏覽”和“編輯”兩種方式顯示的窗口。第八節(jié) 刪除表中數(shù)據(jù)6.8.1 邏輯刪除命令 (1)使用Delete命令: Delete

46、 For (2)在“瀏覽器”窗口,把鼠標(biāo)移到要進(jìn)行邏輯刪除的記錄上,對準(zhǔn)其刪除標(biāo)記欄單擊左鍵,這時要進(jìn)行邏輯刪除的記錄就被加上了刪除標(biāo)記。 (3)在“瀏覽器”窗口中選擇“表”“刪除記錄”命令,打開“刪除”窗口,在“刪除”窗口,可以通過選擇“作用范圍”確定要進(jìn)行邏輯刪除的部分記錄。6.8.2 恢復(fù)刪除命令 (1)使用Recall命令: Recall For (2)在表“瀏覽”窗口,把鼠標(biāo)移到要進(jìn)行恢復(fù)的記錄上,對準(zhǔn)其刪除標(biāo)記欄,單擊左鍵除去刪除標(biāo)記。 (3)在“瀏覽器”窗口中選擇“表”“恢復(fù)記錄”命令,打開“恢復(fù)記錄”窗口,在“恢復(fù)記錄”窗口,可以通過選擇作用范圍確定要進(jìn)行恢復(fù)的部分記錄,或在“

47、For”文本框中設(shè)置條件表達(dá)式來確定恢復(fù)的記錄。6.8.3 物理刪除命令 物理刪除就是把無效的記錄徹底從磁盤中刪除掉。 (1)使用Pack命令: Pack (2)在“瀏覽器”窗口,若已對若干記錄做了邏輯刪除,則選擇“表”“徹底刪除”命令,打開“Microsoft Visual FoxPro”系統(tǒng)提示窗口,在“Microsoft Visual FoxPro”系統(tǒng)提示窗口,單擊“是”按鈕,數(shù)據(jù)表中所有帶有刪除標(biāo)記的記錄將被徹底刪除。 (3)使用Zap命令物理刪除表中的所有記錄。 Zap 第九節(jié) 控制字段和記錄的訪問6.9.1 限制對字段的訪問 限制字段的訪問可以通過設(shè)置“字段選擇器”來完成。操作方

48、法是: 打開要使用的表,在“工作區(qū)屬性”窗口中利用“字段選擇器”篩選出有用的字段,或在對記錄操作的命令中選擇“Fields ”短語。 6.9.2 限制對記錄的訪問 限制記錄的訪問方法是: 在“工作區(qū)屬性”窗口中選擇“數(shù)據(jù)過濾器”文本框,輸入記錄的篩選條件或單擊文本框后面的按鈕,進(jìn)入“表達(dá)式生成器”窗口,在這一窗口輸入記錄的篩選條件,再確認(rèn)限制訪問的記錄即可結(jié)束操作。也可在對記錄操作的命令中選擇“For ”短語限制訪問的記錄。 本章結(jié)束Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第七章 數(shù)據(jù)庫本章要點(diǎn)2.索引1.創(chuàng)建數(shù)據(jù)庫3.建立數(shù)據(jù)庫表間關(guān)聯(lián)4.數(shù)據(jù)庫表的特殊操作第一節(jié) 創(chuàng)建數(shù)據(jù)庫7.1.1 建立

49、數(shù)據(jù)庫 1.使用“數(shù)據(jù)庫設(shè)計器”創(chuàng)建數(shù)據(jù)庫 (1) 在主菜單中選擇“文件”“新建”命令; (2) 在“數(shù)據(jù)庫設(shè)計器”窗口中選擇“數(shù)據(jù)庫”命令。 2.使用Create命令創(chuàng)建數(shù)據(jù)庫 Create DataBase 3.使用“項目管理器”創(chuàng)建數(shù)據(jù)庫7.1.2 打開數(shù)據(jù)庫1.菜單方式(1) 在主菜單中選擇“文件”“打開”命令。(2) 在“打開”窗口的“文件類型”下拉列表框中選擇“數(shù)據(jù)庫”,然后輸入要打開的數(shù)據(jù)庫名,再單擊“確定”按鈕,進(jìn)入“數(shù)據(jù)庫設(shè)計器”窗口。2.使用Open命令或Modify命令Open DataBase Shared Modify DataBase 3 使用“項目管理器”7.1.

50、3 向數(shù)據(jù)庫添加表 1.菜單方式 打開要添加表的數(shù)據(jù)庫,再通過“添加表”菜單或單擊“添加”按鈕的多次操作,就可以把多個表添加到數(shù)據(jù)庫中。 2.使用Add命令 Add Table 第二節(jié) 索引7.2.1 什么是索引 一般情況下,表中記錄的順序是由數(shù)據(jù)輸入的前后順序決定的,并用記錄號予以標(biāo)識。除非有記錄插入或者有記錄刪除,否則表中的記錄順序總是不變的。 索引實際上是一種排序,但是它不改變表中數(shù)據(jù)的物理順序,而是另外建立一個記錄號列表。它與圖書的索引目錄相同,圖書中的索引指明了章、節(jié)、目的頁碼,而表的索引指明由某一字段值的大小決定的記錄排列的順序。 7.2.2 索引類型 1.主索引:索引表達(dá)式的值是

51、惟一能夠標(biāo)識每個記錄處理順序的,即每個記錄的索引表達(dá)式的值是惟一的,一個表中只能有一個主索引。 2.候選索引:它的索引表達(dá)式的值也是能夠惟一標(biāo)識每個記錄處理順序的值,即索引表達(dá)式無重復(fù)值。 3.普通索引:把由索引表達(dá)式為每個記錄產(chǎn)生的值存入索引文件中。 4.惟一索引:把由索引表達(dá)式為每個記錄產(chǎn)生的惟一值存入索引文件中,如果表中記錄的索引表達(dá)式值相同,則只存儲第一個索引表達(dá)式值。7.2.3 創(chuàng)建索引打開數(shù)據(jù)庫打開表顯示表設(shè)計器索引確定7.2.4 使用索引打開表表設(shè)計器顯示瀏覽表屬性工作區(qū)屬性索引順序7.2.5 索引查詢命令 索引查詢命令實際上是記錄定位命令。其工作過程是: 在執(zhí)行查詢命令前要建立

52、或打開與查詢內(nèi)容相關(guān)的索引文件,然后,先訪問索引文件,再根據(jù)索引關(guān)鍵字的指針訪問表文件中的記錄,確定當(dāng)前記錄,實現(xiàn)記錄的定位。 1.Seek命令: Seek 2.Find命令: Find 字符串/數(shù)值常量第三節(jié) 建立數(shù)據(jù)庫表間關(guān)聯(lián)7.3.1 一對一關(guān)系 建立兩個表之間的“一對一”關(guān)系,首先要使兩個表都具有相同屬性的字段;然后定義父表中該字段為主索引或候選索引字段(其字段值是惟一的),子表中與其同名的字段為候選索引或主索引(其字段值是惟一的)。由于兩個表中的相同屬性的字段值具有一對一的對應(yīng)關(guān)系,因此兩個表之間便可以建立“一對一”的關(guān)系。 7.3.1 一對一關(guān)系7.3.2 一對多關(guān)系 建立兩個表之

53、間的“一對多”關(guān)系,首先要使兩個表都具有相同屬性的字段;然后定義父表中該字段為主索引或候選索引字段(字段值是惟一的),子表中與其同名的字段定義為普通索引字段或惟一索引字段(其字段值是重復(fù)的)。由于兩個表中的相同屬性的字段值具有一對多的對應(yīng)關(guān)系,因此兩個表之間便可以建立“一對多”的關(guān)系。 7.3.2 一對多關(guān)系7.3.3 多對一關(guān)系 建立兩個表之間的“多對一”關(guān)系,首先要使兩個表都具有相同屬性的字段;然后定義父表中該字段為普通索引字段或惟一索引字段(其字段值是重復(fù)的),子表中與其同名的字段定義為主索引或候選索引字段(字段值是惟一的)。由于兩個表中的相同屬性的字段值具有多對一的對應(yīng)關(guān)系,因此兩個表

54、之間便可以建立“多對一”的關(guān)系。 7.3.3 多對一關(guān)系第四節(jié) 數(shù)據(jù)庫表的特殊操作 為了在瀏覽表中數(shù)據(jù)時能更清晰、方便,可以自定義字段標(biāo)題。 如果用戶不設(shè)置字段標(biāo)題,則該表的標(biāo)題顯示的是字段名。 7.4.1 設(shè)置字段顯示標(biāo)題7.4.1 設(shè)置字段顯示標(biāo)題7.4.2 設(shè)置字段注釋信息 為了提高數(shù)據(jù)表的使用效率及其共享性,可以在建立數(shù)據(jù)表結(jié)構(gòu)時,對字段加以注釋,提醒、注明相關(guān)信息。這樣能夠清楚地掌握字段的屬性、意義及特殊用途等,便于設(shè)計或其他用戶使用。 7.4.2 設(shè)置字段注釋信息7.4.3 設(shè)置字段默認(rèn)值 為了提高表中數(shù)據(jù)輸入的速度和準(zhǔn)確性,可以在向表輸入數(shù)據(jù)前定義某一字段數(shù)據(jù)的默認(rèn)值。 7.4.

55、3 設(shè)置字段默認(rèn)值7.4.4 設(shè)置字段有效規(guī)則 為了提高表中數(shù)據(jù)輸入的速度和準(zhǔn)確性,除了定義字段的默認(rèn)值外,還可以定義字段的有效規(guī)則。 7.4.4 設(shè)置字段有效規(guī)則7.4.5 設(shè)置表注釋信息 當(dāng)一個表有了注釋信息,在“項目管理器”中若選中該表,項目管理器的底部將顯示表注釋文本。 7.4.5 設(shè)置表注釋信息7.4.6 設(shè)置表觸發(fā)器 若想對數(shù)據(jù)維護(hù)的合法性進(jìn)行控制,就要通過數(shù)據(jù)庫級的記錄觸發(fā)器控制。觸發(fā)器是在某些事件發(fā)生時觸發(fā)一個表達(dá)式或一個過程,以此來控制記錄的插入、刪除和更新操作。 7.4.6 設(shè)置表觸發(fā)器7.4.6 設(shè)置表觸發(fā)器打開數(shù)據(jù)庫打開表數(shù)據(jù)庫修改表設(shè)計器刪除觸發(fā)器瀏覽器7.4.7 設(shè)

56、置參照完整性 在數(shù)據(jù)庫中的表建立關(guān)聯(lián)關(guān)系后,可以設(shè)置管理關(guān)聯(lián)記錄的規(guī)則。這些規(guī)則可以控制相關(guān)表中記錄的插入、刪除或修改。 7.4.7 設(shè)置參照完整性本章結(jié)束Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第八章 視圖與查詢本章要點(diǎn)2.使用視圖更新數(shù)據(jù)1.創(chuàng)建視圖3.定制視圖4.創(chuàng)建查詢5.使用查詢第一節(jié) 創(chuàng)建視圖8.1.1 用視圖設(shè)計器創(chuàng)建視圖8.1.1 用視圖設(shè)計器創(chuàng)建視圖打開數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計器文件新建視圖新建文件添加表或視圖添加可用字段分組依據(jù)另存為確定打開視圖打開數(shù)據(jù)庫新建本地視圖數(shù)據(jù)庫新建本地視圖視圖向?qū)Р襟E1步驟5瀏覽視圖另存為8.1.2 用視圖向?qū)?chuàng)建視圖第二節(jié) 使用視圖更新數(shù)據(jù)8.2 使

57、用視圖更新數(shù)據(jù)打開數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計器數(shù)據(jù)庫修改視圖設(shè)計器更新條件另存為打開視圖8.2 使用視圖更新數(shù)據(jù)第三節(jié) 定制視圖8.3.1 設(shè)置視圖設(shè)計器選項卡 “視圖設(shè)計器”窗口與“表設(shè)計器”窗口相比要復(fù)雜得多,它有7個選項卡。每個選項卡的功能如下: 1.字段選項卡 2.聯(lián)接選項卡 3.篩選選項卡 4.排序依據(jù)選項卡 5.分組依據(jù)選項卡 6.更新條件選項卡 7.雜項選項卡8.3.1 設(shè)置視圖設(shè)計器選項卡1.字段選項卡 8.3.1 設(shè)置視圖設(shè)計器選項卡2.聯(lián)接選項卡 8.3.1 設(shè)置視圖設(shè)計器選項卡3.篩選選項卡8.3.1 設(shè)置視圖設(shè)計器選項卡4.排序依據(jù)選項卡8.3.1 設(shè)置視圖設(shè)計器選項卡5.分組依

58、據(jù)選項卡8.3.1 設(shè)置視圖設(shè)計器選項卡6.更新條件選項卡8.3.1 設(shè)置視圖設(shè)計器選項卡7.雜項選項卡第四節(jié) 創(chuàng)建查詢8.4.1 用查詢設(shè)計器創(chuàng)建查詢8.4.1 用查詢設(shè)計器創(chuàng)建查詢打開數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計器文件新建查詢新建文件添加表或視圖添加可用字段分組依據(jù)另存為確定打開查詢打開數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計器文件新建查詢向?qū)нx取查詢向?qū)Т_定步驟1步驟5保存打開查詢8.4.2 用查詢向?qū)?chuàng)建查詢第五節(jié) 使用查詢8.5 使用查詢8.5 使用查詢文件打開確定查詢設(shè)計器查詢查詢?nèi)ハ虮砀袷讲樵冞\(yùn)行查詢另存為本章結(jié)束Visual FoxPro數(shù)據(jù)庫應(yīng)用技術(shù)第九章 報表本章要點(diǎn)2.報表布局1.創(chuàng)建報表3.定制報表4.修

59、改報表第一節(jié) 創(chuàng)建報表9.1.1 用報表向?qū)?chuàng)建單表報表文件新建向?qū)驅(qū)нx取報表向?qū)Т_定報表向?qū)?.1.2 用報表向?qū)?chuàng)建分組/總計報表文件新建報表向?qū)驅(qū)нx取報表向?qū)?.1.3 用報表向?qū)?chuàng)建一對多報表打開數(shù)據(jù)庫新建報表向?qū)驅(qū)нx取一對多報表9.1.4 用報表設(shè)計器創(chuàng)建報表操作步驟如下:(1)打開報表設(shè)計器。(2)利用數(shù)據(jù)環(huán)境,確定數(shù)據(jù)來源(表、視圖或查詢)。(3)在報表設(shè)計器中設(shè)計報表布局、頁面大小及數(shù)據(jù)排列順序等。(4)預(yù)覽報表或打印報表。9.1.4 用報表設(shè)計器創(chuàng)建報表使用Create命令打開報表設(shè)計器。命令格式:Create Report 命令功能:打開報表設(shè)計器。第二節(jié) 報表布局9

60、.2 報表布局 1.列報表:列報表就是表中每條記錄的各個字段,在頁面上按水平方向分布。9.2 報表布局 2.行報表 行報表就是表中每條記錄的各個字段,在頁面上按垂直方向分布 。9.2 報表布局 3.多欄報表 多欄報表就是表中每條記錄的各個字段,在同一個頁面上分多欄且按垂直方向分布 。9.2 報表布局 4.一對多報表 一對多報表就是父表中一條記錄對應(yīng)子表中多條記錄 。第三節(jié) 定制報表9.3.1 設(shè)置報表頁面 “報表設(shè)計器”窗口一旦打開,在“文件”菜單下,有一個“頁面設(shè)置”選項,可以打開“頁面設(shè)置”窗口,設(shè)置報表頁面的大小,也可以設(shè)置報表布局。9.3.1 設(shè)置報表頁面9.3.2 設(shè)置報表中數(shù)據(jù)顯示

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論