第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)_1_第1頁(yè)
第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)_1_第2頁(yè)
第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)_1_第3頁(yè)
第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)_1_第4頁(yè)
第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)_1_第5頁(yè)
已閱讀5頁(yè),還剩185頁(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、數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)浙江財(cái)經(jīng)學(xué)院重點(diǎn):表達(dá)式、常用函數(shù)重點(diǎn):表達(dá)式、常用函數(shù)23了解數(shù)據(jù)庫(kù)系統(tǒng)的基本概念了解數(shù)據(jù)庫(kù)系統(tǒng)的基本概念熟悉熟悉Visual FoxProVisual FoxPro開發(fā)環(huán)境開發(fā)環(huán)境掌握掌握Visual FoxProVisual FoxPro數(shù)據(jù)類型、數(shù)據(jù)類型、常量、變量、表達(dá)式以及函數(shù)常量、變量、表達(dá)式以及函數(shù)返回41.1 1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述1.2 1.2 關(guān)系模型關(guān)系模型1.3 1.3 Visual FoxProVisual FoxPro概述概述1.4 1.4 Visual FoxProVisual FoxPro語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)1.5 1.5 本章小結(jié)本章

2、小結(jié)5數(shù)據(jù)庫(kù)是一門研究數(shù)據(jù)管理的技術(shù)數(shù)據(jù)庫(kù)是一門研究數(shù)據(jù)管理的技術(shù)數(shù)據(jù)處理包括對(duì)數(shù)據(jù)的收集、存儲(chǔ)、加工、數(shù)據(jù)處理包括對(duì)數(shù)據(jù)的收集、存儲(chǔ)、加工、分類、排序、檢索、傳播等一系列工作。分類、排序、檢索、傳播等一系列工作。處理數(shù)據(jù)的目的是為了管理好數(shù)據(jù),使之處理數(shù)據(jù)的目的是為了管理好數(shù)據(jù),使之成為對(duì)決策有用的信息。成為對(duì)決策有用的信息。 61.1.1 1.1.1 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展1.1.2 1.1.2 數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)1.1.3 1.1.3 概念數(shù)據(jù)模型概念數(shù)據(jù)模型1.1.4 1.1.4 邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型 7人工管理階段人工管理階段數(shù)據(jù)不具有獨(dú)立性。數(shù)據(jù)不具有獨(dú)立性。數(shù)

3、據(jù)不能長(zhǎng)期保存。數(shù)據(jù)不能長(zhǎng)期保存。沒(méi)有專門的數(shù)據(jù)管理軟件。沒(méi)有專門的數(shù)據(jù)管理軟件。8文件系統(tǒng)階段文件系統(tǒng)階段程序和數(shù)據(jù)分開存儲(chǔ)。程序和數(shù)據(jù)分開存儲(chǔ)。專門的軟件(文件系統(tǒng))進(jìn)行管理。專門的軟件(文件系統(tǒng))進(jìn)行管理。數(shù)據(jù)沒(méi)有完全獨(dú)立、冗余度大、一致性差。數(shù)據(jù)沒(méi)有完全獨(dú)立、冗余度大、一致性差。 9數(shù)據(jù)庫(kù)管理階段數(shù)據(jù)庫(kù)管理階段實(shí)現(xiàn)數(shù)據(jù)共享。實(shí)現(xiàn)數(shù)據(jù)共享。減少了數(shù)據(jù)的冗余度。減少了數(shù)據(jù)的冗余度。數(shù)據(jù)和程序數(shù)據(jù)和程序有統(tǒng)一的數(shù)據(jù)控制功能,較高的數(shù)據(jù)安全性、有統(tǒng)一的數(shù)據(jù)控制功能,較高的數(shù)據(jù)安全性、完整性,實(shí)現(xiàn)并發(fā)控制。完整性,實(shí)現(xiàn)并發(fā)控制。提供多種數(shù)據(jù)操作。提供多種數(shù)據(jù)操作。 返回10數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)是

