第五章
數(shù)據(jù)管理系統(tǒng)是管理數(shù)據(jù)庫的系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的接口,提供*縱數(shù)據(jù)庫的各種命令。
數(shù)據(jù)庫統(tǒng)是由用戶、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫構(gòu)成的。
Foxpro特點:windows應(yīng)用程序風(fēng)格,非編程接口,多用戶功能,提供了應(yīng)用程序開發(fā)工具,快速查找機制,提供了真正的編譯器,提供了與高級語言接口,提供了對SQL的支持。
FoxPro提供了一個真正的編譯器“Distribution Kit”,可將FoxPro應(yīng)用程序編譯為直接在*作系統(tǒng)下運行的“。exe”文件;提供了一個真正的外部程序接口“Library Construction Kit”,允許開發(fā)者用C語言創(chuàng)建FoxPro函數(shù)。
在FoxPro中每一條記錄最多可以有255個字段,最多可以有65000個內(nèi)存變量。
在FoxPro中,一個二維表即稱為一個文件,二維表是以文件的形式存儲在磁盤上的,一個關(guān)系就是一個文件,這樣的文件稱為數(shù)據(jù)庫文件。 a$b測試字符串a(chǎn)是不是b的子串,a#b=a b
Foxpro的各類文件及其擴展名
庫文件dbf
備注文件fpt
備注后備文件tbk
后備文件bak
臨時文件tmp
索引文件idx
復(fù)合索引文件cdx
查詢程序文件qpr
編譯查詢程序文件qpx
Foxdoc文件文件doc
屏幕文件scx
屏幕備注文件sct
屏幕程序文件spr
編譯屏幕程序文件spx
配置文件config.fpw
菜單文件mnx
菜單備注文件mnt
菜單程序文件mpr
編譯菜單程序文件mpx
資源文件foxuser.fpt
項目文件pjx
項目備注文件pjt
項目程序文件app
項目可執(zhí)行文件exe
幫助文件foxhelp.dbf
格式文件fmt
編譯格式文件frx
報表格式文件frx
報表備注文件frt
幫助備注文件foxhelp.fpt
標(biāo)簽文件lbx
標(biāo)簽備注文件lbt
程序文件prg
編譯程序文件fxp
可執(zhí)行文件exe
視圖文件vue
鍵盤宏文件fky
內(nèi)存變量文件mem
編譯記事文件log
編譯出錯記錄文件err
文本文件txt
窗口文件win
菜單:文件file編輯edit數(shù)據(jù)庫database記錄record程序program運行run文字text窗口window幫助help
在FoxPro菜單中,如果菜單右面帶有省略號(…),表示選擇菜單會彈出一個對話框窗口,如果菜單中某些項呈暗淡的灰色,表示該功能在當(dāng)前狀態(tài)下不能使用。ALT或F10調(diào)用菜單。
命令窗口的顯示與隱藏可通過Window的“Command” 和“Hide”選項來控制。
FoxPro的數(shù)據(jù)類型有七種,它們的名字和簡寫字母是字符型C、數(shù)值型N、浮點型F、邏輯型L、日期型D、備注型M和通用型G ,數(shù)據(jù)庫中的字段變量可取其中的七種。內(nèi)存變量是字符型、數(shù)值型、邏輯型、浮點型、屏幕S數(shù)據(jù),常量通常只有字符型、數(shù)值型、日期型和邏輯型四種數(shù)據(jù)類型。
變量名不超過10個字母、數(shù)字和下劃線組成,而且必須以字母開頭,但系統(tǒng)變量一般以下劃線開頭。
字符型字段的最大長度是254個字符長,一個漢字視作2個ASCII碼字符,字符型數(shù)據(jù)可進行大小比較運算和字符連接運算。數(shù)值或浮點數(shù)據(jù)最大寬度為20.邏輯型字段固定的長度為1個字節(jié),邏輯真值可用。T.或。Y.表示,邏輯假值可用。F.或。N.表示。日期型數(shù)據(jù)寬度固定為8;可以與數(shù)值相加減,所得結(jié)果為另一個日期,兩個日期型數(shù)據(jù)可以相減,結(jié)果為兩個日期之間的天數(shù)。備注、通用字段的寬度為10個字節(jié),該字段中存放的是指向存放備注內(nèi)容的地址指針,或指向圖形、圖像、聲音等文件的地址指針。在備注中,備注字段的每個數(shù)據(jù),按大小為512個字節(jié)的數(shù)據(jù)塊存放。對常量而言,名和值是一致的,對變量而言,名和值是不一致的。字符變量是“”、‘’或〔〕定界,日期變量用{}定界,邏輯常量用……定界。FoxPro的變量有兩種,單值的內(nèi)存變量和多值的字段變量。當(dāng)字段變量與內(nèi)存變量同名時,字段變量優(yōu)先,可通過在內(nèi)存變量名前加M.或M- 來區(qū)別。
從內(nèi)存變量的組織形式上看,它可分為標(biāo)量與數(shù)組,從內(nèi)存變量的作用域上看,它可分為全局變量和局部變量。
單個常量、變量或函數(shù)都是表達式的特殊形式之一。表達式是指通過各種運算符連接的常量、字段變量、內(nèi)存變量、函數(shù)等運算對象所構(gòu)成的有意義的算式。
Foxpro的運算符有算術(shù)、字符串、關(guān)系、邏輯。比較運算會產(chǎn)生邏輯結(jié)果。字符串運算符有+、-、==、$.。
FoxPro有200多條命令,它一般由命令動詞開頭,后跟一個或多個限定該動詞的子句構(gòu)成。子句一般由動能短語和表達式構(gòu)成。FoxPro命令,常見的子句有三種,分別是是范圍子句,條件子句,字段列表子句。
命令名 [ 表達式表 ][ 范圍 ][FOR 條件 ][WHILE 條件 ][TO FILE 文件名 |TO PRINTER|TO ARRAY 數(shù)組表 |TO 內(nèi)存變量 ][ALL[LIKE|EXCEPT 通配符 ]][IN 別名 ]][FIELDS 字段列表 ]
①[FIELDS 字段列表 子句用于指定被*作數(shù)據(jù)庫文件的字段,是對二維數(shù)組表格各列的*作,又稱投影*作。
②而[ 范圍 ]子句、[FIELDS 條件 ]子句或[ WHILE條件 ]子句用于指定被*作記錄的范圍和被*作記錄要滿足的要求,對二維表格各行的*作,又稱選擇*作。其中 條件 是一個邏輯表達式。
③FOR 條件 [WHILE 條件 ]這兩個條件子句是有區(qū)別的,前者能對所有數(shù)據(jù)庫中滿足條件的記錄*作,后者一旦遇到不滿足條件的記錄便停止*作。
有個別的命令不是命令動詞開頭的,而是以特殊符號,例如命令?和@.
FoxPro中,投影*作的子句是字段列表子句,選擇*作的子句是范圍子句和條件子句。
當(dāng)數(shù)據(jù)庫一打開(如果不是空庫)記錄 指針指向記錄1的位置。