![數(shù)據(jù)庫(kù)及其應(yīng)用_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/d9838f90-fa44-4135-85e5-7a47720413c3/d9838f90-fa44-4135-85e5-7a47720413c31.gif)
![數(shù)據(jù)庫(kù)及其應(yīng)用_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/d9838f90-fa44-4135-85e5-7a47720413c3/d9838f90-fa44-4135-85e5-7a47720413c32.gif)
![數(shù)據(jù)庫(kù)及其應(yīng)用_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/d9838f90-fa44-4135-85e5-7a47720413c3/d9838f90-fa44-4135-85e5-7a47720413c33.gif)
![數(shù)據(jù)庫(kù)及其應(yīng)用_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/d9838f90-fa44-4135-85e5-7a47720413c3/d9838f90-fa44-4135-85e5-7a47720413c34.gif)
![數(shù)據(jù)庫(kù)及其應(yīng)用_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/d9838f90-fa44-4135-85e5-7a47720413c3/d9838f90-fa44-4135-85e5-7a47720413c35.gif)
版權(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)用 學(xué)習(xí)大綱 第1章 數(shù)據(jù)庫(kù)系統(tǒng)的基本概念1.1 信息、數(shù)據(jù)和數(shù)據(jù)處理計(jì)算機(jī)是處理數(shù)據(jù)的,而數(shù)據(jù)處理的基礎(chǔ)首先是數(shù)據(jù)的組織、存儲(chǔ),然后是查詢檢索、維護(hù)、加工和利用。掌握以下幾個(gè)概念和術(shù)語(yǔ): 信息現(xiàn)實(shí)世界在人們頭腦中的反映,是一個(gè)抽象概念,用以觀察、認(rèn)識(shí)和改造世界。 數(shù)據(jù)用以載荷信息的符號(hào)。該符號(hào)是人為規(guī)定的,在不同的領(lǐng)域有不同的符號(hào)表示。計(jì)算機(jī)中以0、1兩個(gè)符號(hào)的編碼表示各種信息。 信息與數(shù)據(jù)二者既有區(qū)別又有聯(lián)系,數(shù)據(jù)是信息的載體;信息是數(shù)據(jù)符號(hào)的內(nèi)涵。同一信息可以有不同的數(shù)據(jù)形式;同一數(shù)據(jù)也可能有不同的解釋。 數(shù)據(jù)處理即信息處理。將輸入計(jì)算機(jī)中的原始數(shù)據(jù)經(jīng)過(guò)加工計(jì)算產(chǎn)生新的數(shù)據(jù),
2、這新的數(shù)據(jù)代表了新的信息,用以指導(dǎo)工作和輔助決策。 數(shù)據(jù)管理數(shù)據(jù)處理包括數(shù)據(jù)計(jì)算和數(shù)據(jù)管理,前者用于較小范圍的科學(xué)計(jì)算領(lǐng)域;后者廣泛用于各個(gè)領(lǐng)域,指數(shù)據(jù)的收集、整理、組織、存儲(chǔ)、查詢、維護(hù)和傳遞等操作。1.2 數(shù)據(jù)庫(kù)管理技術(shù)的發(fā)展 自由管理階段>文件管理階段>數(shù)據(jù)庫(kù)階段(無(wú)專門(mén)數(shù)據(jù)管理 (文件管理 (數(shù)據(jù)庫(kù)管理 功能) 系統(tǒng)) 系統(tǒng))1.3 數(shù)據(jù)庫(kù)系統(tǒng)的組成與結(jié)構(gòu)掌握以下幾個(gè)概念和術(shù)語(yǔ): 數(shù)據(jù)庫(kù)DB將數(shù)據(jù)按一定的數(shù)據(jù)結(jié)構(gòu)組織起來(lái)存儲(chǔ)在磁盤(pán)等外部介質(zhì)上,既能保證數(shù)據(jù)間的必要聯(lián)系,又能使冗余度達(dá)到最小。 數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS數(shù)據(jù)庫(kù)系統(tǒng)中用于數(shù)據(jù)管理的軟件。包括對(duì)數(shù)據(jù)庫(kù)的定義、數(shù)據(jù)的查
3、詢、數(shù)據(jù)的修改維護(hù)、數(shù)據(jù)庫(kù)的運(yùn)行等各種操作。一、數(shù)據(jù)庫(kù)系統(tǒng)的組成 作為一個(gè)整體的數(shù)據(jù)庫(kù)系統(tǒng),其組成除了計(jì)算機(jī)的軟、硬件環(huán)境外,主要由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用程序(用戶使用數(shù)據(jù)庫(kù)時(shí)的各種程序)及專職的數(shù)據(jù)庫(kù)管理員共同組成。二、數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu) 三級(jí)組織結(jié)構(gòu): 外模式模式(又稱概念模式)內(nèi)模式其中: 內(nèi)模式:又稱存儲(chǔ)模式,是具體描述數(shù)據(jù)如何實(shí)現(xiàn)物理存儲(chǔ)。是系統(tǒng)程序員的視圖。 概念模式:又稱模式,是對(duì)數(shù)據(jù)庫(kù)整體的邏輯描述,并不涉及物理實(shí)現(xiàn)。是數(shù)據(jù)庫(kù)管理員面對(duì)的視圖。 外模式:面向用戶的模式,即用戶眼中的數(shù)據(jù)庫(kù),故稱“用戶視圖”。三個(gè)模式之間的關(guān)系: 三個(gè)模式站在不同的角度看待數(shù)據(jù)庫(kù),形成了用戶
4、觀、總體觀和存儲(chǔ)觀;總體觀和存儲(chǔ)觀只有一個(gè),而用戶觀則根據(jù)用戶的不同應(yīng)用可能有多個(gè)。 從數(shù)據(jù)存儲(chǔ)來(lái)看,其中只有內(nèi)模式才是真正存儲(chǔ)數(shù)據(jù)的,其它2個(gè)均為邏輯描述。三個(gè)模式之間的映射: 在三個(gè)模式之間存在著兩種映射:一是將用戶數(shù)據(jù)庫(kù)與概念數(shù)據(jù)庫(kù)聯(lián)系起來(lái)的“外模式/模式”間的映射;另一是將概念數(shù)據(jù)庫(kù)與物理數(shù)據(jù)庫(kù)聯(lián)系起來(lái)的“模式/內(nèi)模式”間的映射。三、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS 它是數(shù)據(jù)庫(kù)系統(tǒng)的重要組成部分 DBMS的功能 數(shù)據(jù)庫(kù)定義功能 由DDL數(shù)據(jù)描述語(yǔ)言完成 模式間映射功能 數(shù)據(jù)庫(kù)操縱功能 由DML數(shù)據(jù)操縱語(yǔ)言實(shí)現(xiàn) 提供程序設(shè)計(jì)語(yǔ)言功能 2種語(yǔ)言:宿主型和自主型 數(shù)據(jù)庫(kù)運(yùn)行控制功能 數(shù)據(jù)庫(kù)維護(hù)功能 第
5、二章 數(shù)據(jù)模型2.1 什么是數(shù)據(jù)模型 數(shù)據(jù)模型既包括實(shí)體的集合又包括實(shí)體間聯(lián)系的集合。利用這種聯(lián)系才能找到相關(guān)聯(lián)的一串?dāng)?shù)據(jù)。2.2 實(shí)體聯(lián)系模型 掌握有關(guān)術(shù)語(yǔ):實(shí)體(三種)、屬性(實(shí)體所具有的性質(zhì))、實(shí)體型(實(shí)體集中各實(shí)體共有的特征描述)、實(shí)體值(當(dāng)各特征有了具體內(nèi)容后,這些特征便確定了一個(gè)實(shí)體集中的個(gè)體,就叫一個(gè)具體的實(shí)體值)、實(shí)體集(同一類型的實(shí)體集合)、值域(屬性的取值范圍)、主關(guān)鍵字(用于區(qū)別實(shí)體集中不同個(gè)體的屬性)、外來(lái)關(guān)鍵字(某屬性雖非該實(shí)體的主鍵,但卻是另一實(shí)體的主鍵) 用ER圖方法分析實(shí)體間的聯(lián)系2.3 數(shù)據(jù)庫(kù)類型根據(jù)不同的數(shù)據(jù)模型結(jié)構(gòu)而定義了不同的數(shù)據(jù)庫(kù)類型。主要有三種數(shù)據(jù)模
6、型:層次模型、網(wǎng)絡(luò)模型和關(guān)系模型 2.3.1 層次模型2.3.2 網(wǎng)絡(luò)模型2.3.3 關(guān)系模型用二維表的形式來(lái)表示實(shí)體及其聯(lián)系。 二維表(亦稱關(guān)系)包括: 表頭 (亦稱關(guān)系框架、表結(jié)構(gòu)、屬性名) 表體(即表的具體內(nèi)容,由一條條記錄組成)2.4 從ER圖導(dǎo)出關(guān)系模型第3章 關(guān)系數(shù)據(jù)庫(kù)理論基礎(chǔ)3.1 關(guān)系的數(shù)學(xué)定義 域(Domain)值的集合,即:可能取值的范圍。域中數(shù)據(jù)個(gè)數(shù)稱為域的基數(shù)。 如 男、女(性別域,基數(shù)2) 已婚、未婚、離異、喪偶(婚姻 狀況域,基數(shù)4) 笛卡爾積(Cartesian Product)一組域的所有各種組合,其中每一種組合狀況稱為一個(gè)元組。 如:上例中 D1=性別域男、女
7、 D2=婚姻 狀況域已婚、未婚、離異、喪偶 其笛卡爾積可表示為: D1*D2=男,已婚男,未婚男,離異男,喪偶女,已婚女,未婚女,離異女,喪偶 共有8個(gè)元組。 引例:給出三個(gè)域: D1=男人集合(MAN)=王兵,李平,張軍 D2=女人集合(WOMAN)=丁枚,吳芳 D3=兒童集合(CHILD)=王一,李一,李二請(qǐng)寫(xiě)出他們組合的笛卡爾積。 關(guān)系D1*D2* *Dn的子集叫做在域D1,D2, Dn上的關(guān)系(Relation)。關(guān)系是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域,每列起一個(gè)名字,稱為屬性。下面我們?cè)谏鲜龅睦又腥〕龅芽柗e的一個(gè)子集來(lái)構(gòu)造一個(gè)關(guān)系:這個(gè)關(guān)系的名字為家庭,域名為
8、男人、女人、兒童,表示為:家庭(丈夫、妻子、孩子)關(guān)系是笛卡爾積的子集,而只有取某一子集才有一定實(shí)際意義。例如上例中,在18個(gè)元素中,只有3個(gè)有實(shí)際意義,而其他元素作為關(guān)系是無(wú)意義的。請(qǐng)把以上有實(shí)際意義的關(guān)系列成一個(gè)二維表。3.2 關(guān)系的性質(zhì)作為以二維表形式表示的關(guān)系,必須具備以下性質(zhì): 屬性名必須是不可再分的簡(jiǎn)單數(shù)據(jù)項(xiàng) 列是同質(zhì)的 列的前后次序無(wú)關(guān)緊要 行的前后次序無(wú)關(guān)緊要 每行代表一個(gè)具體實(shí)體,稱為表中的元組。表中不能有完全相同的兩行。3.3 關(guān)系數(shù)據(jù)描述語(yǔ)言DDL 1) 有二種:?jiǎn)柎鹗胶驼Z(yǔ)言描述式 2)關(guān)系模式的三類完整性規(guī)則 實(shí)體完整性 關(guān)系中的主鍵不允許為空 引用完整性 不同關(guān)系之間
9、的聯(lián)系是通過(guò)“外部關(guān)鍵字”實(shí)現(xiàn)的,當(dāng)一個(gè)關(guān)系通過(guò)外部鍵引用另一個(gè)關(guān)系中的記錄時(shí),它必須能在被引用的關(guān)系中找到這個(gè)記錄,否則無(wú)法實(shí)現(xiàn)聯(lián)系。 用戶定義的完整性 指對(duì)關(guān)系模式中的各個(gè)數(shù)據(jù)的數(shù)據(jù)類型、長(zhǎng)度、取值范圍等的約束,由用戶通過(guò)DBMS提供的數(shù)據(jù)語(yǔ)言進(jìn)行統(tǒng)一的控制。3.4 關(guān)系數(shù)據(jù)操縱語(yǔ)言DML 關(guān)系數(shù)據(jù)語(yǔ)言建立在關(guān)系代數(shù)基礎(chǔ)上,具有以下特點(diǎn): 以關(guān)系為單位進(jìn)行數(shù)據(jù)操作,操作的結(jié)果也是關(guān)系。 非過(guò)程性強(qiáng),很多操作只需指出做什么,而無(wú)須步步引導(dǎo)如何作。 以關(guān)系代數(shù)為基礎(chǔ),借助傳統(tǒng)的集合運(yùn)算和專門(mén)的關(guān)系運(yùn)算,使關(guān)系數(shù)據(jù)語(yǔ)言有很強(qiáng)的數(shù)據(jù)操縱能力。3.5 關(guān)系代數(shù) 因?yàn)閿?shù)據(jù)庫(kù)中的關(guān)系是一個(gè)集合,關(guān)系中的
10、“元組”即是“集合中的元素”,所以關(guān)系代數(shù)的關(guān)系運(yùn)算用于數(shù)據(jù)庫(kù)的操作。一、集合運(yùn)算 傳統(tǒng)的集合運(yùn)算:并集:由2個(gè)關(guān)系R和S中的所有元素構(gòu)成新的關(guān)系。記為RS。交集:由2個(gè)關(guān)系R和S中的所有共同元素構(gòu)成新的關(guān)系。記為RS 。差集:由屬于R而不屬于S的所有元素組成的新的關(guān)系 。記為R-S。 專門(mén)的關(guān)系運(yùn)算選擇運(yùn)算(selection):從關(guān)系中挑選出滿足條件的記錄(行)生成新關(guān)系。即生成水平方向的子集。投影運(yùn)算(projection):從關(guān)系中挑選出若干字段(列)生成新關(guān)系。即生成垂直方向的子集。連接運(yùn)算(join):連接2個(gè)關(guān)系所生成的新關(guān)系。由不同的連接類型和連接條件組成不同的結(jié)果。二、相關(guān)術(shù)
11、語(yǔ): 域、笛卡爾積、選擇、投影、連接、自然連接。3.6 關(guān)系規(guī)范化一、關(guān)系中的函數(shù)依賴 1.函數(shù)依賴概念只要關(guān)系中的主鍵一旦取值,其它非主屬性值必隨之確定,則稱關(guān)系中的非主屬性函數(shù)依賴于主鍵。2.完全函數(shù)依賴與部分函數(shù)依賴當(dāng)主鍵由2個(gè)以上的字段組合時(shí),非主屬性必須函數(shù)依賴于組成主鍵的所有字段,才稱為“完全函數(shù)依賴”。否則,是“部分函數(shù)依賴”。3.傳遞函數(shù)依賴屬性之中存在間接依賴則稱“傳遞函數(shù)依賴”。二、范式與規(guī)范化1.范式(Normal form 簡(jiǎn)稱NF)滿足一定條件的規(guī)范模式。分為一級(jí)(1NF)、二級(jí)(2NF)、三級(jí)(3NF)其中: 1NF各屬性項(xiàng)均為平滑的基本項(xiàng)。 2NF各非主屬性項(xiàng)均完
12、全函數(shù)依賴于主鍵。 3NF各非主屬性項(xiàng)與主鍵均不存在傳遞函數(shù)依賴。2.關(guān)系規(guī)范化 規(guī)范化過(guò)程是一個(gè)不斷分解關(guān)系的過(guò)程,以逐步達(dá)到較高的范式要求。分解的要求; 分解必須是無(wú)損的,不能丟失原信息。 分解后的關(guān)系要相互獨(dú)立,避免對(duì)一個(gè)關(guān)系的修改而波及另一個(gè)。應(yīng) 用 篇第五章 FoxPro 綜述5.1 FoxPro的特點(diǎn)、文件類型及主要技術(shù)指標(biāo) 掌握幾個(gè)主要的文件類型及擴(kuò)展名 了解幾個(gè)主要的技術(shù)指標(biāo) FoxPro 的安裝、啟動(dòng)及其用戶界面 掌握FoxPro 的各種啟動(dòng)方法并熟悉其界面窗口 菜單的各項(xiàng)功能及菜單操作 命令窗口中的單命令操作方式5.3 FoxPro 中的數(shù)據(jù)類型、常量、變量、運(yùn)算符與表達(dá)式
13、 1.數(shù)據(jù)類型 C型、N型、F型、L型、D型、M型、G型 2.常量 只有4種:字符型、數(shù)值型、日期型、邏輯型 3.變量 3種:字段變量、內(nèi)存變量、數(shù)組變量注意:其中同名的字段變量?jī)?yōu)先,但可以用M->來(lái)強(qiáng)調(diào)內(nèi)存變量。4. 運(yùn)算符 算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符。其中字符串運(yùn)算符補(bǔ)充 :$(包含運(yùn)算符),其運(yùn)算結(jié)果為邏輯值.T. 或 .F.。例:“海淀區(qū)” $“北京市海淀區(qū)” 結(jié)果:.T. “海淀區(qū)” $ “北京海淀” 結(jié)果:.F.5. 表達(dá)式 與四類運(yùn)算符相對(duì)應(yīng)有四類表達(dá)式: 算術(shù)表達(dá)式 A+B 字符串運(yùn)算表達(dá)式 “中國(guó) ”+ “北京”=“中國(guó) 北京” 或: “中國(guó) ”-
14、 “北京”=“中國(guó)北京 ” 關(guān)系表達(dá)式 A<=B 或 “中國(guó)”> “美國(guó)” 邏輯表達(dá)式 A> B .and. C< D 根據(jù)表達(dá)式的運(yùn)算結(jié)果的數(shù)據(jù)類型,以上又可分為字符型表達(dá)式、數(shù)值型表達(dá)式、日期型表達(dá)式和邏輯型表達(dá)式。5.4 FoxPro 命令的一般格式1.命令格式2.命令的書(shū)寫(xiě)3.命令的執(zhí)行方式5.5 內(nèi)存變量的操作1.賦值操作(賦值號(hào)=、STORE命令)2.保存操作 分為3種格式:SAVE TO <內(nèi)存變量文件名> SAVE TO <內(nèi)存變量文件名> ALL LIKE <通配項(xiàng)>SAVE TO <內(nèi)存變量文件名> A
15、LL EXCEPT <通配項(xiàng)>3.恢復(fù)操作(RESTORE FROM <內(nèi)存變量文件名> )4.清除操作(3種語(yǔ)句格式)5.顯示操作(2種:LIST和DISPLAY命令)6.輸出操作(2種:?和?)5.6 數(shù)組操作1.定義數(shù)組(DIMENSION語(yǔ)句)2.給數(shù)組賦值(“=”和STORE語(yǔ)句)5.7 函數(shù) 函數(shù)的一般形式: 函數(shù)名(<參數(shù)表>) 即: 函數(shù)名(<參數(shù)1>,<參數(shù)2>,,<參 數(shù)n >)說(shuō)明:對(duì)于每一個(gè)函數(shù)要求了解:j 該函數(shù)的格式 k 該函數(shù)的功能 l 該函數(shù)的數(shù)據(jù)類型,包括參數(shù)的類型和函數(shù)返回值(即:函數(shù)結(jié)
16、果)的類型 數(shù)值函數(shù) 字符串函數(shù) 日期和時(shí)間函數(shù) 類型轉(zhuǎn)換函數(shù) 測(cè)試函數(shù)補(bǔ)充:1)Right(表達(dá)式,n) 功能:從字符表達(dá)式的右邊截取n個(gè)字符 類型:表達(dá)式為C型;n為N型;函數(shù)返回值 為C型 例: Right(“中國(guó)人民”,4) 結(jié)果:人民2) Left(表達(dá)式,n) 功能:從字符表達(dá)式的左邊截取n個(gè)字符 類型:同上 例: Left (“中國(guó)人民”,4) 結(jié)果:中國(guó)練習(xí):1. 寫(xiě)出下列命令的執(zhí)行結(jié)果 ? INT(156.7) ? SQRT(36) ? MIN(-1,1,10) ? MAX(-1,1,10) ? MOD(13,6) ? ROUND(234.137,2) ? AT (“海淀”,
17、“北京市海淀區(qū)”)8)?RIGHT( “ 李大華”,2 )9)?3+2410) ?LEN( “4+23”)11) ? TYPE(“DATE( )”)12) ? “BYE” $ “GOOD BYE”13) ? TYPE(“123”)14) ? LEFT(“中國(guó)人民”,2)+RIGHT(“人民萬(wàn)歲”,2)15) ? VAL(“532xyz”)+3616) ? VAL(“123”)+LEN(“abcd”)2.求下列邏輯表達(dá)式的值 設(shè)X=0, Y=1, X1=“BC”, Y1=.F.2)X>Y.AND.X<Y.OR.NOT.Y1.AND.NOT.X1=“BC”3. 根據(jù)問(wèn)題要求,寫(xiě)出Fox
18、Pro表達(dá)式1) 10<y<=1002) 總分在90以上的女同學(xué)3)年齡小于40 的教授4)平均成績(jī)?cè)?090之間的姓“白”的同學(xué)5)求出“1234”前兩位數(shù)字6)求出三個(gè)數(shù)中最大數(shù)的2倍7)將2001年9月28日中的年份分離出來(lái)8)“計(jì)算機(jī)”或“英語(yǔ)”成績(jī)不合格的同學(xué)9)查看當(dāng)前工作區(qū)中當(dāng)前記錄號(hào)練習(xí)4. 寫(xiě)出以下結(jié)果:1) 表達(dá)式VAL(SUBSTR(“長(zhǎng)城386”,7,1)*LEN(IBMPC)2) 設(shè)A=456,則32+&A的結(jié)果是_.3) P1=中國(guó)人民,則?“偉大的&P1.萬(wàn)歲!”的輸出結(jié)果是_.練習(xí)中要注意的問(wèn)題: 標(biāo)點(diǎn)符號(hào)一律用西文下的符號(hào) 賦值語(yǔ)句
19、要一句一句來(lái) 練習(xí)3和練習(xí)4寫(xiě)在紙上交來(lái)。練習(xí)3的前提是:假設(shè)在 .dbf文件中有“總分”、“性別”、“年齡”、“職稱”、“姓名”等字段,請(qǐng)你用允許的表達(dá)式形式把各句話表達(dá)出來(lái)。第六章 數(shù)據(jù)庫(kù)的基本操作6.1 建立數(shù)據(jù)庫(kù)1.先定義庫(kù)文件結(jié)構(gòu) 命令:CREATE <文件名>注意:<文件名>是包含盤(pán)符、路徑的文件全名2.錄入數(shù)據(jù) 1)立即錄入(回答input data record now?) 2)用APPEND語(yǔ)句追加(追加在最后)3.顯示記錄 LIST|DISPLAY <范圍>FILD <字段名表>FOR|WHILE <條件>4.打開(kāi)
20、庫(kù)文件 USE <庫(kù)文件名>5.關(guān)閉庫(kù)文件 USE|CLOSE DATABASES6.2 庫(kù)文件的維護(hù)與修改1. 庫(kù)文件的顯示1)文件結(jié)構(gòu)的顯示 LIST STRUCTURE 或 DISPLAY STRUCTURE2)文件內(nèi)容的顯示(LIST/ DISPLAY注意完整格式的各可選項(xiàng)含義)2. 庫(kù)文件的修改 1)文件結(jié)構(gòu)的修改(先打開(kāi)庫(kù)文件) MODIFY STRUCTURE 2)文件內(nèi)容的修改(插入、刪除和編輯)3. 記錄的指針定位FOX系統(tǒng)提供了一個(gè)總是指向當(dāng)前記錄的“指針”,此指針隨著庫(kù)文件的操作而移動(dòng)。 1)絕對(duì)移動(dòng) GO TOP 將指針指向第一條記錄 GO BOTTOM 將
21、指針指向最后一條記錄 GO n 或 GO <數(shù)值表達(dá)式> 將指針指向指定的記錄 2)相對(duì)移動(dòng) SKIP n 或 SKIP< 數(shù)值表達(dá)式> “正”向下移,“負(fù)”向 上移;缺省默認(rèn)為1。 3)三個(gè)有關(guān)的函數(shù) BOF() 測(cè)試文件的開(kāi)始,函數(shù)的結(jié)果為邏輯值.T.或.F. EOF() 測(cè)試文件的結(jié)束,函數(shù)的結(jié)果為邏輯值.T.或.F. RECN() 測(cè)試文件的當(dāng)前記錄是哪一條,函數(shù)的結(jié)果為數(shù)值n。 記錄的插入 INSERT BEFORE BLANK 一定要先明確當(dāng)前記錄的定位,然后再進(jìn)行插入操作。 第一選項(xiàng)意為在當(dāng)前記錄之前插入,缺省默認(rèn)為后插入;第二選項(xiàng)意為插入一條空記錄,該命
22、令執(zhí)行后并不產(chǎn)生等待輸入的窗口。5. 記錄的刪除 1)邏輯刪除 DELETE <范圍> FOR|WHILE <條件>注意各個(gè)可選項(xiàng)的有無(wú)及含義,缺省范圍意為只刪當(dāng)前一條。 此命令并未真正刪除,僅在記錄前做一刪除標(biāo)志。2)恢復(fù)邏輯刪除 RECALL <范圍> FOR|WHILE <條件>此命令的功能是去掉刪除標(biāo)記,恢復(fù)為正常記錄。 注意各個(gè)可選項(xiàng)的有無(wú)及含義,缺省范圍意為只恢復(fù)當(dāng)前一條記錄。3)物理刪除 PACK 將帶有刪除標(biāo)記的所有記錄徹底 刪除,它們將不可能再恢復(fù)。 ZAP 直接刪除已打開(kāi)的庫(kù)文件中的全部記錄,只剩庫(kù)結(jié)構(gòu)。4)與邏輯刪除有關(guān)的系
23、統(tǒng)參數(shù) SET DELETE OFF | ON功能:設(shè)置在邏輯刪除之后,系統(tǒng)是否認(rèn)可的規(guī)定(取ON時(shí)認(rèn)可刪除;取OFF時(shí)不認(rèn)可刪除)。6 . 記錄內(nèi)容的修改1)全屏幕編輯狀態(tài)修改 EDIT|CHANGE <范圍> FILD <字段名表>FOR|WHILE <條件> 注意命令中選擇項(xiàng)的含義 體會(huì)執(zhí)行該命令時(shí)的全屏幕編輯狀態(tài) 注意備注型字段的修改操作(按<Ctrl+PgDn>、<Ctrl+PgUp>或雙擊鼠標(biāo)進(jìn)入備注字段編輯窗口,修改后按<Ctrl+W>保存,并退出備注字段編輯窗口;若按ESC鍵或<Ctrl+Q>則
24、放棄修改并退出。 ) 2)瀏覽編輯修改 BROWSE命令 注意執(zhí)行該命令后屏幕上顯示的格式(與LIST命令不同) 注意命令中各選擇項(xiàng)的含義3)成批替換修改 REPLACE <范圍> <字段1> WITH <字段2> FOR|WHILE <條件> 例:將每個(gè)人的工資都提高50 元 REPLACE ALL 工資 WITH 工資+50 練習(xí): 將所有工齡在30年以上的女教授的工資提高10%6.3 庫(kù)文件的排序與索引1.排序文件依據(jù)某個(gè)指定字段的值將記錄順序重新排列,生成一個(gè)新庫(kù)文件 SORT TO <文件名> ON <字段1>
25、/A/C/D<范圍>FILD <字段名表> FOR|WHILE <條件>例:將按“工資”項(xiàng)的從高到低排列,產(chǎn)生新的名為文件,只取姓名、職稱、工資三個(gè)字段。 將先按“工資”項(xiàng)的從高到低,如果相同再按姓名的升序排列。2.索引文件依據(jù)某個(gè)指定字段的值生成索引表,再以索引表的順序邏輯排列記錄 注意索引文件與排序文件的區(qū)別 a)文件后綴不同(.dbf|.idx) b)形成后的物理文件和邏輯文件的不同 c)執(zhí)行命令的系統(tǒng)開(kāi)銷(xiāo)不同 索引文件的類型單索引文件(.idx)和復(fù)合索引文件(.cdx)單索引文件只有命令操作方式,而無(wú)菜單操作。復(fù)合索引文件又分為兩種:結(jié)構(gòu)復(fù)合索引和
26、非結(jié)構(gòu)復(fù)合索引,前者:與主文件名同(僅后綴不同),且與主文件同步打開(kāi)、維護(hù);可用命令和菜單2種方式操作;后者:需要單獨(dú)取文件主名(后綴仍為.CDX),用時(shí)需單獨(dú)用命令打開(kāi),無(wú)菜單操作方式。復(fù)合索引文件其索引表中可容納多個(gè)用TAG標(biāo)識(shí)的索引項(xiàng),打開(kāi)一個(gè)復(fù)合索引文件相當(dāng)于打開(kāi)了多個(gè)單一索引文件。索引文件的有關(guān)操作 1)索引文件的建立 INDEX ON <關(guān)鍵字段名> TO <索引文件名> 命令中的<關(guān)鍵字段名>可以是多個(gè)字段,但要以+號(hào)連接成一個(gè)表達(dá)式形式,前提條件是類型必須相同,因此對(duì)于類型不同的字段,一定要事先進(jìn)行轉(zhuǎn)換(利用轉(zhuǎn)換函數(shù))。 用此命令建立起的索引
27、文件,系統(tǒng)自動(dòng)加了.idx后綴,且自動(dòng)呈打開(kāi)狀態(tài)。 一個(gè).dbf文件允許建立多個(gè)索引文件,但每建一個(gè)新的則把前一個(gè)已打開(kāi)的索引文件關(guān)閉,但若選擇了ADDITIVE短語(yǔ)則可以所建立的多個(gè)索引文件同時(shí)存在,此時(shí)最后建立的一個(gè)為主索引,即由它來(lái)控制邏輯順序。2)索引文件的打開(kāi) A)USE <庫(kù)文件名> INDEX <索引文件名表> 此命令為在打開(kāi).dbf文件的同時(shí)一并打開(kāi).idx文件,當(dāng)多個(gè)索引文件時(shí),以,隔開(kāi),規(guī)定第一個(gè)為主索引。 B)SET INDEX TO <索引文件名表> 此命令為在先打開(kāi).dbf文件后,再補(bǔ)充打開(kāi)一個(gè)或幾個(gè).idx文件。3)索引文件的關(guān)閉
28、 SET INDEX TO 或CLOSE INDEX 或 USE 均可4)指定主索引 SET ORDER TO <數(shù)值表達(dá)式>/<索引文件名> 此命令是改變默認(rèn)而特別指定主索引。5)重建索引文件 REINDEX6.4 數(shù)據(jù)查詢1.順序查詢 順序查詢是按記錄的排列順序在指定范圍內(nèi)逐個(gè)尋找滿足條件的記錄。查詢效率較低。 LOCATE命令 CONTINUE命令 a)執(zhí)行該命令即將指針定位在第一個(gè)滿足條件的記錄上,若要繼續(xù)往下查找,要緊接給出CONTINUE命令。 b)注意輔助該命令的執(zhí)行,F(xiàn)OUND()、EOF()兩函數(shù)的配合使用。2.索引查詢 這是在已建立了索引文件的基礎(chǔ)上
29、的查詢,必須先打開(kāi)相關(guān)的索引文件,并設(shè)好主索引。這種查詢效率高。FIND命令 a)此命令功能是查找索引關(guān)健字值與要查找的字符串或數(shù)值相等的記錄。它僅限C型、N型,而不能是D型、L型。當(dāng)要查找的是字符串時(shí),可省略定界符。 b)SET EXACT OFF/ON 狀態(tài)的設(shè)置關(guān)系到是否模糊查找。SEEK命令C) 此命令與FIND相似,不同點(diǎn)在于它可以查找包括N型、C型、D型、L型在內(nèi)的各種類型數(shù)據(jù),在查找C型的字符串常量時(shí)需加定界符,不加定界符視為變量名。 D)對(duì)于多關(guān)健字表達(dá)式的索引,要查找的也必須是同樣順序的表達(dá)式。再次提醒表達(dá)式的類型一定要一致。練習(xí):1)在中索引查找王林的記錄。 use rsd
30、a inde on 姓名 to XM find 王林 seek “王林”6.5 數(shù)據(jù)庫(kù)文件的其它操作對(duì)庫(kù)文件中的N型字段的值進(jìn)行計(jì)數(shù)、求和、求平均、匯總等操作。1.計(jì)數(shù)命令 COUNT命令例:分別統(tǒng)計(jì)出全班的男、女生人數(shù)。 use 學(xué)生.dbf count all for 性別=“男” to M count all for 性別=“女” to W ?M,W2.求和命令 SUM命令注意:命令中數(shù)值表達(dá)式可以是單字段、用“,”號(hào)隔開(kāi)的多字段也可以是數(shù)值字段組合表達(dá)式。例:1)求中所有人員的基本工資總和,并存入jbgz中。 2)求中男教師的基本工資總額、津貼總額、獎(jiǎng)金總額,扣款總額并分別存入M1、M
31、2、M3、M4中。 3)在中對(duì)數(shù)值型字段的各種組合表達(dá)式分別進(jìn)行求和計(jì)算,并分別存入jbjt、jbjtjj、jbjtjjkk中。 4)求中所有教師的實(shí)發(fā)工資。1)sum all 基本工資 to jbgz2)sum all 基本工資,津貼,獎(jiǎng)金,扣款 to M1、M2、M3、M4 for 性別=“男”3)sum all 基本工資+津貼 to jbjt sum all 基本工資+津貼+獎(jiǎng)金 to jbjtjj sum all 基本工資+津貼+獎(jiǎng)金-扣款 to jbjtjjkk4)REPLACE ALL 實(shí)發(fā)工資 WITH 基本工資+津貼+獎(jiǎng)金-扣款 注意:REPLACE命令和SUM命令的區(qū)別,前者
32、是對(duì)橫向求和,而后者是對(duì)數(shù)值型字段縱向求和。3.求平均值命令 AVERAGE命令該命令的其他方面均與SUM命令相同。練習(xí):求所有教師工資中各項(xiàng)的平均數(shù)及所有女教師的實(shí)發(fā)工資平均數(shù)。aver 基本工資,津貼,獎(jiǎng)金,扣款 to p1,p2,p3,p4aver all 基本工資+津貼+獎(jiǎng)金-扣款 to p5 for 性別="女"4.分類匯總命令 TOTAL命令 該命令執(zhí)行之前,必須先排序或索引,以做好按關(guān)鍵字分類的準(zhǔn)備工作。練習(xí):在中,按職稱統(tǒng)計(jì)基本工資。inde on 職稱 to rs1listtotal on 職稱 to rstotal field 基本工資use rstot
33、alList(得到的結(jié)果表應(yīng)該有幾條記錄?)從結(jié)果可以看出,除了求和的數(shù)值型字段外,其余的字段都是各類里的第一條字段的值,它們已沒(méi)有實(shí)際意義了。若沒(méi)有給出FIELDS<字段名表>,則對(duì)所有的數(shù)值型字段求和。如: total on 職稱 to rstota2因?yàn)闆](méi)有FIELDS 字段名表,所以是對(duì)基本工資,津貼,獎(jiǎng)金,扣款等所有數(shù)值型字段進(jìn)行統(tǒng)計(jì)。5.庫(kù)文件的復(fù)制 COPY命令注意:是將當(dāng)前已打開(kāi)的庫(kù)文件復(fù)制。例1:將生成一個(gè)備份文件。 USE a:rsda COPY TO a:r1 USE a:r1 LIST例2:只將中的講師的姓名、職稱和基本工資做一個(gè)備份文件。 copy to
34、a:r2 fiel 姓名、職稱、基本工資 for 職稱=“講師” 6.庫(kù)文件結(jié)構(gòu)的復(fù)制 COPY STRUCTURE命令例:復(fù)制的姓名、職稱、基本工資等部分字段為新文件r3的表結(jié)構(gòu)。 copy structure to r3 fiel 姓名,職稱,基本工資7.數(shù)據(jù)庫(kù)文件與文本數(shù)據(jù)文件間的相互復(fù)制 1)數(shù)據(jù)庫(kù)文件復(fù)制成文本數(shù)據(jù)文件注意:同樣是COPY TO命令,但比較與5.庫(kù)文件的復(fù)制 的不同: 后面增加了必寫(xiě)項(xiàng)SDF(標(biāo)準(zhǔn)格式)/DELIMITED(非標(biāo)準(zhǔn)格式),注意含義 當(dāng)復(fù)制完后,可以用TYPE命令顯示2)文本數(shù)據(jù)文件中的數(shù)據(jù)復(fù)制成數(shù)據(jù)庫(kù)文件 APPEND FROM命令3)任何類文件的復(fù)制
35、 COPY FILE <源文件名> TO <目標(biāo)文件名>注意:源文件必須未被打開(kāi);源、目標(biāo)文件名必須帶后綴。6.6 多重?cái)?shù)據(jù)庫(kù)文件的操作 1.工作區(qū)概念 用來(lái)存放文件的內(nèi)存空間。因?yàn)槲募辉L問(wèn)必須先從磁盤(pán)調(diào)入內(nèi)存,稱為“打開(kāi)”。 此前僅討論單工作區(qū),即系統(tǒng)默認(rèn)的第一號(hào)區(qū)。FOXPRO允許開(kāi)辟至多225個(gè)區(qū),即:至多同時(shí)打開(kāi)225個(gè)庫(kù)文件。 工作區(qū)的命名:數(shù)字編號(hào)(1225)/字母編號(hào)/工作區(qū)中的庫(kù)文件名 雖可在多個(gè)工作區(qū)同時(shí)打開(kāi)多個(gè)庫(kù)文件,但當(dāng)前工作區(qū)僅有一個(gè),只有當(dāng)前工作區(qū)中的庫(kù)文件才能被操作。 一個(gè)工作區(qū)中只能打開(kāi)一個(gè)庫(kù)文件。 系統(tǒng)啟動(dòng)時(shí)自動(dòng)選擇1號(hào)區(qū)為當(dāng)前區(qū)。 各
36、工作區(qū)對(duì)各自的文件有各自的指針指示著當(dāng)前記錄,若在本區(qū)操作本庫(kù),不會(huì)移動(dòng)它庫(kù)的指針。2.選擇工作區(qū)的命令 SELECT <工作區(qū)號(hào)> 選擇該工作區(qū)放入庫(kù)文件,此庫(kù)文件即為可操作的當(dāng)前文件,但它可以訪問(wèn)非當(dāng)前區(qū)已打開(kāi)的別的文件,可讀、可引用,但必須使用前綴。注意:僅指當(dāng)前指針?biāo)傅哪菞l記錄的字段值。3.庫(kù)文件之間的關(guān)聯(lián) SET RELATION TO命令即建立一種關(guān)聯(lián),使在當(dāng)前庫(kù)操作時(shí),別庫(kù)的指針也能隨之移動(dòng)。4.庫(kù)文件的連接 JOIN WITH命令橫向連接成一個(gè)文件5.庫(kù)文件的更新UPDATE ON <關(guān)鍵字段> FROM <工作區(qū)號(hào)> REPLACE &l
37、t;字段名1> WITH <表達(dá)式1>需要強(qiáng)調(diào)的幾點(diǎn): 工作區(qū)的表示:在SELECT中可以用1、2、3但在其他語(yǔ)句中要用字母或別名(別名是在完整的打開(kāi)語(yǔ)句中給出的) JOIN連接,一般都要給出FOR條件才有意義,否則會(huì)造成毫無(wú)意義的笛卡爾集。 兩個(gè)庫(kù)文件的SET RELATION關(guān)聯(lián),前提一定是被關(guān)聯(lián)的子庫(kù)要按關(guān)聯(lián)字段先進(jìn)行索引,然后再回到主工作區(qū)給出SET RELATION關(guān)聯(lián)命令。同時(shí)可以和兩個(gè)以上的庫(kù)文件進(jìn)行關(guān)聯(lián),但此時(shí)一定要加ADDITIVE選項(xiàng)。 兩庫(kù)關(guān)聯(lián)的更新操作UPDATE語(yǔ)句,前提是主庫(kù)、子庫(kù)都要先按關(guān)鍵字段索引。6.7 結(jié)構(gòu)化查詢語(yǔ)言SQL SQL(Stru
38、ctured Query Language)本是一種標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言,因它的非過(guò)程化特點(diǎn)(忽略操作的具體過(guò)程描述,只表述要得到的結(jié)果),而被封為第四代語(yǔ)言。本語(yǔ)言的特長(zhǎng)是查詢,但也有數(shù)據(jù)庫(kù)文件的定義及其他操縱語(yǔ)句。1.建立數(shù)據(jù)庫(kù)文件 CREATE TABLE命令功能: 建立庫(kù)文件,并定義表結(jié)構(gòu)中每個(gè)字段的名稱、類型、寬度和小數(shù)位。格式: CREATE TABLE | DBF <庫(kù)文件名> (<字段名1> <字段類型> (<字段寬度> ,<小數(shù)位> ) ,<字段名2> ) | FROM ARRAY <數(shù)組名>
39、例1:CREATE TABLE 學(xué)生檔案 (學(xué)號(hào) C(5),系別 C(8),姓名 C(8),家庭地址 C(30),簡(jiǎn)歷 M,入學(xué)時(shí)間 D)例2: CREATE TABLE 學(xué)生 FROM ARRA X(5,4) 說(shuō)明:注意格式,表名后面的小括號(hào)是必有的;在表名和小括號(hào)之間要有一個(gè)空格。 若從數(shù)組導(dǎo)入數(shù)據(jù),則數(shù)組的列數(shù)必須是4,而行數(shù)取決于字段的多少。2、INSERT INTO 插入記錄一、功能:在表的尾部添加一條記錄或在當(dāng)前記錄后插入一條記錄二、格式:INSERT INTO <庫(kù)文件名> (<字段名1> , <字段名2> VALUES (<表達(dá)式1&g
40、t;, <表達(dá)式2>) 或 INSERT INTO <庫(kù)文件名> FROM ARRAY<數(shù)組名> 例:INSERT INTO 學(xué)生.dbf (學(xué)號(hào),姓名,性別,出生年月,分?jǐn)?shù))VALUES(“4444”, “ dddddddd”,“女”,ctod(“01/05/82”),88.5)3、DELEDE FROM 刪除記錄功能:刪除滿足條件的記錄格式:DELETE FROM <庫(kù)文件名> WHERE <條件>例:將年齡大于20 歲的女同學(xué)的記錄刪除。 Dele from KWJ where 年齡>20 .and.性別=“女”4、UPD
41、ATE 修改記錄功能:根據(jù)給定的各表達(dá)式的值,修改滿足條件記錄的各字段值。例:將“王立”同學(xué)的年齡改為“19” upda KWJ set 年齡=19 where 姓名=“王立” (用Foxpro命令: use KWJ replace 年齡 with 19 for 姓名=“王立”)5、數(shù)據(jù)查詢 SELECT命令功能:從一個(gè)或多個(gè)庫(kù)文件中查找到符合條件的記錄集稱結(jié)果表。 1)最基本的查詢語(yǔ)句格式只有SELECT子句和FROM子句例:j select * from AA &&查詢AA表的所有,結(jié)果表是整個(gè)AAk select 學(xué)號(hào),姓名,籍貫 from AA &&只顯
42、示庫(kù)文件中指定的幾列 l select AVG(數(shù)學(xué)) as 數(shù)平均,MAX(英語(yǔ)) as 英最高,COUNT(*) as 記錄數(shù) from AA &&該例說(shuō)明select后面不僅可以是字段名,還允許是規(guī)定內(nèi)的函數(shù)(5個(gè)),但求出的結(jié)果必須放在新起的字段名中(AS后的字段名)。該句的查詢結(jié)果為一條記錄。m Select 訂單.訂單編號(hào),訂單.顧客編號(hào),訂單明細(xì).商品編碼,訂單明細(xì).單價(jià) from 訂單,訂單明細(xì)&&該命令將從兩個(gè)庫(kù)文件中查找到所要的各字段,各字段名前要指明前綴.(此命令產(chǎn)生1:多的所有組合).n Select 訂單.訂單編號(hào),訂單.顧客編號(hào),訂單
43、明細(xì).商品編碼,訂單明細(xì).單價(jià) from 訂單,訂單明細(xì) into TABLE<表名>&&把查找的結(jié)果放到一個(gè)新表中,或to print或to screen均可。2)有條件的查詢語(yǔ)句格式(要查找滿足什么條件的記錄)允許的條件有兩類:1)連接條件_ 當(dāng)FROM 后面不止一個(gè)庫(kù)文件時(shí), 要指定連接的條件. 如上例m:Select 訂單. 訂單編號(hào), 訂單. 顧客編號(hào), 訂單明細(xì). 商品編碼, 訂單明細(xì). 單價(jià) from 訂單, 訂單明細(xì) 后面應(yīng)加: where 訂單. 訂單編號(hào)= 訂單明細(xì). 訂單編號(hào) 結(jié)果是當(dāng)兩個(gè)庫(kù)文件的訂單編號(hào)一致時(shí), 顯示相應(yīng)的各字段.2)過(guò)濾條件
44、_ 相當(dāng)于FOR 語(yǔ)句. 即查找滿足條件的記錄. 只是它允許的< 比較符> 更多: j 原來(lái)已掌握的6 種(> 、>= 、< 、<= 、<> 、=) 如: 姓名=“ 張三” 年齡=19 英語(yǔ)>90 等 k 數(shù)學(xué) l 訂單. 訂單編號(hào) in (1000001,100102,100201) && 必匹配其中之一, 等價(jià)于三者的OR.關(guān)于以上查詢格式的說(shuō)明: 查詢結(jié)果默認(rèn)輸出到BROWS窗口 本語(yǔ)句先從FROM短語(yǔ)中確認(rèn)所需數(shù)據(jù)庫(kù)文件是否已打開(kāi),若未打開(kāi),SELECT語(yǔ)句會(huì)自動(dòng)在未被選取的最低工作區(qū)打開(kāi)它,但用完后不自動(dòng)關(guān)閉。 對(duì)
45、于多庫(kù)的操作,注意前綴要用數(shù)據(jù)庫(kù)名或數(shù)據(jù)庫(kù)別名,而不接受A、B、C等字母(但可在FROM子句中臨時(shí)定義別名,如P118例(4)3)查詢后分組小計(jì)格式帶GROUP BY短語(yǔ)用GROUP BY子句把SELECT命令的查詢結(jié)果按指定字段名(即:按指定列)分成集合組。例1:按籍貫統(tǒng)計(jì)英語(yǔ)、計(jì)算機(jī)、數(shù)學(xué)各科的平均分:SELECT 籍貫,AVG(英語(yǔ)),AVG(計(jì)算機(jī)),AVG(數(shù)學(xué)) FROM 成績(jī) GROUP BY 籍貫例2:計(jì)算出各系學(xué)生的人數(shù)(結(jié)果表的記錄個(gè)數(shù)取決于有幾個(gè)系) SELE 系別,COUNT(*) as 人數(shù) FROM kwj GROU BY 系別或:SELE 系別,COUNT(*)
46、as 人數(shù) FROM kwj GROU BY 1以上問(wèn)題用Foxpro命令如何描述?(相當(dāng)于FOXPRO中先索引,再TOTAL的功能)4)將查詢結(jié)果排序帶ORDER BY短語(yǔ)該子句的功能是對(duì)查詢結(jié)果進(jìn)行排序,而排序的依據(jù)可以是:一個(gè)或多個(gè)字段名或該字段在結(jié)果表中的列序號(hào)。例1:將學(xué)生庫(kù)中的女生記錄按分?jǐn)?shù)的降序排列:SELECT 姓名,性別,分?jǐn)?shù) FROM 學(xué)生 ORDER BY 分?jǐn)?shù) WHERE 性別=女例2:按學(xué)歷統(tǒng)計(jì)平均分,并按平均分從高到低排列。sele 學(xué)歷,AVG(分?jǐn)?shù)) AS 平均分 FROM KWJ GROU BY 學(xué)歷 ORDE BY 2練習(xí):從學(xué)生和成績(jī)兩庫(kù)中按計(jì)算機(jī)分?jǐn)?shù)的從
47、高到低列出姓名、性別、英語(yǔ)、計(jì)算機(jī)、數(shù)學(xué)成績(jī)。第7章 FOXPRO 程序設(shè)計(jì)FOXPRO 允許兩種工作方式:一是交互的運(yùn)行方式(單命令方式和菜單方式都屬于此類),另一種是程序方式(又稱命令文件方式),即將若干條命令按照一定的邏輯結(jié)構(gòu)存儲(chǔ)在一個(gè)程序文件(擴(kuò)展名為.PRG)中,可隨時(shí)一并運(yùn)行。7.1 FoxPro 程序文件的建立和運(yùn)行7.1.1 命令文件的建立和修改命令: MODIFY COMMAND <程序文件命>/?說(shuō)明: 無(wú)文件名為新建,待存盤(pán)時(shí)再輸入文件名;有文件名為對(duì)已有的文件進(jìn)行修改;?將引出對(duì)話框供選擇。 后綴默認(rèn)為.PRG。 當(dāng)在命令窗口輸入此命令后,則在主窗口出現(xiàn)一新
48、的空白窗口(稱為文本編輯窗口)等待輸入命令文件內(nèi)容,輸入完后以 Ctrl+W 鍵或Ctrl+Esc鍵存盤(pán)(以文本方式存儲(chǔ))。 可以用菜單方式完成同樣操作:“文件”“新建”“程序”7.1.2 程序文件的執(zhí)行 DO <程序文件名>7.1.3 程序文件的基本組成 輸入數(shù)據(jù)處理數(shù)據(jù)輸出數(shù)據(jù) 由基本的這三部分組成。7.2 基本輸入/輸出命令 輸入命令:第一類:預(yù)先賦值(即把變量的值直接寫(xiě)在賦值語(yǔ)句中) 1) “=” 賦值:<變量名> = <表達(dá)式> 例:X=35 Name =“學(xué)生檔案” (一次只能給一個(gè)變量賦值,可接受表達(dá)式) 2) STORE 命令: STORE
49、<表達(dá)式> TO <變量名1>, <變量名2>,······ 例: STORE 2.5 TO X1,X2,X3(可將同一值賦給多個(gè)變量,即一次可給多個(gè)變量賦值;可接受表達(dá)式)第二類:臨時(shí)交互式輸入 此類的共同點(diǎn)是只把賦值功能的語(yǔ)句寫(xiě)在程序中,而具體的值待執(zhí)行這條語(yǔ)句時(shí)臨時(shí)敲入。 1) INPUT 命令例: INPUT “X=” TO X (待程序運(yùn)行到此句時(shí),再?gòu)逆I盤(pán)敲入) X=100 &&輸入的變量為N型 INPUT “姓名:” TO XM 姓名:王大力 &&輸入的變量為C型 INPUT “輸入內(nèi)容為:” TO bds 輸入內(nèi)容為: 3*5 &&輸入表達(dá)式,說(shuō) 明該命令有計(jì)算功能2) ACCEPT 命令 該命令只接受 C 型數(shù)據(jù),故不必用定界符括起例: ACCEPT “姓名:” TO XM 姓名: 王大力3) WAIT 命令 該命令起暫停作用,只要再輸入一個(gè)字符(不必回車(chē)),系統(tǒng)便繼續(xù)操作。 該命令的用途: 若要顯示的內(nèi)容太長(zhǎng)一屏放不下時(shí),可加WAIT命令使中間停頓,待看清之后按一個(gè)任意鍵即可繼續(xù)執(zhí)行。 在界面設(shè)計(jì)時(shí),等待用戶回答Y/N時(shí),安排此語(yǔ)句。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 春節(jié)停工停產(chǎn)方案
- 腳手架鋼管購(gòu)銷(xiāo)合同
- 信息行業(yè)大數(shù)據(jù)與人工智能應(yīng)用方案
- 政府機(jī)構(gòu)政務(wù)服務(wù)平臺(tái)建設(shè)及優(yōu)化方案設(shè)計(jì)
- 法院的離婚協(xié)議書(shū)
- 房地產(chǎn)中介服務(wù)合同中介住房合同
- 安裝工程勞動(dòng)合同
- 連帶責(zé)任保證擔(dān)保合同
- 交通物流業(yè)貨物追蹤系統(tǒng)建設(shè)方案
- 購(gòu)買(mǎi)公司股份協(xié)議書(shū)十
- 五年級(jí)行程問(wèn)題應(yīng)用題100道
- 云計(jì)算安全部門(mén)KPI設(shè)計(jì)
- h型鋼焊接工藝
- 血透病人體重健康宣教
- 水泥廠化驗(yàn)室安全培訓(xùn)課件
- 前列腺穿刺的護(hù)理查房課件
- 管理會(huì)計(jì) 課件 孫茂竹 第1-6章 管理會(huì)計(jì)概論-經(jīng)營(yíng)決策
- 《新時(shí)期產(chǎn)業(yè)工人隊(duì)伍建設(shè)改革方案》全文
- 智能制造行業(yè)市場(chǎng)競(jìng)爭(zhēng)力分析
- 2023云南公務(wù)員考試《行測(cè)》真題(含答案及解析)【可編輯】
- 脾破裂護(hù)理查房
評(píng)論
0/150
提交評(píng)論