4、一個(gè)存儲(chǔ)介質(zhì)、處理對(duì)象和管理系是一個(gè)存儲(chǔ)介質(zhì)、處理對(duì)象和管理系統(tǒng)的集合統(tǒng)的集合數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)(Data Base Data Base ,簡(jiǎn)稱,簡(jiǎn)稱DBDB)按一定結(jié)構(gòu)和組織方按一定結(jié)構(gòu)和組織方式存儲(chǔ)的相關(guān)數(shù)據(jù)集合式存儲(chǔ)的相關(guān)數(shù)據(jù)集合數(shù)據(jù)庫(kù)管理系統(tǒng)(數(shù)據(jù)庫(kù)管理系統(tǒng)(Data Base Management SystemData Base Management System,簡(jiǎn)稱簡(jiǎn)稱DBMSDBMS)數(shù)據(jù)管理軟件,對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一管理數(shù)據(jù)管理軟件,對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一管理和控制保證數(shù)據(jù)安全性和完整性,是數(shù)據(jù)庫(kù)系統(tǒng)的核和控制保證數(shù)據(jù)安全性和完整性,是數(shù)據(jù)庫(kù)系統(tǒng)的核心。心。計(jì)算機(jī)硬件及相關(guān)軟件計(jì)算機(jī)硬件及

5、相關(guān)軟件用戶用戶 返回11數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程是根據(jù)人們要解決的問(wèn)數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程是根據(jù)人們要解決的問(wèn)題,首先分析出與問(wèn)題有關(guān)的實(shí)體及其屬題,首先分析出與問(wèn)題有關(guān)的實(shí)體及其屬性,再分析出各實(shí)體之間的關(guān)系(概念數(shù)性,再分析出各實(shí)體之間的關(guān)系(概念數(shù)據(jù)模型),然后按照數(shù)據(jù)庫(kù)管理系統(tǒng)所能據(jù)模型),然后按照數(shù)據(jù)庫(kù)管理系統(tǒng)所能支持的數(shù)據(jù)模型形成數(shù)據(jù)庫(kù)(邏輯數(shù)據(jù)模支持的數(shù)據(jù)模型形成數(shù)據(jù)庫(kù)(邏輯數(shù)據(jù)模型)。型)。 12實(shí)體實(shí)體(EntityEntity):客觀存在并且可以相互):客觀存在并且可以相互區(qū)別的事物區(qū)別的事物屬性屬性(AttributeAttribute):實(shí)體具有的特性):實(shí)體具有的特性聯(lián)系聯(lián)系(R

6、elationshipRelationship):事物內(nèi)部以及事):事物內(nèi)部以及事物之間是有聯(lián)系的物之間是有聯(lián)系的實(shí)體集實(shí)體集(Entity SetEntity Set):性質(zhì)相同的同類實(shí)):性質(zhì)相同的同類實(shí)體的集合體的集合13一對(duì)一聯(lián)系(一對(duì)一聯(lián)系(1 1:1 1)如果實(shí)體集如果實(shí)體集E1E1中的每一個(gè)實(shí)體只能與實(shí)體集中的每一個(gè)實(shí)體只能與實(shí)體集E E2 2中的一個(gè)實(shí)體有聯(lián)系,反之亦然,則稱實(shí)體集中的一個(gè)實(shí)體有聯(lián)系,反之亦然,則稱實(shí)體集E1E1與實(shí)體集與實(shí)體集E2E2是一對(duì)一的聯(lián)系,表示為是一對(duì)一的聯(lián)系,表示為1:11:1。例如,一個(gè)職工對(duì)應(yīng)一張照片,一張照片一定例如,一個(gè)職工對(duì)應(yīng)一張照片,一

7、張照片一定是某個(gè)職工的。是某個(gè)職工的。 14一對(duì)多聯(lián)系(:一對(duì)多聯(lián)系(:n n)如果實(shí)體集如果實(shí)體集E1E1中的每一個(gè)實(shí)體能與實(shí)體集中的每一個(gè)實(shí)體能與實(shí)體集E2E2中若干個(gè)實(shí)體有聯(lián)系,而實(shí)體集中若干個(gè)實(shí)體有聯(lián)系,而實(shí)體集E2E2中每一個(gè)實(shí)中每一個(gè)實(shí)體至多與實(shí)體集體至多與實(shí)體集E1E1中的一個(gè)實(shí)體有聯(lián)系,則稱中的一個(gè)實(shí)體有聯(lián)系,則稱實(shí)體集實(shí)體集E1E1與實(shí)體集與實(shí)體集E2E2是一對(duì)多的聯(lián)系,表示是一對(duì)多的聯(lián)系,表示為為1 1:n n。例如,一個(gè)職工可能有多筆銷售業(yè)務(wù),而一筆例如,一個(gè)職工可能有多筆銷售業(yè)務(wù),而一筆銷售業(yè)務(wù)一定屬于某一個(gè)職工。銷售業(yè)務(wù)一定屬于某一個(gè)職工。通常,將實(shí)體集通常,將實(shí)體集

8、E1E1稱為稱為“父父”方或方或“一一”方,方,實(shí)體集實(shí)體集E2E2稱為稱為“子子”方或方或“多多”方。方。15多對(duì)多聯(lián)系(多對(duì)多聯(lián)系(mm:n n)如果實(shí)體集如果實(shí)體集E1E1中的每一個(gè)實(shí)體能與實(shí)體集中的每一個(gè)實(shí)體能與實(shí)體集E2E2中若干個(gè)實(shí)體有聯(lián)系,而實(shí)體集中若干個(gè)實(shí)體有聯(lián)系,而實(shí)體集E2E2中的每一個(gè)中的每一個(gè)實(shí)體也能與實(shí)體集實(shí)體也能與實(shí)體集E1E1中若干個(gè)實(shí)體有聯(lián)系,則中若干個(gè)實(shí)體有聯(lián)系,則稱實(shí)體集稱實(shí)體集E1E1與實(shí)體集與實(shí)體集E2E2是多對(duì)多的聯(lián)系,表是多對(duì)多的聯(lián)系,表示為示為m:nm:n。例如,一個(gè)職工可以銷售多個(gè)商品,而每一個(gè)例如,一個(gè)職工可以銷售多個(gè)商品,而每一個(gè)商品也可以有

9、多個(gè)職工銷售。商品也可以有多個(gè)職工銷售。 16實(shí)體實(shí)體聯(lián)系方法用聯(lián)系方法用E-RE-R圖來(lái)描述概念模型。圖來(lái)描述概念模型。實(shí)體:用矩形框表示,實(shí)體名稱寫在框內(nèi)。實(shí)體:用矩形框表示,實(shí)體名稱寫在框內(nèi)。屬性:用橢圓形表示,框內(nèi)注明屬性的名稱,屬屬性:用橢圓形表示,框內(nèi)注明屬性的名稱,屬性與實(shí)體之間用實(shí)線連接。性與實(shí)體之間用實(shí)線連接。聯(lián)系:用菱形框表示實(shí)體間的相互關(guān)系,框內(nèi)注聯(lián)系:用菱形框表示實(shí)體間的相互關(guān)系,框內(nèi)注明名稱。聯(lián)系本身也是實(shí)體,也可以有屬性。明名稱。聯(lián)系本身也是實(shí)體,也可以有屬性。連線:用無(wú)向連線來(lái)連接實(shí)體與屬性、實(shí)體與聯(lián)連線:用無(wú)向連線來(lái)連接實(shí)體與屬性、實(shí)體與聯(lián)系、聯(lián)系與屬性,應(yīng)標(biāo)明

10、對(duì)應(yīng)關(guān)系,即系、聯(lián)系與屬性,應(yīng)標(biāo)明對(duì)應(yīng)關(guān)系,即1 1:1 1,1 1:n n,m:nm:n。 171819返回20數(shù)據(jù)模型(也稱邏輯數(shù)據(jù)模型)是現(xiàn)實(shí)世數(shù)據(jù)模型(也稱邏輯數(shù)據(jù)模型)是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。界數(shù)據(jù)特征的抽象。設(shè)計(jì)一種數(shù)據(jù)模型要根據(jù)應(yīng)用系統(tǒng)中所涉設(shè)計(jì)一種數(shù)據(jù)模型要根據(jù)應(yīng)用系統(tǒng)中所涉及的數(shù)據(jù)性質(zhì)、內(nèi)在聯(lián)系、管理要求等來(lái)及的數(shù)據(jù)性質(zhì)、內(nèi)在聯(lián)系、管理要求等來(lái)組織。組織。 三三種種基本模型基本模型21層次模型也稱樹狀模型,實(shí)質(zhì)上是一種有層次模型也稱樹狀模型,實(shí)質(zhì)上是一種有根結(jié)點(diǎn)的定向有序樹,根結(jié)點(diǎn)的定向有序樹,有且僅有一個(gè)結(jié)點(diǎn)無(wú)父結(jié)點(diǎn),稱為根結(jié)點(diǎn),其有且僅有一個(gè)結(jié)點(diǎn)無(wú)父結(jié)點(diǎn),稱為根結(jié)點(diǎn),其

11、層次最高。層次最高。一個(gè)父結(jié)點(diǎn)向下可以有多個(gè)子節(jié)點(diǎn),一個(gè)子結(jié)一個(gè)父結(jié)點(diǎn)向下可以有多個(gè)子節(jié)點(diǎn),一個(gè)子結(jié)點(diǎn)向上有且僅有一個(gè)父結(jié)點(diǎn)。點(diǎn)向上有且僅有一個(gè)父結(jié)點(diǎn)。樹根與枝點(diǎn)之間的聯(lián)系稱為邊,樹根與邊之比樹根與枝點(diǎn)之間的聯(lián)系稱為邊,樹根與邊之比為為1:N1:N,即樹根只有一個(gè),樹枝有,即樹根只有一個(gè),樹枝有N N個(gè)。各結(jié)點(diǎn)個(gè)。各結(jié)點(diǎn)之間是一種之間是一種“一對(duì)一一對(duì)一”或或“一對(duì)多一對(duì)多”的關(guān)系。的關(guān)系。2223廣義地講,任意一個(gè)連通的基本層次聯(lián)系廣義地講,任意一個(gè)連通的基本層次聯(lián)系的集合為網(wǎng)狀模型。的集合為網(wǎng)狀模型??梢杂幸粋€(gè)以上的結(jié)點(diǎn)無(wú)父結(jié)點(diǎn)(如圖中的可以有一個(gè)以上的結(jié)點(diǎn)無(wú)父結(jié)點(diǎn)(如圖中的R1R1、R2

12、R2、R4R4)。)。至少有一個(gè)結(jié)點(diǎn)有多于一個(gè)以上的父結(jié)點(diǎn)。至少有一個(gè)結(jié)點(diǎn)有多于一個(gè)以上的父結(jié)點(diǎn)。 2425關(guān)系模型是目前最流行的一種邏輯數(shù)據(jù)模關(guān)系模型是目前最流行的一種邏輯數(shù)據(jù)模型。型。 關(guān)系模型是以二維表格來(lái)表示實(shí)體集中實(shí)關(guān)系模型是以二維表格來(lái)表示實(shí)體集中實(shí)體之間的聯(lián)系。體之間的聯(lián)系。關(guān)系模型中一張二維表稱為一個(gè)關(guān)系,并關(guān)系模型中一張二維表稱為一個(gè)關(guān)系,并給它賦予一個(gè)名稱,稱為關(guān)系名。給它賦予一個(gè)名稱,稱為關(guān)系名。 返回262020世紀(jì)世紀(jì)8080年代以來(lái),計(jì)算機(jī)廠商推出的數(shù)年代以來(lái),計(jì)算機(jī)廠商推出的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持關(guān)系模型。據(jù)庫(kù)管理系統(tǒng)幾乎都支持關(guān)系模型。大型數(shù)據(jù)庫(kù)管理系統(tǒng)包括大

13、型數(shù)據(jù)庫(kù)管理系統(tǒng)包括OracleOracle、SybaseSybase、InformixInformix和和SQL ServerSQL Server等。等。小型數(shù)據(jù)庫(kù)管理系統(tǒng)包括小型數(shù)據(jù)庫(kù)管理系統(tǒng)包括Visual FoxProVisual FoxPro、AccessAccess、Paradox Paradox 和和BetriveBetrive等。等。271.2.1 1.2.1 關(guān)系的基本概念及關(guān)系數(shù)據(jù)庫(kù)關(guān)系的基本概念及關(guān)系數(shù)據(jù)庫(kù)1.2.2 1.2.2 關(guān)系的特征關(guān)系的特征1.2.3 1.2.3 關(guān)系操作關(guān)系操作1.2.4 1.2.4 數(shù)據(jù)庫(kù)的完整性規(guī)則數(shù)據(jù)庫(kù)的完整性規(guī)則28(1 1)關(guān)系)關(guān)系

14、一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系都有一個(gè)一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系都有一個(gè)關(guān)系名。關(guān)系名。在在Visual FoxProVisual FoxPro中,一個(gè)關(guān)系對(duì)應(yīng)一個(gè)數(shù)據(jù)中,一個(gè)關(guān)系對(duì)應(yīng)一個(gè)數(shù)據(jù)文件,關(guān)系名對(duì)應(yīng)于文件名文件,關(guān)系名對(duì)應(yīng)于文件名 29屬性或?qū)傩曰蜃侄巫侄螌傩詫傩灾抵祷蚧蜃侄巫侄沃抵店P(guān)系模式關(guān)系模式或表結(jié)構(gòu)或表結(jié)構(gòu)元組或元組或記錄記錄關(guān)系名:職工或關(guān)系名:職工或文件名:職工文件名:職工.DBF表30(2 2)元組)元組二維表中的每一行在關(guān)系中稱為元組。二維表中的每一行在關(guān)系中稱為元組。一個(gè)元組對(duì)應(yīng)于數(shù)據(jù)文件中的一條記錄,所以一個(gè)元組對(duì)應(yīng)于數(shù)據(jù)文件中的一條記錄,所以元組也稱記錄

15、。元組也稱記錄。如表如表1-11-1中姓名為中姓名為“李紅李紅”的所在行的所有數(shù)的所在行的所有數(shù)據(jù)就是一個(gè)元組,稱為一條記錄。據(jù)就是一個(gè)元組,稱為一條記錄。 31(3 3)屬性)屬性二維表中的每一列在關(guān)系中稱為屬性,每個(gè)屬二維表中的每一列在關(guān)系中稱為屬性,每個(gè)屬性都有一個(gè)屬性名,屬性的取值范圍取決于各性都有一個(gè)屬性名,屬性的取值范圍取決于各個(gè)元組的屬性值。個(gè)元組的屬性值。如表如表1-11-1中的第中的第2 2列屬性,列屬性,“姓名姓名”是它的屬性是它的屬性名,名,“李紅李紅”是其中的一個(gè)屬性值。是其中的一個(gè)屬性值。在在Visual FoxProVisual FoxPro中屬性也就是數(shù)據(jù)文件中的

16、中屬性也就是數(shù)據(jù)文件中的字段,屬性名就是字段名,而屬性值對(duì)應(yīng)于各字段,屬性名就是字段名,而屬性值對(duì)應(yīng)于各個(gè)記錄的字段值。個(gè)記錄的字段值。 32(4 4)域)域域是指二維表中屬性的取值范圍,取值范圍也域是指二維表中屬性的取值范圍,取值范圍也就決定了表中字段的寬度。就決定了表中字段的寬度。例如,表例如,表1-11-1中屬性中屬性“婚否婚否”的取值范圍是的取值范圍是.T.T.或或.F.F.。 33(5 5)關(guān)系模式)關(guān)系模式對(duì)關(guān)系的描述,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)表的結(jié)構(gòu)。對(duì)關(guān)系的描述,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)表的結(jié)構(gòu)。關(guān)系名(屬性關(guān)系名(屬性1 1,屬性,屬性2 2,屬性,屬性3 3, 屬性屬性n n)例如

17、:例如: 職工職工(職工號(hào),姓名,性別,婚否,出生日期,基本(職工號(hào),姓名,性別,婚否,出生日期,基本工資,部門,簡(jiǎn)歷,照片);工資,部門,簡(jiǎn)歷,照片); 銷售銷售(職工號(hào),商品號(hào),數(shù)量);(職工號(hào),商品號(hào),數(shù)量); 商品商品(商品號(hào),商品名稱,類別,庫(kù)存量,單價(jià),單(商品號(hào),商品名稱,類別,庫(kù)存量,單價(jià),單位)位) 34(6 6)關(guān)鍵字(關(guān)鍵字段或碼)關(guān)鍵字(關(guān)鍵字段或碼)在關(guān)系中可以用來(lái)唯一地標(biāo)識(shí)一個(gè)元組的屬性在關(guān)系中可以用來(lái)唯一地標(biāo)識(shí)一個(gè)元組的屬性或?qū)傩越M合稱為關(guān)鍵字?;?qū)傩越M合稱為關(guān)鍵字。單個(gè)屬性的關(guān)鍵字稱為單個(gè)屬性的關(guān)鍵字稱為“單關(guān)鍵字單關(guān)鍵字”,多個(gè)屬,多個(gè)屬性組合的關(guān)鍵字稱為性組

18、合的關(guān)鍵字稱為“組合關(guān)鍵字組合關(guān)鍵字”。例如,表例如,表1-11-1中的中的“職工號(hào)職工號(hào)”是是“單關(guān)鍵字單關(guān)鍵字”,因?yàn)槊總€(gè)職工的工號(hào)不允許重復(fù)。在銷售(職因?yàn)槊總€(gè)職工的工號(hào)不允許重復(fù)。在銷售(職工號(hào),商品號(hào),數(shù)量)關(guān)系中,它的關(guān)鍵字則工號(hào),商品號(hào),數(shù)量)關(guān)系中,它的關(guān)鍵字則是是“職工號(hào)職工號(hào)+ +商品號(hào)商品號(hào)”的組合。的組合。 35(7 7)主關(guān)鍵字(主鍵)與候選關(guān)鍵字)主關(guān)鍵字(主鍵)與候選關(guān)鍵字通常在一個(gè)關(guān)系中,關(guān)鍵字可能不止一個(gè),但通常在一個(gè)關(guān)系中,關(guān)鍵字可能不止一個(gè),但主關(guān)鍵字只能有一個(gè),并且取值是確定的。當(dāng)主關(guān)鍵字只能有一個(gè),并且取值是確定的。當(dāng)某關(guān)鍵字選作表的主關(guān)鍵字后,如果還

19、有其他某關(guān)鍵字選作表的主關(guān)鍵字后,如果還有其他的關(guān)鍵字,則其他的關(guān)鍵字稱為候選關(guān)鍵字。的關(guān)鍵字,則其他的關(guān)鍵字稱為候選關(guān)鍵字。例如,在例如,在“職工職工”表中,如果不存在同名同姓表中,如果不存在同名同姓的職工記錄,則姓名也可以是關(guān)鍵字。但如果的職工記錄,則姓名也可以是關(guān)鍵字。但如果選擇選擇“職工號(hào)職工號(hào)”作為主關(guān)鍵字,則作為主關(guān)鍵字,則“姓名姓名”就就是候選關(guān)鍵字。是候選關(guān)鍵字。 36(8 8)外部關(guān)鍵字)外部關(guān)鍵字如果一個(gè)屬性在本表中不是主關(guān)鍵字,而在另如果一個(gè)屬性在本表中不是主關(guān)鍵字,而在另一個(gè)表中是主關(guān)鍵字,該屬性稱為外部關(guān)鍵字。一個(gè)表中是主關(guān)鍵字,該屬性稱為外部關(guān)鍵字。例如,在例如,在

20、“銷售銷售”表中的表中的“職工號(hào)職工號(hào)”是是“職工職工”表的主關(guān)鍵字,但它并不是表的主關(guān)鍵字,但它并不是“銷售銷售”表的主關(guān)表的主關(guān)鍵字。這里,稱鍵字。這里,稱“職工號(hào)職工號(hào)”屬性為屬性為“銷售銷售”表表的外部關(guān)鍵字。的外部關(guān)鍵字。371 1:1 1聯(lián)系聯(lián)系對(duì)于對(duì)于1 1:1 1聯(lián)系類型的信息,設(shè)計(jì)時(shí)可分為兩個(gè)聯(lián)系類型的信息,設(shè)計(jì)時(shí)可分為兩個(gè)表或合并為一個(gè)表。表或合并為一個(gè)表。如果要將一個(gè)表分成許多字段,或因安全原因如果要將一個(gè)表分成許多字段,或因安全原因而隔離表中的部分?jǐn)?shù)據(jù),則可在表與表之間建而隔離表中的部分?jǐn)?shù)據(jù),則可在表與表之間建立一對(duì)一的聯(lián)系關(guān)系。立一對(duì)一的聯(lián)系關(guān)系。例如,可以將例如,可

21、以將“職工號(hào)職工號(hào)”與與“照片照片”的有關(guān)信的有關(guān)信息放在一個(gè)表中。息放在一個(gè)表中。 381 1:n n聯(lián)系聯(lián)系對(duì)于對(duì)于1 1:n n聯(lián)系類型的信息,設(shè)計(jì)時(shí)需將父表中聯(lián)系類型的信息,設(shè)計(jì)時(shí)需將父表中的主關(guān)鍵字放入子表中,以實(shí)現(xiàn)兩表之間的有的主關(guān)鍵字放入子表中,以實(shí)現(xiàn)兩表之間的有效關(guān)聯(lián)。效關(guān)聯(lián)。例如,例如,“職工職工”表與表與“銷售銷售”表之間為一對(duì)多表之間為一對(duì)多的聯(lián)系。具體設(shè)計(jì)表時(shí),需在的聯(lián)系。具體設(shè)計(jì)表時(shí),需在“銷售銷售”表中加表中加進(jìn)進(jìn)“職工職工”表的主關(guān)鍵字表的主關(guān)鍵字“職工號(hào)職工號(hào)”,作為其,作為其外部關(guān)鍵字外部關(guān)鍵字 391 1:n n聯(lián)系聯(lián)系對(duì)于對(duì)于mm:n n聯(lián)系類型的信息,設(shè)

22、計(jì)時(shí)需要另外增加一個(gè)聯(lián)系類型的信息,設(shè)計(jì)時(shí)需要另外增加一個(gè)新表,這個(gè)表稱為新表,這個(gè)表稱為“關(guān)聯(lián)表關(guān)聯(lián)表”,其中必須包括兩個(gè)表,其中必須包括兩個(gè)表的主關(guān)鍵字,再加入兩表之間的關(guān)聯(lián)字段,的主關(guān)鍵字,再加入兩表之間的關(guān)聯(lián)字段,例如,例如,“職工職工”表中的職工與表中的職工與“商品商品”表中的商品是表中的商品是多對(duì)多的聯(lián)系,需要增加多對(duì)多的聯(lián)系,需要增加“銷售銷售”表,并在其中包括表,并在其中包括職工號(hào)和商品號(hào),另外加上銷售數(shù)量,作為職工號(hào)和商品號(hào),另外加上銷售數(shù)量,作為“職工職工”表與表與“商品商品”表的關(guān)聯(lián)字段。表的關(guān)聯(lián)字段。 40用關(guān)系模型建立數(shù)據(jù)和描述數(shù)據(jù)之間聯(lián)系的數(shù)據(jù)用關(guān)系模型建立數(shù)據(jù)和描

23、述數(shù)據(jù)之間聯(lián)系的數(shù)據(jù)庫(kù)就是關(guān)系數(shù)據(jù)庫(kù)。在關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)數(shù)據(jù)庫(kù)就是關(guān)系數(shù)據(jù)庫(kù)。在關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)數(shù)據(jù)文件存放一個(gè)關(guān)系的數(shù)據(jù),若干個(gè)相關(guān)數(shù)據(jù)文件文件存放一個(gè)關(guān)系的數(shù)據(jù),若干個(gè)相關(guān)數(shù)據(jù)文件的集合就組成了關(guān)系數(shù)據(jù)庫(kù)。的集合就組成了關(guān)系數(shù)據(jù)庫(kù)。在在Visual FoxProVisual FoxPro中,數(shù)據(jù)庫(kù)由中,數(shù)據(jù)庫(kù)由4 4個(gè)層次組成:字個(gè)層次組成:字段、記錄、表和數(shù)據(jù)庫(kù)。一個(gè)關(guān)系數(shù)據(jù)庫(kù)由若干段、記錄、表和數(shù)據(jù)庫(kù)。一個(gè)關(guān)系數(shù)據(jù)庫(kù)由若干個(gè)數(shù)據(jù)表組成,每個(gè)數(shù)據(jù)表又由若干個(gè)記錄組成,個(gè)數(shù)據(jù)表組成,每個(gè)數(shù)據(jù)表又由若干個(gè)記錄組成,而每條記錄又是由若干字段組成的。而每條記錄又是由若干字段組成的。屬于某一數(shù)

24、據(jù)庫(kù)的表稱為數(shù)據(jù)庫(kù)表,而不屬于任屬于某一數(shù)據(jù)庫(kù)的表稱為數(shù)據(jù)庫(kù)表,而不屬于任何數(shù)據(jù)庫(kù)的表稱為自由表。何數(shù)據(jù)庫(kù)的表稱為自由表。 414243返回44關(guān)系中的每一屬性(字段)都是不能再分的基本關(guān)系中的每一屬性(字段)都是不能再分的基本數(shù)據(jù)項(xiàng),即表中不允許有子表。數(shù)據(jù)項(xiàng),即表中不允許有子表。關(guān)系中每一屬性(字段)必須具有相同的數(shù)據(jù)類關(guān)系中每一屬性(字段)必須具有相同的數(shù)據(jù)類型(例如,字符型或數(shù)值型等)。型(例如,字符型或數(shù)值型等)。同一關(guān)系中不能出現(xiàn)相同的屬性名(字段名)。同一關(guān)系中不能出現(xiàn)相同的屬性名(字段名)。關(guān)系中不應(yīng)有內(nèi)容完全相同的元組(記錄)。關(guān)系中不應(yīng)有內(nèi)容完全相同的元組(記錄)。關(guān)系中記

25、錄和字段的順序可以任意排列,不影響關(guān)系中記錄和字段的順序可以任意排列,不影響關(guān)系表中所表示的信息含義。關(guān)系表中所表示的信息含義。返回45當(dāng)對(duì)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行查詢等操作時(shí),常常當(dāng)對(duì)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行查詢等操作時(shí),常常需要對(duì)關(guān)系進(jìn)行一定的運(yùn)算處理。需要對(duì)關(guān)系進(jìn)行一定的運(yùn)算處理。關(guān)系的基本運(yùn)算:關(guān)系的基本運(yùn)算:選擇、投影和連接選擇、投影和連接。 46按照一定條件在給定關(guān)系中選取若干元組按照一定條件在給定關(guān)系中選取若干元組(即選取若干記錄)的操作。(即選取若干記錄)的操作。條件通過(guò)邏輯表達(dá)式給出,條件為真的記條件通過(guò)邏輯表達(dá)式給出,條件為真的記錄被選出。例如,錄被選出。例如,“職工職工”關(guān)系中,按照關(guān)系中,

26、按照“婚否婚否=.F.”=.F.”的條件進(jìn)行選擇操作:的條件進(jìn)行選擇操作: 47在給定關(guān)系中選取確定在給定關(guān)系中選取確定的若干屬性(即選取若的若干屬性(即選取若干字段)組成新的關(guān)系干字段)組成新的關(guān)系稱為投影。稱為投影。例如,例如,“職工職工”關(guān)系中,關(guān)系中,如果選取職工號(hào)、姓名如果選取職工號(hào)、姓名和性別和性別3 3個(gè)字段的數(shù)據(jù)個(gè)字段的數(shù)據(jù)輸出:輸出: 48連接是將兩個(gè)或兩個(gè)以上關(guān)系模式通過(guò)公連接是將兩個(gè)或兩個(gè)以上關(guān)系模式通過(guò)公共的屬性名(字段名)拼接成一個(gè)新的關(guān)共的屬性名(字段名)拼接成一個(gè)新的關(guān)系模式,生成的新關(guān)系中包含滿足連接條系模式,生成的新關(guān)系中包含滿足連接條件的元組(記錄)。件的元

27、組(記錄)。例如,根據(jù)職工、銷售、商品三個(gè)關(guān)系模例如,根據(jù)職工、銷售、商品三個(gè)關(guān)系模式中共有的職工號(hào)、商品號(hào)連接成一個(gè)新式中共有的職工號(hào)、商品號(hào)連接成一個(gè)新的關(guān)系模式,的關(guān)系模式, 返回49數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性、有效性和一致性性、有效性和一致性實(shí)體完整性實(shí)體完整性參照完整性參照完整性用戶自定義完整性用戶自定義完整性 50實(shí)體完整性是指一個(gè)關(guān)系表中主關(guān)鍵字的取值必實(shí)體完整性是指一個(gè)關(guān)系表中主關(guān)鍵字的取值必須是確定的、唯一的,不允許為空(須是確定的、唯一的,不允許為空(nullnull)值。)值。例如,對(duì)例如,對(duì)“職工職工”表中主關(guān)鍵字表中主關(guān)

28、鍵字“職工號(hào)職工號(hào)”字段、字段、商品表中的主關(guān)鍵字商品表中的主關(guān)鍵字“商品號(hào)商品號(hào)”字段的取值必須字段的取值必須確定、唯一,且不能為空值。這就要求在確定、唯一,且不能為空值。這就要求在“職工職工”表、表、“商品商品”表中存儲(chǔ)的每一條記錄必須滿足這表中存儲(chǔ)的每一條記錄必須滿足這一條件,而且在輸入新記錄、修改記錄時(shí)也要遵一條件,而且在輸入新記錄、修改記錄時(shí)也要遵守這一條件。守這一條件。51數(shù)據(jù)庫(kù)的參照完整性是指:在數(shù)據(jù)庫(kù)的參照完整性是指:在“子子”表中實(shí)現(xiàn)關(guān)表中實(shí)現(xiàn)關(guān)聯(lián)的外部關(guān)鍵字,它的取值或者為聯(lián)的外部關(guān)鍵字,它的取值或者為“空空”值,或值,或者為者為“父父”表中實(shí)現(xiàn)相應(yīng)關(guān)聯(lián)的主關(guān)鍵字值的子表中

29、實(shí)現(xiàn)相應(yīng)關(guān)聯(lián)的主關(guān)鍵字值的子集。這也是關(guān)系數(shù)據(jù)庫(kù)中最主要的一種聯(lián)系。集。這也是關(guān)系數(shù)據(jù)庫(kù)中最主要的一種聯(lián)系。例如,在例如,在“職工職工”表(父表)與表(父表)與“銷售銷售”表(子表(子表)之間的參照完整性要求是:表)之間的參照完整性要求是: “ “銷售銷售”表的表的“職工號(hào)職工號(hào)”字段的取值必須是字段的取值必須是“職工職工”表表“職工職工號(hào)號(hào)”字段取值當(dāng)中已經(jīng)存在的一個(gè)值。類似地,字段取值當(dāng)中已經(jīng)存在的一個(gè)值。類似地,在在“商品商品”表與表與“銷售銷售”表之間也必須遵守參照表之間也必須遵守參照完整性的規(guī)則。完整性的規(guī)則。 52用戶自定義完整性是用戶根據(jù)實(shí)際應(yīng)用環(huán)用戶自定義完整性是用戶根據(jù)實(shí)際應(yīng)

30、用環(huán)境的需求來(lái)決定的。通常為某個(gè)字段的取境的需求來(lái)決定的。通常為某個(gè)字段的取值或多個(gè)字段之間取值范圍限制等。值或多個(gè)字段之間取值范圍限制等。例如,在例如,在“職工職工”表中,表中,“性別性別”字段的字段的取值必須在取值必須在“男男”或或“女女”之間。一般情之間。一般情況下,要實(shí)現(xiàn)數(shù)據(jù)庫(kù)的完整性約束條件及況下,要實(shí)現(xiàn)數(shù)據(jù)庫(kù)的完整性約束條件及完整性檢驗(yàn),用戶需編寫相應(yīng)的代碼或利完整性檢驗(yàn),用戶需編寫相應(yīng)的代碼或利用數(shù)據(jù)庫(kù)管理系統(tǒng)提供的功能完成。用數(shù)據(jù)庫(kù)管理系統(tǒng)提供的功能完成。 返回531.3.1 1.3.1 Visual FoxProVisual FoxPro的發(fā)展及特點(diǎn)的發(fā)展及特點(diǎn)1.3.2 1

31、.3.2 Visual FoxProVisual FoxPro集成開發(fā)環(huán)境集成開發(fā)環(huán)境541982dBASE1989FoxPro 1.01984FoxBASEFoxPro 2.019911995FoxPro 3.02004FoxPro 9.01992FoxPro 2.51998FoxPro 6.055集編程語(yǔ)言和數(shù)據(jù)庫(kù)為一體集編程語(yǔ)言和數(shù)據(jù)庫(kù)為一體引入可視化編程技術(shù)引入可視化編程技術(shù)使用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法使用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法支持客戶機(jī)支持客戶機(jī)/ /服務(wù)器結(jié)構(gòu)服務(wù)器結(jié)構(gòu)支持支持WebWeb服務(wù)服務(wù)支持對(duì)象鏈接嵌入支持對(duì)象鏈接嵌入OLEOLE(Object Linking and EO

32、bject Linking and Embeddingmbedding)技術(shù))技術(shù)562 147 483 6472 147 483 647一個(gè)整數(shù)的最大值一個(gè)整數(shù)的最大值-2 147 483 64-2 147 483 647 7一個(gè)整數(shù)的最小值一個(gè)整數(shù)的最小值1616數(shù)值計(jì)算精確值的位數(shù)數(shù)值計(jì)算精確值的位數(shù)128128數(shù)據(jù)庫(kù)表中字段名的最多字符數(shù)據(jù)庫(kù)表中字段名的最多字符數(shù)數(shù)1010自由表中字段名的最多字符數(shù)自由表中字段名的最多字符數(shù)2020數(shù)值數(shù)值( (和浮點(diǎn)和浮點(diǎn)) )型字段的最多字型字段的最多字節(jié)數(shù)節(jié)數(shù)254254字符型字段的最多字節(jié)數(shù)字符型字段的最多字節(jié)數(shù)字段特征字段特征255255同時(shí)

33、打開的最多表數(shù)同時(shí)打開的最多表數(shù)未限制未限制每個(gè)表最多打開的索引文件數(shù)每個(gè)表最多打開的索引文件數(shù)254254每個(gè)表字段的最多字符數(shù)每個(gè)表字段的最多字符數(shù)65 50065 500每個(gè)記錄的最多字符數(shù)每個(gè)記錄的最多字符數(shù)255255每個(gè)記錄的最多字段數(shù)每個(gè)記錄的最多字段數(shù)2G2G一個(gè)表的最大容量一個(gè)表的最大容量1010億億每個(gè)表文件的最多記錄數(shù)每個(gè)表文件的最多記錄數(shù)數(shù)據(jù)表文件數(shù)據(jù)表文件指指 標(biāo)標(biāo)功功 能能分分 類類2GB2GB每個(gè)字符串的最多字符數(shù)每個(gè)字符串的最多字符數(shù)255255打開最多打開最多BrowseBrowse窗口數(shù)窗口數(shù)未限制未限制打開最多窗口打開最多窗口( (全部類型全部類型) )數(shù)

34、數(shù)其他其他128128最多分組級(jí)層數(shù)最多分組級(jí)層數(shù)2020英寸(英寸(50.850.8毫米)毫米)報(bào)表定義最大長(zhǎng)度報(bào)表定義最大長(zhǎng)度未限制未限制報(bào)表定義中最多對(duì)象數(shù)報(bào)表定義中最多對(duì)象數(shù)報(bào)表報(bào)表未限制未限制每個(gè)過(guò)程文件的最多過(guò)程數(shù)每個(gè)過(guò)程文件的最多過(guò)程數(shù)64K64K編譯程序模塊的最大值編譯程序模塊的最大值8 1928 192每個(gè)命令行的最多字符數(shù)每個(gè)命令行的最多字符數(shù)未限制未限制源程序文件中的最大行數(shù)源程序文件中的最大行數(shù)程序文件程序文件65 00065 000每個(gè)數(shù)組中元素的最大數(shù)目每個(gè)數(shù)組中元素的最大數(shù)目65 00065 000數(shù)組的最大數(shù)目數(shù)組的最大數(shù)目65 00065 000可設(shè)置的內(nèi)存變

35、量最大數(shù)目可設(shè)置的內(nèi)存變量最大數(shù)目16 38416 384默認(rèn)的內(nèi)存變量最大數(shù)目默認(rèn)的內(nèi)存變量最大數(shù)目?jī)?nèi)存變量與數(shù)內(nèi)存變量與數(shù)組組指指 標(biāo)標(biāo)功功 能能分分 類類返回57運(yùn)行運(yùn)行Visual FoxPro9.0Visual FoxPro9.0的計(jì)算機(jī)最低配置需求:的計(jì)算機(jī)最低配置需求:處理器:處理器:PentiumPentium級(jí)。級(jí)。內(nèi)存:內(nèi)存:64MB RAM64MB RAM(推薦(推薦128MB128MB或更高)?;蚋撸???捎糜脖P空間:可用硬盤空間:165MB165MB(典型安裝)。(典型安裝)。顯示:顯示:800800600600分辨率,分辨率,256256色(推薦色(推薦1616位增

36、位增強(qiáng)色)。強(qiáng)色)。操作系統(tǒng):操作系統(tǒng):Windows 2000sp3Windows 2000sp3及后續(xù)版本、及后續(xù)版本、WiWindows XPndows XP和和Windows Server 2003Windows Server 2003。 58啟動(dòng)啟動(dòng)“開始開始”“所有程序所有程序”“Visual FoxPro”Visual FoxPro”WindowsWindows桌面上的快捷圖標(biāo)啟動(dòng)桌面上的快捷圖標(biāo)啟動(dòng)“開始開始”“運(yùn)行運(yùn)行”“瀏覽瀏覽”,找到,找到MicrosoMicrosoft Visual FoxPro 9.0ft Visual FoxPro 9.0文件夾,啟動(dòng)文件夾,啟動(dòng)V

37、fp9.exeVfp9.exe程序。程序。 通過(guò)通過(guò)WindowsWindows的資源管理器或我的資源管理器或我“的電腦的電腦”,找到找到Vfp9.exeVfp9.exe程序啟動(dòng)程序啟動(dòng) 59退出退出在在Visual FoxProVisual FoxPro的的“文件文件”“退出退出”。在在Visual FoxProVisual FoxPro的命令窗口中鍵入命令的命令窗口中鍵入命令QUITQUIT。按按Alt+F4Alt+F4快捷鍵退出??旖萱I退出。雙擊雙擊Visual FoxProVisual FoxPro窗口左上角的控制菜單按鈕。窗口左上角的控制菜單按鈕。單擊單擊Visual FoxProV

38、isual FoxPro窗口左上角的控制菜單按鈕,單擊窗口左上角的控制菜單按鈕,單擊“關(guān)閉關(guān)閉”;或右擊;或右擊Visual FoxProVisual FoxPro標(biāo)題欄上的任一空閑標(biāo)題欄上的任一空閑區(qū)域,在控制菜單中單擊區(qū)域,在控制菜單中單擊“關(guān)閉關(guān)閉”;或單擊;或單擊Visual FoxVisual FoxProPro窗口右上角的關(guān)閉窗口按鈕。窗口右上角的關(guān)閉窗口按鈕。 6061Visual FoxPro Visual FoxPro 的窗口包括:命令窗口、數(shù)據(jù)瀏覽和編輯的窗口包括:命令窗口、數(shù)據(jù)瀏覽和編輯窗口、代碼編輯窗口、屬性窗口、調(diào)試器窗口等等。窗口、代碼編輯窗口、屬性窗口、調(diào)試器窗口

39、等等。VisuVisual FoxProal FoxPro的主窗口可以包含其中的一個(gè)或多個(gè)窗口。在的主窗口可以包含其中的一個(gè)或多個(gè)窗口。在開發(fā)環(huán)境中使用最多的是命令窗口和屬性窗口。開發(fā)環(huán)境中使用最多的是命令窗口和屬性窗口。Visual FoxProVisual FoxPro支持支持3 3種窗口??糠绞剑撼R?guī)???、鏈接種窗口??糠绞剑撼R?guī)???、鏈接??亢蜆?biāo)簽化??俊M?亢蜆?biāo)簽化停靠。當(dāng)用戶在命令窗口直接輸入一條命令時(shí),通??梢灾惠斎氘?dāng)用戶在命令窗口直接輸入一條命令時(shí),通常可以只輸入命令動(dòng)詞的前四個(gè)字符,或按空格鍵系統(tǒng)自動(dòng)完成命令動(dòng)命令動(dòng)詞的前四個(gè)字符,或按空格鍵系統(tǒng)自動(dòng)完成命令動(dòng)詞,并通過(guò)下拉列

40、表的方式顯示該命令的集合,幫助用戶詞,并通過(guò)下拉列表的方式顯示該命令的集合,幫助用戶選擇,緩解了用戶記不清命令的困難。選擇,緩解了用戶記不清命令的困難。 62Visual FoxProVisual FoxPro的各種操作命令可以通過(guò)菜單系的各種操作命令可以通過(guò)菜單系統(tǒng)以交互方式完成。統(tǒng)以交互方式完成。啟動(dòng)系統(tǒng)后,主界面的菜單欄一般包含啟動(dòng)系統(tǒng)后,主界面的菜單欄一般包含8 8個(gè)菜單項(xiàng):個(gè)菜單項(xiàng):文件、編輯、顯示、格式、工具、程序、窗口和文件、編輯、顯示、格式、工具、程序、窗口和幫助,各菜單項(xiàng)下還有一系列子菜單。幫助,各菜單項(xiàng)下還有一系列子菜單。隨著當(dāng)前執(zhí)行任務(wù)的不同,菜單欄的各個(gè)選項(xiàng)會(huì)隨著當(dāng)前執(zhí)

41、行任務(wù)的不同,菜單欄的各個(gè)選項(xiàng)會(huì)隨之動(dòng)態(tài)變化。例如,瀏覽一個(gè)數(shù)據(jù)表時(shí),隨之動(dòng)態(tài)變化。例如,瀏覽一個(gè)數(shù)據(jù)表時(shí),“格格式式”菜單項(xiàng)就消失了,而菜單欄自動(dòng)添加了菜單項(xiàng)就消失了,而菜單欄自動(dòng)添加了“表表”菜單項(xiàng)。菜單項(xiàng)。 63Visual FoxProVisual FoxPro將一些常用的功能,以命令按鈕的形式顯將一些常用的功能,以命令按鈕的形式顯示在工具欄中,方便用戶使用。默認(rèn)情況下,系統(tǒng)啟動(dòng)時(shí)示在工具欄中,方便用戶使用。默認(rèn)情況下,系統(tǒng)啟動(dòng)時(shí)常用工具欄自動(dòng)打開,其他工具欄隨著某一類型的文件打常用工具欄自動(dòng)打開,其他工具欄隨著某一類型的文件打開而自動(dòng)打開。開而自動(dòng)打開。例如,新建或打開一個(gè)數(shù)據(jù)庫(kù)文件

42、時(shí),例如,新建或打開一個(gè)數(shù)據(jù)庫(kù)文件時(shí),“數(shù)據(jù)庫(kù)設(shè)計(jì)器數(shù)據(jù)庫(kù)設(shè)計(jì)器”工具欄就會(huì)自動(dòng)顯示,而關(guān)閉數(shù)據(jù)庫(kù)文件后,該工具隨之工具欄就會(huì)自動(dòng)顯示,而關(guān)閉數(shù)據(jù)庫(kù)文件后,該工具隨之關(guān)閉。關(guān)閉。如果用戶需要在某一時(shí)候打開或關(guān)閉一個(gè)工具欄,可選擇如果用戶需要在某一時(shí)候打開或關(guān)閉一個(gè)工具欄,可選擇“顯示顯示/ /工具欄工具欄”菜單,通過(guò)菜單,通過(guò)“工具欄工具欄”對(duì)話框,選中或?qū)υ捒颍x中或取消選中相應(yīng)的工具欄。取消選中相應(yīng)的工具欄。Visual FoxProVisual FoxPro還允許根據(jù)用戶還允許根據(jù)用戶的需要,定制自己的工具欄。的需要,定制自己的工具欄。 64返回65661.4.1 1.4.1 數(shù)據(jù)類型數(shù)

43、據(jù)類型1.4.2 1.4.2 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)1.4.3 1.4.3 表達(dá)式表達(dá)式1.4.4 1.4.4 常用函數(shù)常用函數(shù)1.4.5 1.4.5 命令格式與文件類型命令格式與文件類型6768數(shù)值型數(shù)據(jù)(數(shù)值型數(shù)據(jù)(NumericNumeric)數(shù)值型數(shù)據(jù)是用于表示數(shù)量的一種數(shù)據(jù)類型,數(shù)值型數(shù)據(jù)是用于表示數(shù)量的一種數(shù)據(jù)類型,用用N N表示。它由數(shù)字表示。它由數(shù)字0 09 9、小數(shù)點(diǎn)和正負(fù)號(hào)組、小數(shù)點(diǎn)和正負(fù)號(hào)組成。數(shù)值型數(shù)據(jù)的長(zhǎng)度為成。數(shù)值型數(shù)據(jù)的長(zhǎng)度為1 12020位,在計(jì)算機(jī)位,在計(jì)算機(jī)的內(nèi)存中,每個(gè)數(shù)據(jù)占用的內(nèi)存中,每個(gè)數(shù)據(jù)占用8 8個(gè)字節(jié)的存儲(chǔ)空間,個(gè)字節(jié)的存儲(chǔ)空間,其取范圍從其取范圍從-

44、0.999 999 999 9E+19-0.999 999 999 9E+19到到+0.999 +0.999 999 999 9E+20999 999 9E+20。該類數(shù)據(jù)用于數(shù)學(xué)計(jì)算,如工資、單價(jià)、金額該類數(shù)據(jù)用于數(shù)學(xué)計(jì)算,如工資、單價(jià)、金額等一般用數(shù)值型表示。等一般用數(shù)值型表示。 69字符型數(shù)據(jù)(字符型數(shù)據(jù)(CharacterCharacter) 字符型數(shù)據(jù)由字母、數(shù)字、空格、符號(hào)和標(biāo)點(diǎn)等一切字符型數(shù)據(jù)由字母、數(shù)字、空格、符號(hào)和標(biāo)點(diǎn)等一切可打印的可打印的ASCIIASCII字符和漢字組成,用字符和漢字組成,用C C表示。字符最大表示。字符最大長(zhǎng)度為長(zhǎng)度為254254,一個(gè)字符占一個(gè)字節(jié)的存

45、儲(chǔ)空間,漢字也,一個(gè)字符占一個(gè)字節(jié)的存儲(chǔ)空間,漢字也是字符,一個(gè)漢字占兩個(gè)字節(jié)。是字符,一個(gè)漢字占兩個(gè)字節(jié)。字符型數(shù)據(jù)一般用來(lái)表示姓名、地址、單位等文本信字符型數(shù)據(jù)一般用來(lái)表示姓名、地址、單位等文本信息。有一類數(shù)據(jù),如學(xué)號(hào)、商品號(hào)、電話號(hào)碼等,雖息。有一類數(shù)據(jù),如學(xué)號(hào)、商品號(hào)、電話號(hào)碼等,雖然都由數(shù)字組成,但不用來(lái)計(jì)算,一般也用字符型表然都由數(shù)字組成,但不用來(lái)計(jì)算,一般也用字符型表示。示。 70邏輯型數(shù)據(jù)(邏輯型數(shù)據(jù)(LogicalLogical)邏輯型數(shù)據(jù)通常用來(lái)表示某個(gè)條件是否成立,邏輯型數(shù)據(jù)通常用來(lái)表示某個(gè)條件是否成立,可取值為邏輯真(可取值為邏輯真(.T.T.)和邏輯假()和邏輯假(.

46、F.F.)兩個(gè))兩個(gè)值,用值,用L L表示。邏輯型數(shù)據(jù)長(zhǎng)度固定為表示。邏輯型數(shù)據(jù)長(zhǎng)度固定為1 1個(gè)字節(jié)。個(gè)字節(jié)。邏輯型數(shù)據(jù)主要用于邏輯判定,如是否已婚、邏輯型數(shù)據(jù)主要用于邏輯判定,如是否已婚、是否滿足給定的條件等兩種狀態(tài)的數(shù)據(jù),可用是否滿足給定的條件等兩種狀態(tài)的數(shù)據(jù),可用邏輯型表示。邏輯型表示。 71日期型數(shù)據(jù)(日期型數(shù)據(jù)(DateDate)日期型數(shù)據(jù)用來(lái)表示日期,用日期型數(shù)據(jù)用來(lái)表示日期,用DD表示。長(zhǎng)度固表示。長(zhǎng)度固定為定為8 8位,存儲(chǔ)格式為位,存儲(chǔ)格式為“yyyymmdd”yyyymmdd”。日期型數(shù)據(jù)的顯示有多種格式,默認(rèn)采用美國(guó)日期型數(shù)據(jù)的顯示有多種格式,默認(rèn)采用美國(guó)格式格式mm/

47、dd/yymm/dd/yy(月(月/ /日日/ /年)??梢酝ㄟ^(guò)年)??梢酝ㄟ^(guò)SESET DATET DATE、SET CENTURYSET CENTURY和和SET MARK TOSET MARK TO命令改變其顯示格式。命令改變其顯示格式。 72SET DATESET DATE格式:格式:SET DATE TO AMERICAN/ANSI/SET DATE TO AMERICAN/ANSI/BRITISH/FRENCH/GERMAN/ ITALIAN/JBRITISH/FRENCH/GERMAN/ ITALIAN/JAPAN/USA/MDY/DMY/YMDAPAN/USA/MDY/DMY/

48、YMD功能:指定日期表達(dá)式和日期時(shí)間表達(dá)式的顯功能:指定日期表達(dá)式和日期時(shí)間表達(dá)式的顯示格式。示格式。 73備注型數(shù)據(jù)(備注型數(shù)據(jù)(MemoMemo)備注型數(shù)據(jù)用來(lái)存放一些內(nèi)容較多或長(zhǎng)度不確備注型數(shù)據(jù)用來(lái)存放一些內(nèi)容較多或長(zhǎng)度不確定的文本信息,用定的文本信息,用MM表示。表示。備注型數(shù)據(jù)在表字備注型數(shù)據(jù)在表字段中的長(zhǎng)度為段中的長(zhǎng)度為4 4個(gè)字節(jié),它存放的只是一個(gè)指?jìng)€(gè)字節(jié),它存放的只是一個(gè)指針,用于指向字段的真正內(nèi)容,而該字段的真針,用于指向字段的真正內(nèi)容,而該字段的真正內(nèi)容存放在與表文件同名的一個(gè)表備注文件正內(nèi)容存放在與表文件同名的一個(gè)表備注文件(.FPT.FPT)中。當(dāng)復(fù)制和修改含有備注字段

49、的數(shù))中。當(dāng)復(fù)制和修改含有備注字段的數(shù)據(jù)表名時(shí),必須同時(shí)復(fù)制和修改它的表備注文據(jù)表名時(shí),必須同時(shí)復(fù)制和修改它的表備注文件名。件名。74通用型數(shù)據(jù)(通用型數(shù)據(jù)(GeneralGeneral)通用型數(shù)據(jù)專門用來(lái)存儲(chǔ)通用型數(shù)據(jù)專門用來(lái)存儲(chǔ)OLEOLE對(duì)象,用對(duì)象,用G G表示。表示。與備注型數(shù)據(jù)一樣,通用型數(shù)據(jù)在表字段中的與備注型數(shù)據(jù)一樣,通用型數(shù)據(jù)在表字段中的長(zhǎng)度為長(zhǎng)度為4 4個(gè)字節(jié),它存放的只是一個(gè)指針,其個(gè)字節(jié),它存放的只是一個(gè)指針,其真正的內(nèi)容也是存放在與數(shù)據(jù)表同名、擴(kuò)展名真正的內(nèi)容也是存放在與數(shù)據(jù)表同名、擴(kuò)展名為為.FPT.FPT的備注文件中。通用字段存儲(chǔ)的備注文件中。通用字段存儲(chǔ)OLEO

50、LE對(duì)象對(duì)象的大小僅受可用磁盤空間的限制。的大小僅受可用磁盤空間的限制。 75日期時(shí)間型數(shù)據(jù)(日期時(shí)間型數(shù)據(jù)(DateTimeDateTime)日期時(shí)間型數(shù)據(jù)用于保存日期和時(shí)間兩部分,日期時(shí)間型數(shù)據(jù)用于保存日期和時(shí)間兩部分,用用T T表示。表示。日期時(shí)間型數(shù)據(jù)占用日期時(shí)間型數(shù)據(jù)占用8 8個(gè)字節(jié),前個(gè)字節(jié),前4 4字節(jié)保存日字節(jié)保存日期,后期,后4 4字節(jié)保存時(shí)間,分別是時(shí)、分、秒。字節(jié)保存時(shí)間,分別是時(shí)、分、秒。存儲(chǔ)格式為存儲(chǔ)格式為“yyyymmdd hhmmss”yyyymmdd hhmmss”。 76貨幣型數(shù)據(jù)(貨幣型數(shù)據(jù)(CurrencyCurrency)貨幣型數(shù)據(jù)一般用于金融計(jì)算,用貨

51、幣型數(shù)據(jù)一般用于金融計(jì)算,用Y Y表示。表示。它具有自動(dòng)控制小數(shù)位數(shù)的功能,例如,當(dāng)貨它具有自動(dòng)控制小數(shù)位數(shù)的功能,例如,當(dāng)貨幣型字段或變量的數(shù)值小數(shù)位數(shù)超過(guò)幣型字段或變量的數(shù)值小數(shù)位數(shù)超過(guò)4 4位時(shí),位時(shí),V Visual FoxProisual FoxPro會(huì)將該數(shù)據(jù)四舍五入。貨幣型數(shù)會(huì)將該數(shù)據(jù)四舍五入。貨幣型數(shù)據(jù)存儲(chǔ)時(shí)占用據(jù)存儲(chǔ)時(shí)占用8 8個(gè)字節(jié)間,其取值范圍介于個(gè)字節(jié)間,其取值范圍介于-92-922 337 203 685 477.580 8922 337 203 62 337 203 685 477.580 8922 337 203 685 477.580 785 477.580 7

52、之間,并在貨幣型數(shù)據(jù)前加上之間,并在貨幣型數(shù)據(jù)前加上一個(gè)符號(hào)一個(gè)符號(hào)“$”$”。 77雙精度型數(shù)據(jù)(雙精度型數(shù)據(jù)(DoubleDouble)雙精度型數(shù)據(jù)用于存儲(chǔ)精度較高且固定位數(shù)的雙精度型數(shù)據(jù)用于存儲(chǔ)精度較高且固定位數(shù)的浮點(diǎn)數(shù)據(jù),用浮點(diǎn)數(shù)據(jù),用B B表示。例如,科學(xué)計(jì)算的數(shù)據(jù)表示。例如,科學(xué)計(jì)算的數(shù)據(jù)就最好設(shè)置為雙精度型。雙精度型數(shù)據(jù)占用就最好設(shè)置為雙精度型。雙精度型數(shù)據(jù)占用8 8個(gè)字節(jié),其取值范圍介于個(gè)字節(jié),其取值范圍介于 4.940 656 458 414.940 656 458 412 47E-3242 47E-324 8.9884656743115E+3078.988465674311

53、5E+307之之間。間。 78浮點(diǎn)型數(shù)據(jù)(浮點(diǎn)型數(shù)據(jù)(FloatFloat)浮點(diǎn)型數(shù)據(jù)功能上與數(shù)值型數(shù)據(jù)等價(jià),用浮點(diǎn)型數(shù)據(jù)功能上與數(shù)值型數(shù)據(jù)等價(jià),用F F表表示。示。Visual FoxProVisual FoxPro提供浮點(diǎn)型數(shù)據(jù)主要是為提供浮點(diǎn)型數(shù)據(jù)主要是為了保持與其他開發(fā)軟件和系統(tǒng)的兼容性。浮點(diǎn)了保持與其他開發(fā)軟件和系統(tǒng)的兼容性。浮點(diǎn)型數(shù)據(jù)在內(nèi)存中占型數(shù)據(jù)在內(nèi)存中占8 8個(gè)字節(jié),在表中占個(gè)字節(jié),在表中占1 12020個(gè)個(gè)字節(jié),其取值范圍為字節(jié),其取值范圍為-0.999 999 999 9E+1-0.999 999 999 9E+19 9+0.999 999 999E+20+0.999 9

54、99 999E+20。 79整型數(shù)據(jù)(整型數(shù)據(jù)(IntegerInteger) 整型數(shù)據(jù)用于存儲(chǔ)無(wú)小數(shù)部分的數(shù)值,只能用整型數(shù)據(jù)用于存儲(chǔ)無(wú)小數(shù)部分的數(shù)值,只能用于數(shù)據(jù)表中的字段,用于數(shù)據(jù)表中的字段,用I I表示。整型數(shù)據(jù)占用表示。整型數(shù)據(jù)占用4 4個(gè)字節(jié),以二進(jìn)制形式存儲(chǔ),不像個(gè)字節(jié),以二進(jìn)制形式存儲(chǔ),不像NumericNumeric那那樣需轉(zhuǎn)換成樣需轉(zhuǎn)換成ASCIIASCII碼存儲(chǔ)。可以提高程序的性碼存儲(chǔ)。可以提高程序的性能。整數(shù)型數(shù)據(jù)的取值范圍為:能。整數(shù)型數(shù)據(jù)的取值范圍為:-214 748 36-214 748 364 74 7214 748 364 6214 748 364 6。 80

55、二進(jìn)制大型對(duì)象(二進(jìn)制大型對(duì)象(BlobBlob)BlobBlob型數(shù)據(jù)是用來(lái)存儲(chǔ)各種型數(shù)據(jù)是用來(lái)存儲(chǔ)各種ASCIIASCII文本、可執(zhí)文本、可執(zhí)行文件、字節(jié)流,以及具有來(lái)確定長(zhǎng)度的二進(jìn)行文件、字節(jié)流,以及具有來(lái)確定長(zhǎng)度的二進(jìn)制數(shù)據(jù),用制數(shù)據(jù),用WW表示。表示。BlobBlob型數(shù)據(jù)在表中占型數(shù)據(jù)在表中占4 4個(gè)個(gè)字節(jié),范圍受可用內(nèi)存的限制或字節(jié),范圍受可用內(nèi)存的限制或2GB2GB文件限制。文件限制。BlobBlob型數(shù)據(jù)為在型數(shù)據(jù)為在SQL ServerSQL Server中存儲(chǔ)圖像提供中存儲(chǔ)圖像提供了更多的便利。要存儲(chǔ)固定長(zhǎng)度的二進(jìn)制值,了更多的便利。要存儲(chǔ)固定長(zhǎng)度的二進(jìn)制值,可以使用可以

56、使用VarbinaryVarbinary型數(shù)據(jù)。型數(shù)據(jù)。81可變(可變(VariantVariant)型數(shù)據(jù))型數(shù)據(jù)VariantVariant是一種特殊的數(shù)據(jù)類型,除了固定長(zhǎng)是一種特殊的數(shù)據(jù)類型,除了固定長(zhǎng)度的字符串外,度的字符串外,VariantVariant中可以包含任意類型中可以包含任意類型的數(shù)據(jù),還可以被設(shè)置為的數(shù)據(jù),還可以被設(shè)置為EmptyEmpty、ErrorError、和、和NULLNULL等特殊值。等特殊值。此外,此外,Visual FoxPro9.0Visual FoxPro9.0還提供了還提供了CharacCharacter Binaryter Binary、Intege

57、r AutoincInteger Autoinc、Memo biMemo binarynary、VarcharVarchar、Varchar BinaryVarchar Binary、VarVarbinarybinary和對(duì)象等類型數(shù)據(jù)。和對(duì)象等類型數(shù)據(jù)。返回82數(shù)值型常量數(shù)值型常量十進(jìn)制整數(shù)或?qū)崝?shù)十進(jìn)制整數(shù)或?qū)崝?shù), ,長(zhǎng)度包括整數(shù)位數(shù)、小數(shù)點(diǎn)和小數(shù)長(zhǎng)度包括整數(shù)位數(shù)、小數(shù)點(diǎn)和小數(shù)位數(shù)。例如:位數(shù)。例如:3.14159263.1415926,1.23E+151.23E+15字符型常量字符型常量用定界符括起來(lái)的字符串,定界符可以是西文單引號(hào)、用定界符括起來(lái)的字符串,定界符可以是西文單引號(hào)、雙引號(hào)或

58、方括號(hào),字符串由雙引號(hào)或方括號(hào),字符串由ASCIIASCII碼中可打印的字符和碼中可打印的字符和漢字組成。例如,漢字組成。例如,“X= ”“X= ”、123123、 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 。 是含有是含有3 3個(gè)空格的空格串,而個(gè)空格的空格串,而 是長(zhǎng)度為零的空串。是長(zhǎng)度為零的空串。定界符必須在英文的狀態(tài)下輸入并且成對(duì)出現(xiàn)。定界符必須在英文的狀態(tài)下輸入并且成對(duì)出現(xiàn)。83邏輯型常量邏輯型常量用圓點(diǎn)定界符括起來(lái),真和假。邏輯真常量可用圓點(diǎn)定界符括起來(lái),真和假。邏輯真常量可用用.T./.t.T./.t.、.Y./.y.Y./.y.表示;邏輯假常量則可用表示;邏輯假常量則可用.F.F./.f./.f.、.N.

59、/.n.N./.n.表示。表示。日期型常量日期型常量表示一個(gè)確切的日期,默認(rèn)情況下用嚴(yán)格的日表示一個(gè)確切的日期,默認(rèn)情況下用嚴(yán)格的日期格式期格式y(tǒng)yyy-mm-ddyyyy-mm-dd表示。例如:表示。例如:CTODCTOD(“07/30/08”)(“07/30/08”)、2008-7-302008-7-30等。等。通常日期型數(shù)據(jù)有傳統(tǒng)和嚴(yán)格兩種格式。通常日期型數(shù)據(jù)有傳統(tǒng)和嚴(yán)格兩種格式。 84傳統(tǒng)日期格式。系統(tǒng)默認(rèn)為美國(guó)日期格式傳統(tǒng)日期格式。系統(tǒng)默認(rèn)為美國(guó)日期格式“mm/dd/yy”mm/dd/yy”,可以借助,可以借助SET DATE TSET DATE TO O 等命令改變?cè)O(shè)置。等命令改變

60、設(shè)置。嚴(yán)格日期格式。嚴(yán)格日期格式。yyyy-mm-ddyyyy-mm-dd格式書寫格式書寫的日期型數(shù)據(jù)能表達(dá)一個(gè)確切的日期,它的日期型數(shù)據(jù)能表達(dá)一個(gè)確切的日期,它不受不受SET DATE TOSET DATE TO等語(yǔ)句設(shè)置的影響。等語(yǔ)句設(shè)置的影響。85【例例1.11.1】 用不同日期格式顯示系統(tǒng)當(dāng)前日期。用不同日期格式顯示系統(tǒng)當(dāng)前日期。在命令窗口輸入以下命令(在命令窗口輸入以下命令(&后的內(nèi)容為注釋,可以不輸入):后的內(nèi)容為注釋,可以不輸入):?DATE()?DATE()& & 調(diào)用系統(tǒng)日期函數(shù)調(diào)用系統(tǒng)日期函數(shù)SET DATE TO YMDSET DATE TO YMD& & 設(shè)置年月日格式

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論