

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)等級(jí)考試(二級(jí))復(fù)習(xí)提綱VFP數(shù)據(jù)庫(kù)部分第一章數(shù)據(jù)庫(kù)系統(tǒng)1. 數(shù)據(jù)處理數(shù)據(jù):是對(duì)事實(shí)、概念或指令的一種特殊表達(dá)形式,可以用人工的方式或自動(dòng)化的裝置進(jìn)行通信、翻譯轉(zhuǎn)換或者進(jìn)行加工處理。它包括兩類(lèi):一類(lèi)是能參與數(shù)字運(yùn)算的數(shù)值型數(shù)據(jù);一類(lèi)是不能參與數(shù)字運(yùn)算的非數(shù)值型數(shù)據(jù),如文字、圖畫(huà)、聲音、活動(dòng)圖象等。數(shù)據(jù)處理:是對(duì)各種類(lèi)型的數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、分類(lèi)、計(jì)算、加工、檢索與傳輸?shù)倪^(guò)程。包括:收集原始數(shù)據(jù)、編碼轉(zhuǎn)換、數(shù)據(jù)輸入、數(shù)據(jù)處理、數(shù)據(jù)輸出。2. 數(shù)據(jù)庫(kù)系統(tǒng)(1) 數(shù)據(jù)庫(kù)(DataBase)定義:是以一定的組織形式存放在計(jì)算機(jī)存儲(chǔ)介質(zhì)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合。特點(diǎn):具有最小的冗余度、具有數(shù)據(jù)獨(dú)立
2、性、實(shí)現(xiàn)數(shù)據(jù)共享、安全可靠、保密性能好(2) 數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem)定義:是操縱和管理數(shù)據(jù)庫(kù)的系統(tǒng)軟件。VisualFoxPro屬于一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)語(yǔ)言:數(shù)據(jù)定義語(yǔ)言(DDL:用來(lái)建立所需的數(shù)據(jù)庫(kù)。數(shù)據(jù)操作語(yǔ)言(DML:用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢和維護(hù)操作。關(guān)系型數(shù)據(jù)庫(kù)使用的標(biāo)準(zhǔn)語(yǔ)言是結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage,SQL。(3)數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem)定義:是以數(shù)據(jù)庫(kù)應(yīng)用為基礎(chǔ)的計(jì)算機(jī)系統(tǒng)。組成:數(shù)據(jù)庫(kù)硬件(計(jì)算機(jī)硬件設(shè)備)軟件(數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng))用戶(應(yīng)用程序設(shè)計(jì)員、終端用戶、數(shù)據(jù)
3、庫(kù)管理員)分類(lèi):層次型數(shù)據(jù)庫(kù)、網(wǎng)狀型數(shù)據(jù)庫(kù)、關(guān)系型數(shù)據(jù)庫(kù)分代:第一代非關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),60年代末問(wèn)世,包括層次型和網(wǎng)狀型。第二代關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)(RDBS,70年代中期問(wèn)世。第三代對(duì)象-關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)(ORDBSOOBDS,80年代中期至今。上述三個(gè)概念之間的聯(lián)系:在數(shù)據(jù)庫(kù)系統(tǒng)中通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)建立和使用數(shù)據(jù)庫(kù)。3. 關(guān)系模型三個(gè)領(lǐng)域:現(xiàn)實(shí)世界事物(對(duì)象、性質(zhì))觀念世界-實(shí)體(對(duì)象、屬性)數(shù)據(jù)世界-數(shù)據(jù)(記錄、字段)實(shí)體模型:即反映事物聯(lián)系的實(shí)體。數(shù)據(jù)模型:即描述實(shí)體模型的數(shù)據(jù)。數(shù)據(jù)模型的分類(lèi):層次模型(采用樹(shù)型結(jié)構(gòu))網(wǎng)絡(luò)模型(采用無(wú)向圖型結(jié)構(gòu))關(guān)系模型(采用二維表結(jié)構(gòu))面向?qū)ο竽P虴-
4、R模型:數(shù)據(jù)庫(kù)設(shè)計(jì)中使用的概念模型,有三個(gè)部分組成:實(shí)體、屬性和聯(lián)系。關(guān)系模型:采用二維表表示實(shí)體集,通過(guò)外部關(guān)鍵字表示實(shí)體間的關(guān)系。主要由三個(gè)部分組成:數(shù)據(jù)結(jié)構(gòu)(二維表)、數(shù)據(jù)操作和數(shù)據(jù)完整性規(guī)則(域完整性、實(shí)體完整性、參照完整性和用戶自定義完整性)關(guān)系模型的性質(zhì):二維表的記錄數(shù)隨數(shù)據(jù)的增加而改變,但其字段數(shù)是相對(duì)固定的;二維表中的每一列均有唯一的字段名;二維表中不允許出現(xiàn)完全相同的兩行二維表中行的順序、列的順序均可以任意交換。二維表的主關(guān)鍵字:超關(guān)鍵字:能唯一確定記錄的一列或幾列的組合候選關(guān)鍵字:最簡(jiǎn)練的超關(guān)鍵字主關(guān)鍵字:候選關(guān)鍵字中的一個(gè)外部關(guān)鍵字:當(dāng)A表的主關(guān)鍵字被包含到B表中時(shí),則稱(chēng)
5、A表的主關(guān)鍵字為B表的外部關(guān)鍵字。1. 2VisualFoxPro6.0概述1. VFP6.0的特點(diǎn)完善了關(guān)系型數(shù)據(jù)庫(kù)的概念,采用了Rushmore技術(shù),引入了SQL命令;支持多種數(shù)據(jù)交換格式;采用了可視化的面向?qū)ο蟮某绦蛟O(shè)計(jì)方式;提供了功能完善的集成環(huán)境和豐富的開(kāi)發(fā)工具。2. VFP6.0的用戶界面界面基本組成:標(biāo)題欄、主菜單欄、工具欄、主窗口、命令窗口、狀態(tài)欄系統(tǒng)工具一覽表各種菜單各種工具欄各種窗口各種設(shè)計(jì)器各種生成器各種向?qū)募藛纬S霉ぞ邫诿畲翱跀?shù)據(jù)庫(kù)設(shè)計(jì)器文本框生成器表向?qū)Ь庉嫴藛伪韱慰刂乒ぞ邫跒g覽窗口表設(shè)計(jì)器組合框生成器交叉表向?qū)э@示菜單布局工具欄代碼窗口表單設(shè)計(jì)器命令組牛成器查
6、詢向?qū)Ц袷讲藛握{(diào)色板工具欄調(diào)試窗口菜單設(shè)計(jì)器編輯框生成器本地視圖向?qū)Чぞ卟藛未蛴☆A(yù)覽工具欄編輯窗口報(bào)表設(shè)計(jì)器表達(dá)式生成器表單向?qū)С绦虿藛螆?bào)表控制工具欄查看窗口標(biāo)簽設(shè)計(jì)器表單生成器一對(duì)多表單向?qū)Т翱诓藛尾樵冊(cè)O(shè)計(jì)器工具欄跟蹤窗口類(lèi)設(shè)計(jì)器表格生成器報(bào)表向?qū)椭藛伪韱卧O(shè)計(jì)器工具欄屬性窗口連接設(shè)計(jì)器列表框生成器一對(duì)多報(bào)表向?qū)Р藛尾藛螆?bào)表設(shè)計(jì)器工具欄通用字段查詢和視參照完整標(biāo)簽向?qū)?shù)據(jù)環(huán)境窗口圖設(shè)計(jì)器性生成器遠(yuǎn)程視圖菜單數(shù)據(jù)庫(kù)設(shè)計(jì)器工具欄向?qū)П韱尾藛雾?xiàng)目管理器窗口數(shù)據(jù)環(huán)境自動(dòng)格式生成器郵件合并向?qū)ы?xiàng)目菜單設(shè)計(jì)右計(jì)導(dǎo)入向?qū)Р樵儾藛芜x項(xiàng)組牛成器圖形向?qū)?bào)表菜單數(shù)據(jù)透視表向?qū)П聿藛螖?shù)據(jù)庫(kù)菜分組/總計(jì)單報(bào)表向?qū)?/p>
7、類(lèi)菜單3. VFP6.0的工作方式(1) 菜單操作方式根據(jù)所需的操作從菜單中選擇相應(yīng)的命令(與WOR類(lèi)似)。每執(zhí)行一次菜單命令,命令窗口中一般都會(huì)顯示出與菜單對(duì)應(yīng)的命令內(nèi)容。利用工具菜單中的向?qū)Э梢院芊奖愕赝瓿沙R?guī)任務(wù)。(2)命令交互方式根據(jù)所要進(jìn)行的各項(xiàng)操作,采用人機(jī)對(duì)話方式在命令窗口中按格式要求逐條輸入所需命令,按回車(chē)后,機(jī)器逐條執(zhí)行。(3)程序執(zhí)行方式先在程序編輯窗口中編完程序,再?gòu)某绦虿藛沃羞x擇執(zhí)行,或從命令窗口中輸入DO命令,讓機(jī)器執(zhí)行。4. VFP6.0常用文件類(lèi)型VFP6.0常用的文件擴(kuò)展名及其關(guān)聯(lián)的文件類(lèi)型擴(kuò)展名文件類(lèi)型擴(kuò)展名文件類(lèi)型app生成的應(yīng)用程序.frx報(bào)表.exe可執(zhí)
8、行程序.frt報(bào)表備注Pjx項(xiàng)目bx標(biāo)簽.Pjt項(xiàng)目備注bt標(biāo)簽備注.dbc數(shù)據(jù)庫(kù).prg程序.det數(shù)據(jù)庫(kù)備注.fxp編譯后的程序.dcx數(shù)據(jù)庫(kù)索引.err編譯錯(cuò)誤.dbf表.mnx菜單.fpt表備注.mnt菜單備注.cdx復(fù)合索引.mpr生成的菜單程序.idx單索引.mpx編譯后的菜單程序qpr生成的查詢程序.vex可視類(lèi)庫(kù)qpx編譯后的查詢程序.vet可視類(lèi)庫(kù)備注.scx表單.txt文本.set表單備注.bak備份文件5.創(chuàng)建文件新建各種類(lèi)型的文件時(shí),可以利用系統(tǒng)提供的相應(yīng)工具,以提高工作效率。新建文件時(shí)可用的設(shè)計(jì)器和向?qū)А?.3項(xiàng)目管理器1. 項(xiàng)目管理器簡(jiǎn)介項(xiàng)目:是一種文件,用于跟蹤創(chuàng)
9、建應(yīng)用系統(tǒng)所需要的所有程序、表單、菜單、庫(kù)、報(bào)表、標(biāo)簽、查詢和一些其他類(lèi)型的文件。項(xiàng)目管理器:是開(kāi)發(fā)VFP應(yīng)用系統(tǒng)的一個(gè)工具,它生成一個(gè)項(xiàng)目文件,項(xiàng)目文件的擴(kuò)展名為.PJX,項(xiàng)目備注的擴(kuò)展名為:.PJT。項(xiàng)目管理器窗口的組成:由6大類(lèi)數(shù)據(jù)項(xiàng)(全部、數(shù)據(jù)、文檔、類(lèi)、代碼、其他)和10個(gè)命令按鈕(新建、添加、修改、瀏覽、關(guān)閉、打開(kāi)、預(yù)覽、運(yùn)行、移去、連編)組成。注:粗斜體表示的命令按紐根據(jù)用戶選擇的不同對(duì)象相應(yīng)地出現(xiàn)。項(xiàng)目菜單的組成:13個(gè)子菜單(其中一部分與項(xiàng)目管理器中的命令按鈕功能相同)。項(xiàng)目管理器的功能:組織和管理所有與應(yīng)用系統(tǒng)有關(guān)的各種類(lèi)型的文2. 創(chuàng)建項(xiàng)目文件用菜單方式:打開(kāi)文件菜單T新
10、建T項(xiàng)目T新文件T給出合適的項(xiàng)目文件名及保存位置-進(jìn)入項(xiàng)目管理器-開(kāi)發(fā)應(yīng)用系統(tǒng)f完成后關(guān)閉窗口退出。用命令方式:語(yǔ)法:CREATEPROJECT項(xiàng)目文件名功能:打開(kāi)項(xiàng)目管理器窗口進(jìn)行應(yīng)用系統(tǒng)的開(kāi)發(fā)。3. 修改項(xiàng)目文件用菜單方式:打開(kāi)文件菜單打開(kāi)找到所需的項(xiàng)目文件并確定之進(jìn)入項(xiàng)目管理器修改應(yīng)用系統(tǒng)完成后關(guān)閉窗口退出。用命令方式:語(yǔ)法:MODIFYPROJECT項(xiàng)目文件名功能:打開(kāi)項(xiàng)目管理器窗口進(jìn)行應(yīng)用系統(tǒng)的修改。4. 項(xiàng)目管理器的使用可以利用項(xiàng)目管理器來(lái)創(chuàng)建、打開(kāi)、瀏覽、修改所有VFP文件并運(yùn)行其中的表單、報(bào)表、標(biāo)簽、菜單、程序等。特別是可以利用它來(lái)連編項(xiàng)目(追蹤這些文件的變化情況,包括它們之間
11、的相關(guān)性、引用和連接等,確保引用的完整,并加入自上次連編之后更新了的一些組件)、應(yīng)用程序(擴(kuò)展名為.APP,在VFP環(huán)境下執(zhí)行)和可執(zhí)行文件(擴(kuò)展名為.EXE,能脫離VFP環(huán)境執(zhí)行)。1.4VFP6.0的詞法規(guī)則1. VFP6.0的命名規(guī)則:只能使用字母、下劃線和數(shù)字。使用字母或下劃線作為名稱(chēng)的開(kāi)頭。名稱(chēng)可以是1至128個(gè)字符,但自由表的字段名和索引標(biāo)識(shí)最多只能有10個(gè)字符。避免使用VisualFoxPro的保留字。如:use,creat。文件的命名遵循操作系統(tǒng)的約定。2. 命令和子句的書(shū)寫(xiě)規(guī)則(1) 以命令動(dòng)詞開(kāi)始;(2) 各部分之間要用空格隔開(kāi);(3) 命令、子句、函數(shù)名都可簡(jiǎn)寫(xiě)為前4個(gè)字
12、符,大、小寫(xiě)等效;(注:messagebox不可)(4) 一行只能寫(xiě)一條命令,總長(zhǎng)度不超過(guò)8192個(gè)字符,超過(guò)屏幕寬度時(shí)用續(xù)行符“;”;(5) 變量名、字段名和文件名應(yīng)避免與命令動(dòng)詞、關(guān)鍵字或函數(shù)名同名,以免運(yùn)行時(shí)發(fā)生混亂。(6) 命令格式中的符號(hào)約定:命令中的、|、符號(hào)都不是命令本身的語(yǔ)法成分,使用時(shí)不能照原樣輸入,其中:表示可選項(xiàng),根據(jù)具體情況決定是否選用|表示兩邊的部分只能選用其中的一個(gè)表示可以有任意個(gè)類(lèi)似參數(shù),各參數(shù)間用逗號(hào)隔開(kāi)<>表示其中內(nèi)容要以實(shí)際名稱(chēng)或參數(shù)代入3. 命令工作方式中的常見(jiàn)錯(cuò)誤(1) 命令動(dòng)詞寫(xiě)錯(cuò)(2) 格式不符合要求標(biāo)點(diǎn)符號(hào)不對(duì)(一定要用英文標(biāo)點(diǎn)符號(hào))缺
13、少必需的空格或添加了不該有的空格數(shù)據(jù)類(lèi)型不一致,要注意字符型、數(shù)值型、日期型、邏輯型數(shù)據(jù)的書(shū)寫(xiě)格式(3) 打不開(kāi)所需文件:沒(méi)有正確輸入盤(pán)符和路徑或文件名輸錯(cuò)第二章VFP語(yǔ)言基礎(chǔ)2.1基本字匯1. 數(shù)據(jù)類(lèi)型VFP包含下列數(shù)據(jù)類(lèi)型:通用的數(shù)據(jù)類(lèi)型字符型Characte貨幣型Currency日期型Date日期時(shí)間型DateTime邏輯型Logical數(shù)值型Numeric僅用于字段的數(shù)據(jù)類(lèi)型雙精度型Double浮點(diǎn)型Float整型Integer通用型General備注型Memo2. 數(shù)據(jù)容器VFP中用來(lái)存儲(chǔ)數(shù)據(jù)的容器有:常量、變量、數(shù)組、記錄和對(duì)象。(1) 常量(constants):一個(gè)在操作過(guò)程中
14、保持不變的數(shù)值或字符串'常量類(lèi)型數(shù)值型常量表示方式-25.36邏輯型常量日期型常量常用的常量類(lèi)型"abc","123","中國(guó)".T.F.八2005/07/10(2) 變量(variables):是內(nèi)存中的一個(gè)存儲(chǔ)單元的位置,其中的內(nèi)容可以變化,但標(biāo)識(shí)該存儲(chǔ)位置的名稱(chēng)(即變量名)不變。變量的命名習(xí)慣:類(lèi)型變量代號(hào)女口:cStud、nCj、dCsrq分別代表一個(gè)字符型、數(shù)值型、日期型的變量名變量的賦值方式:1)用STORE命令女口:STORE王蘭"TOcStud2) 用賦值操作符二女口:cStud="王蘭&q
15、uot;變量的作用域:即變量起使用的有效范圍變量作用域定義作用域的關(guān)鍵字特點(diǎn)局部變量localvariable(本地變量)LOCAL只能在一個(gè)函數(shù)或過(guò)程中被訪問(wèn),其他過(guò)程或函數(shù)不能訪問(wèn)此變量的數(shù)據(jù)。當(dāng)其所屬程序停止運(yùn)行時(shí),局部變量將被釋放。私有變量PRIVATE私有變量在VFP中是默認(rèn)的,不需要privatevariable特殊的關(guān)鍵字定義。但是,如果在更高一級(jí)例程(routine)中已經(jīng)有同名變量,可以用PRIVATE關(guān)鍵字予以聲明,以限定其范圍。當(dāng)定義此變量的例程結(jié)束時(shí),此變量也被相應(yīng)釋放??墒褂盟接凶兞吭诒徽{(diào)用的函數(shù)中共享數(shù)據(jù)。公共變量publicvariablePUBLIC可用于所有過(guò)
16、程和函數(shù),而不限于定義該變量的過(guò)程和函數(shù)??墒褂萌肿兞吭诙鄠€(gè)過(guò)程或函數(shù)之間共享數(shù)據(jù),在命令窗口中創(chuàng)建的任何變量自動(dòng)具有全局屬性。變量的訪問(wèn):當(dāng)變量和字段同名時(shí),字段有優(yōu)先被訪問(wèn)權(quán)。要在變量名前加m.或m-以示區(qū)別,女口m.cStud(3)數(shù)組(array):是存儲(chǔ)在一個(gè)變量中由單個(gè)變量名引用的有序數(shù)據(jù)集合。在VFP中,一個(gè)數(shù)組中的數(shù)據(jù)不必是同一種數(shù)據(jù)類(lèi)型。常用的有一維數(shù)組,二維數(shù)組。數(shù)組元素的標(biāo)識(shí):通過(guò)一個(gè)數(shù)值下標(biāo)來(lái)引用,如AA2,AA2,3數(shù)組類(lèi)型的聲明:私有數(shù)組用DECLAR或DIMENSION定義用PUBLIC命定義全局?jǐn)?shù)組局部數(shù)組一一用LOCALS義數(shù)組元素的賦值:用賦值語(yǔ)句:如AA
17、=45用SCATTE從當(dāng)前記錄中取特定字段的值賦給數(shù)組:女口:scatterfieldsxh,xm,xbtoaa(數(shù)組長(zhǎng)度、類(lèi)型自動(dòng)與所給字段相同)用COPYTOARRA從當(dāng)前記錄中取所有字段的值賦給數(shù)組:女口:copytoarrayaa(數(shù)組長(zhǎng)度、類(lèi)型自動(dòng)與表中全部字段相同)把數(shù)組中的數(shù)據(jù)傳給當(dāng)前表中的當(dāng)前記錄:gatherfrom數(shù)組名fields字段名表用數(shù)組向當(dāng)前表添加記錄:appendfromarray數(shù)組名for條件fields字段名表(用二維數(shù)組可以同時(shí)添加多條記錄)(4)記錄:表中的一行,由字段組成。(5)對(duì)象:對(duì)象是類(lèi)的一個(gè)實(shí)例,類(lèi)是對(duì)擁有數(shù)據(jù)和一定行為特征的對(duì)象集合的描述。
18、VFP對(duì)象可以是表單、表單集、控件。2.2VFP6.0的語(yǔ)言成分(詞匯)1. 命令由用戶發(fā)出的、指示VFP進(jìn)行某種操作的指令。女口USEaaa&打開(kāi)一個(gè)名為aaa.dbf的數(shù)據(jù)表2. 函數(shù)一個(gè)預(yù)先編制好的模塊,可由VFP程序在任何地方調(diào)用函數(shù)的使用方法:名稱(chēng)、功能、參數(shù)、返回值幾個(gè)常用函數(shù)示例命令格式?SUBSTR(“ABCDEFG,2,4)SUBSTR(expC,expN1,expN2)結(jié)果是:BCDE?LEFT(“ABCDEFG,2結(jié)果是:LEFT(expC,expN)AB?RIGHTT(“ABCDEFG,4)RIGHT(expC,expN)結(jié)果是:DEFG?AT(“B”,“ABC
19、D結(jié)果是:2?AT(“A,“ABCDEASD結(jié)果是:1AT(expC1,expC2expN)?AT(“A”,“ABCDEASD,2)結(jié)果是:6?LOWER(“DFGHa)結(jié)果是:LOWER(expC)dfghaUPPER(expC)?UPPER(“asdf'結(jié)果是:ASDF字母轉(zhuǎn)換函數(shù)數(shù)值函數(shù)MAX(exp1,exp1,exp3,)?MAX(15,23,4,56)結(jié)果是:56MIN(exp1,exp1,exp3,)?MIN(15,23,4,56)結(jié)果是:4ABS(expN)?ABS(-15.83)結(jié)果是:15.83INT(expN)?INT(25.62)結(jié)果是:25壓縮空格函數(shù)ALLT
20、RIM(expC)?ALLTRIM("ADBG")結(jié)果是:ADBG類(lèi)型轉(zhuǎn)換函STR(expN1,expN2,expN3)?STR(789.678,6,2)結(jié)果是:789.68CTOD(expC)?CTOD(“98/10/15”)結(jié)果是:98/10/15VAL(expC)?VAL("123.45")結(jié)果是:123.45數(shù)DTOC(expD)?DTOC(98/12/15)結(jié)果是:98/12/15日期時(shí)間函數(shù)DATE()?DATE()結(jié)果是:2000/03/15DATETIME()?DATETIME()結(jié)果是:2000/03/1510:15:30YEAR(ex
21、pD)?YEAR(87/03/25)結(jié)果是:1987數(shù)據(jù)庫(kù)函數(shù)RECNO()DBC()SEEK()其它函數(shù)LEN()DELETED()EOF()BOF()FOUND()EMPTY(exp)INLIST(,)RECCOUNT()SELECT()BETWEEN(,)IIF(,)TABLEREVERT()LOCK()CHR()ASC()TABLEUPDATE()FSIZE()TAG()INKEY()自定義函數(shù):由用戶為自己的應(yīng)用程序創(chuàng)建的專(zhuān)用函數(shù),可作為獨(dú)立的程序文件保存在磁盤(pán)上也可作為過(guò)程文件存放在其他程序中。3. 表達(dá)式定義:變量、操作符、常量、函數(shù)、字段名、控制以及屬性的組合,求值結(jié)果為單個(gè)值
22、。表達(dá)式的類(lèi)型:算術(shù)表達(dá)式:由算術(shù)操作符和數(shù)值型數(shù)據(jù)構(gòu)成的表達(dá)式。字符表達(dá)式:由字符操作符和字符型數(shù)據(jù)構(gòu)成的表達(dá)式。日期表達(dá)式:由日期操作符和日期、時(shí)間型數(shù)據(jù)構(gòu)成的表達(dá)式。邏輯表達(dá)式:由邏輯操作符和邏輯型數(shù)據(jù)構(gòu)成的表達(dá)式。名稱(chēng)表達(dá)式:由圓括號(hào)括起來(lái)的一個(gè)字符表達(dá)式,用來(lái)替換命令或函數(shù)中的名稱(chēng)。例:DBF_NAME學(xué)生成績(jī)登記表"USE(DBF_NAME)宏替換:用宏替換符號(hào)&表示,它與名稱(chēng)表達(dá)式具有相似的作用。例:已知A="1",B="2",C12二"GOOD"貝卩C&A&B二"GOOD&q
23、uot;4.操作符數(shù)值操作符()八或*/%(取余數(shù))+-關(guān)系操作符<<=>>=<>或!=或#=邏輯操作符()表達(dá)式分組NO或?。ǚ牵〢ND(和)OR(或)日期和時(shí)間操作符+-注意:日期型:天數(shù)時(shí)間型:秒數(shù)字符操作符:+-$兩個(gè)特殊的操作符圓點(diǎn)操作符():用于分隔對(duì)象的名稱(chēng)以及分隔對(duì)象中的屬性、事件、方法。范圍轉(zhuǎn)變操作符(:):提供了從一個(gè)子類(lèi)中調(diào)用一個(gè)父類(lèi)的方法。第三章表的創(chuàng)建和使用1.表的概念表(數(shù)據(jù)表):是指存放在磁盤(pán)文件中的一張二維表。(相當(dāng)FoxPro2.x版本中的數(shù)據(jù)庫(kù))自由表:不屬于任何數(shù)據(jù)庫(kù)的表。數(shù)據(jù)庫(kù)表:包含在一個(gè)數(shù)據(jù)庫(kù)中的表。表文件名:表名
24、可以由字母、數(shù)字或下劃線組成,系統(tǒng)自動(dòng)給出的擴(kuò)展名為.DBF。備注文件名:當(dāng)表中有備注型或通用型字段時(shí),系統(tǒng)自動(dòng)生成與所屬數(shù)據(jù)表的表名相同、擴(kuò)展名為:.FPT的文件名。表結(jié)構(gòu):存儲(chǔ)表記錄的公共結(jié)構(gòu)。(就是指一張表的表頭結(jié)構(gòu),即字段的屬性)。記錄:表中的一行。它是多個(gè)字段的集合,同一張表的每個(gè)記錄都有相同的字段。字段:表中的一列。它規(guī)定了數(shù)據(jù)的特征。關(guān)系型數(shù)據(jù)表的特點(diǎn):(1)每一個(gè)字段不可再分解,也不能有名字相同的字段;(2)每一列中的數(shù)據(jù)都有相同的數(shù)據(jù)類(lèi)型;(3)表中沒(méi)有內(nèi)容完全相同的行(記錄)。2. 字段的基本屬性字段的屬性:包括:字段名、數(shù)據(jù)類(lèi)型、字段寬度、小數(shù)位數(shù)、空值支持字段名:即每個(gè)
25、字段的名字,必須以字母開(kāi)頭,可由字母、數(shù)字、下劃線組合而成,字母大、小寫(xiě)無(wú)區(qū)別,但其中不許有空格或其它字符。自由表的字段名最多由10個(gè)字符組成,數(shù)據(jù)庫(kù)表的字段名支持長(zhǎng)名,最多可達(dá)128個(gè)字符。如果從數(shù)據(jù)庫(kù)中移去一個(gè)表,那么此表的長(zhǎng)字段名將被截短成10個(gè)字符。VFP允許長(zhǎng)字段名和長(zhǎng)表名,但使用長(zhǎng)名稱(chēng)對(duì)于跨平臺(tái)的操作可能遇到難以預(yù)料的結(jié)果。數(shù)據(jù)類(lèi)型:指該字段的數(shù)據(jù)特征。字段寬度:指該字段所能容納數(shù)據(jù)的的最大字節(jié)數(shù)。小數(shù)位數(shù):指數(shù)值型數(shù)據(jù)將保留幾位小數(shù)。此時(shí)的字段寬度二整數(shù)位數(shù)+1+小數(shù)位數(shù)。NULL值(空值):無(wú)明確的值,無(wú)類(lèi)型。NULL值不等同于零或空格。一個(gè)NULL值不能認(rèn)為比某個(gè)值(包括另一
26、個(gè)NULL值)大或小,相等或不同。VFP6.0表中字段的數(shù)據(jù)類(lèi)型字段類(lèi)型代號(hào)說(shuō)明字段寬度使用示例字符型C字母、漢字和數(shù)字型文本每個(gè)字符為1個(gè)字節(jié),最多可有254個(gè)字符學(xué)生的學(xué)號(hào)或姓名,"8199101"或'李立'貨幣型Y貨幣單位8個(gè)字節(jié)工資,$1246.89日期型D包含有年、月和日的數(shù)據(jù)8個(gè)字節(jié)出生日期,八1980/07/08日期時(shí)間型T包含有年、月、日、時(shí)、分、秒的數(shù)據(jù)8個(gè)字節(jié)上班時(shí)間,A2005/02/209:15:15AM邏輯型L真”或假”的布爾值1個(gè)字節(jié)課程是否為必修課,.T.或.F.數(shù)值型N整數(shù)或小數(shù)在內(nèi)存中考試成績(jī),83.5占8個(gè)字節(jié);在表中占1
27、至20個(gè)字節(jié)雙精度型B雙精度浮點(diǎn)數(shù)8個(gè)字節(jié)實(shí)驗(yàn)要求的高精度數(shù)據(jù)浮點(diǎn)型F與數(shù)值型一樣整型I不帶小數(shù)點(diǎn)的數(shù)值4個(gè)字節(jié)學(xué)生的數(shù)量通用型GOLE對(duì)象在表中占4個(gè)字節(jié)圖片或聲音備注型M不定長(zhǎng)度的段文字在表中占4個(gè)字節(jié)學(xué)生簡(jiǎn)歷字符型(二進(jìn)制)C任意不經(jīng)過(guò)代碼頁(yè)修改而維護(hù)的字符數(shù)據(jù)每個(gè)字符用1個(gè)字節(jié),最多可有254個(gè)字符備注型(二進(jìn)制)M任意不經(jīng)過(guò)代碼頁(yè)修改而維護(hù)的備注數(shù)據(jù)在表中占4個(gè)字節(jié)3. 表的基本操作表的創(chuàng)建:設(shè)計(jì)表名和表結(jié)構(gòu)、輸入記錄、建立索引數(shù)據(jù)維護(hù):增加記錄、修改記錄、刪除記錄創(chuàng)建表的主要步驟:設(shè)計(jì)表結(jié)構(gòu)T輸入記錄T建立索引T數(shù)據(jù)維護(hù)4. 關(guān)于表操作的幾個(gè)基本命令命令格式功能CREATE表文件名
28、創(chuàng)建一個(gè)新的自由表的結(jié)構(gòu)USE表文件名打開(kāi)指定的表文件USE關(guān)閉當(dāng)前表文件LISTALL顯示當(dāng)前表的全部記錄內(nèi)容(類(lèi)似于DOS命令中的dir)DISPLAYALL分屏式地顯示當(dāng)前表的全部記錄內(nèi)容(類(lèi)似于DOS中的dir/p)DISPLAYSTRUCTURE顯示當(dāng)前表的結(jié)構(gòu)(分屏顯示)LISTSTRUCTURE顯示當(dāng)前表的結(jié)構(gòu)(不分屏顯示)MODIFYSTRUCTURE調(diào)出表設(shè)計(jì)器,修改當(dāng)前表的結(jié)構(gòu)。CLEAR清除主窗口中的所有內(nèi)容(1)必須先打開(kāi)所需的數(shù)據(jù)表才可進(jìn)行以上操作;(2)當(dāng)帶有命令子句時(shí),只對(duì)指定的記錄進(jìn)行操作;(3) LIST命令的默認(rèn)范圍是所有記錄,DISPLAY命令的默認(rèn)范圍是
29、當(dāng)前記錄。3.2表結(jié)構(gòu)的創(chuàng)建和修改1. 表結(jié)構(gòu)的創(chuàng)建創(chuàng)建表結(jié)構(gòu)其實(shí)就是設(shè)計(jì)字段的基本屬性。可以使用表設(shè)計(jì)器、表向?qū)Щ騍QL命令來(lái)創(chuàng)建表結(jié)構(gòu)。(1) 使用表設(shè)計(jì)器創(chuàng)建表步驟:從文件菜單中單擊新建t在新建對(duì)話框中選擇表并單擊新文件t在創(chuàng)建對(duì)話框中給出文件名并確定所需的保存位置t在表設(shè)計(jì)器對(duì)話框中逐個(gè)輸入所需字段(用J或鼠標(biāo)換行),全部字段輸入完成后單擊確定。(2) 使用表向?qū)?chuàng)建表步驟:從文件菜單中單擊新建t在新建對(duì)話框中選擇表并單擊向?qū)在表向?qū)е凶龅?步:選取字段,完成后單擊下一步t在表向?qū)е凶龅?a步:選擇數(shù)據(jù)庫(kù),完成后單擊下一步t在表向?qū)е凶龅?步:修改字段設(shè)置,完成后單擊下一步t在表向?qū)?/p>
30、中做第3步:為表建索引,完成后單擊下一步t在表向?qū)е凶龅?步:完成,選擇表的保存方法,完成后單擊完成T在另存為對(duì)話框中給出文件名并確定所需的保存位置。、卜、八注意:先選擇一個(gè)與待建數(shù)據(jù)表類(lèi)似的樣表,再?gòu)闹刑暨x出所需的部分字段,然后在下一步根據(jù)實(shí)際需要修改或直接采用原字段的寬度。(3) 使用CREATETABLE-SQL命令該命令的一般格式為:CREATETABL|Hbf表文件名(字段名1字段類(lèi)型(字段寬度,小數(shù)位數(shù)),字段名2字段類(lèi)型(字段寬度,小數(shù)位數(shù))例:CREATETABLExscj(xhc(8),xmc(6),xbc(2),;cjn(5,1),ksrqd)2. 表結(jié)構(gòu)的修改(1) 用表
31、設(shè)計(jì)器修改用菜單調(diào)出表設(shè)計(jì)器:打開(kāi)所需的表文件T單擊顯示菜單中的表設(shè)計(jì)器T在表設(shè)計(jì)器對(duì)話框中對(duì)字段進(jìn)行修改-修改完畢單擊確定并在消息框中選擇是。用命令調(diào)出表設(shè)計(jì)器:USE表文件名MODIFYSTRUCTURE(2) 使用ALTERTABLE-SQL命令功能命令格式示例添加字段ALTERTABLExscjADDCOLUMNkcmcC(14)重命名字段ALTERTABLExscjRENAMECOLUMNkcmcTOkc刪除字段ALTERTABLExscjDROPCOLUMNkc3.3表記錄的處理1.記錄的輸入(1)立即輸入方式:設(shè)計(jì)好表的結(jié)構(gòu)后,系統(tǒng)會(huì)提示是否直接進(jìn)入數(shù)據(jù)輸入狀態(tài)。若選是,則進(jìn)入編
32、輯窗口,輸完后單擊“X”按鈕退出,系統(tǒng)自動(dòng)存盤(pán)。需輸入備注型或通用型字段的數(shù)據(jù)時(shí),雙擊“memO或“gen”,在新打開(kāi)的編輯窗口中輸入所需內(nèi)容,輸完后單擊“X”按鈕系統(tǒng)自動(dòng)存盤(pán),退回到原窗口,此時(shí)字段中的“memO或“gen”變成“Memo或“Gen'o追加方式:若設(shè)計(jì)好表的結(jié)構(gòu)后并沒(méi)有及時(shí)輸入數(shù)據(jù),則可以用追加方式:從文件菜單中(或從命令窗口中輸入:USE表文件名)打開(kāi)所需表文件t從顯示菜單中選擇瀏覽t再?gòu)娘@示菜單中選擇追加方式t在瀏覽窗口中輸入所需記錄。不同追加方式適用的場(chǎng)合追加記錄的方式適用的場(chǎng)合顯示菜單中的追加方式在現(xiàn)有數(shù)據(jù)表的尾部添加一個(gè)或多個(gè)新記錄表菜單中的追加新記錄在現(xiàn)有
33、數(shù)據(jù)表的尾部添加一個(gè)新記錄表菜單中的追加記從其它數(shù)據(jù)表中將符合要求(字段名和字段類(lèi)錄型相冋)的記錄添加在當(dāng)前數(shù)據(jù)表的尾部APPENDBLANK在當(dāng)前表的末尾自動(dòng)添加一個(gè)或多個(gè)新記錄。相當(dāng)于顯示采單中的追加方式。有BLANK時(shí)添加一個(gè)空記錄,相當(dāng)于表菜單中的追加新記錄。APPENDFROM表文件名FIELDS字段名1,字段名2FOR條件從其它數(shù)據(jù)表中將符合要求(字段名和字段類(lèi)型相冋)的記錄添加在當(dāng)前數(shù)據(jù)表的尾部。相當(dāng)于表菜單中的追加記錄。APPENDFROM文本文件名SDF將符合要求的文本文件全部追加在當(dāng)前數(shù)據(jù)表的尾部。注意:文本內(nèi)容要與表中的字段結(jié)構(gòu)相適應(yīng)。文件菜單中的導(dǎo)入將其它類(lèi)型的文件轉(zhuǎn)換
34、成一個(gè)完整的VFP數(shù)據(jù)表。(3)使用INSERT-SQ命令該命令的一般格式為:INSERTINTO表名(字段名1,字段名2)VALUES(表達(dá)式1,表達(dá)式2)例:INSERTINTOxscj(xh,xm,cj)VALUES("81991001","張良",85.5)2.記錄的瀏覽(1)通過(guò)瀏覽窗口通過(guò)BROWS命令BROWSt令用來(lái)打開(kāi)表的瀏覽窗口,可通過(guò)不冋的子句來(lái)實(shí)現(xiàn)對(duì)特定記錄的瀏覽。VFP命令中的常用子句1)范圍子句子句格式功能ALL表示對(duì)表文件的全部記錄進(jìn)行操作NEXTn表示對(duì)從當(dāng)前記錄開(kāi)始的共n個(gè)記錄進(jìn)行操作,n為正整數(shù)RECORDn指明操作對(duì)
35、象是表文件的第n號(hào)記錄REST對(duì)從當(dāng)前記錄起到文件結(jié)尾的全部記錄進(jìn)行操作2) FOR子句用于指明進(jìn)行操作的條件。格式:FOR條件指明只對(duì)指定范圍中那些符合給定條件的進(jìn)行當(dāng)前操作例如:listNEXT6FORcj853) WHILE子句也用于指明進(jìn)行操作的條件。格式:WHILE條件例如:listNEXT6WHILEcj854) FIELDS子句用于指明當(dāng)前的操作涉及到表文件的哪些字段。格式:BROWSEFIELDS字段名1,字段名2例如:BROWSEFIELDSxh,xm,cj3. 記錄的定位(1)系統(tǒng)對(duì)記錄的三個(gè)控制標(biāo)志記錄開(kāi)始標(biāo)志:位于第一個(gè)記錄之前。其值用函數(shù)BOF()進(jìn)行測(cè)試。記錄指針標(biāo)
36、志:指向當(dāng)前記錄。其值用函數(shù)RECNQ)進(jìn)行測(cè)試。記錄結(jié)束標(biāo)志:位于最后一個(gè)記錄之后。其值用函數(shù)EOF()進(jìn)行測(cè)試。記錄指針可以理解為保存當(dāng)前記錄號(hào)的變量,它的初始值總是1,不可能為0或負(fù)數(shù),最大值是表中記錄總數(shù)+1。剛打開(kāi)表時(shí)記錄指針的情況表中記錄情況BOF()的值RECNO()的值EOF()的值無(wú)記錄.T.1.T.有記錄.F.1.F.(2)記錄的定位方式絕對(duì)定位:是指把指針移到指定的位置。相對(duì)定位:是指把指針從當(dāng)前位置開(kāi)始,相對(duì)于當(dāng)前記錄向前或向后移動(dòng)若干個(gè)記錄位置。條件定位:是指按一定的條件在整張表或表的某個(gè)指定范圍中查找符合該條件的記錄。通過(guò)菜單進(jìn)行定位從表菜單中選擇轉(zhuǎn)到記錄:記錄號(hào)實(shí)
37、現(xiàn)絕對(duì)定位定位實(shí)現(xiàn)條件定位通過(guò)命令進(jìn)行定位記錄的定位命令格式功能備注絕對(duì)定位GOTOP將記錄指針定位到表文件之首或GOTOTOPGOBOTTOM將記錄指針定位到表文件之尾或GOTOBOTTOMGO<n>將記錄指針定位到指定的n號(hào)記錄相對(duì)定位SKIP<n>將記錄指針從當(dāng)前記錄向上或向下移動(dòng)n個(gè)n為正值則向下移動(dòng)n為負(fù)值則向上移動(dòng)無(wú)n向下移動(dòng)1個(gè)條件定位LOCATEFOR<條件>范圍按順序搜索表,直到找到滿足指定條件的第一個(gè)記錄默認(rèn)范圍是所有記錄4. 記錄的修改和刪除一張表用非只讀方式打開(kāi)后,即可通過(guò)菜單在瀏覽窗口(或編輯窗口)中或從命令窗口中用命令直接對(duì)其記錄
38、進(jìn)行編輯、修改和刪除。(1)菜單方式修改記錄:從表菜單中選擇替換字段T在替換字段對(duì)話框中選擇待替換的字段并構(gòu)造出替換表達(dá)式及替換條件T替換。刪除記錄:從表菜單中選擇刪除記錄T在刪除對(duì)話框中選擇刪除范圍和刪除條件f單擊刪除按鈕f從表菜單中選擇徹底刪除f在消息框中單擊是。刪除記錄包括兩步:標(biāo)記要?jiǎng)h除的記錄和徹底刪除帶刪除標(biāo)記的記錄恢復(fù)帶刪除標(biāo)記的記錄:從表菜單中選擇恢復(fù)記錄f在恢復(fù)記錄對(duì)話框中選擇作用范圍和條件f單擊恢復(fù)記錄按鈕。(2)SQL命令方式(表事先可以不打開(kāi),適用于編程工作方式)修改記錄:用UPDATE-SQ命令。命令格式:UPDATE表名>SET字段1=表達(dá)式1,字段2二表達(dá)式2
39、;WHER條件表達(dá)式例:UPDATExscjSETcj=cj*1.05WHEREcj>80刪除記錄:用DELETE-SQL命令。命令格式:DELETEFROMI表名>WHERE條件表達(dá)式例:DELETEFROMxscjWHEREcj<60(3)在命令窗口中用VFP命令:命令格式功能備注插入INSERTBLANKBEFORE在當(dāng)前表的指定位置上插入一個(gè)空記錄或若干新記錄BLANK:在當(dāng)前記錄后插入一個(gè)空記錄BEFORE:在當(dāng)前記錄之前插入若干新記錄修改CHANGEFIELDS字段名1,FOR條件LEDITREDIT在編輯窗口顯示要修改的字段LEDIT:調(diào)出編輯窗口REDIT:調(diào)
40、出瀏覽窗口替換REPLACE字段名1WITH表達(dá)式1ADDITIVE兒字段名2WITH表達(dá)式2ADDITIVE范圍FOR條件把字段值用指定的表達(dá)式進(jìn)行替換。如:工資單中給某些人長(zhǎng)工資默認(rèn)范圍是當(dāng)前記錄ADDITIVE:把備注字段的替換內(nèi)容添加在原備注內(nèi)容的后面刪除DELETE范圍FOR條件對(duì)當(dāng)前表中指定范圍內(nèi)滿足條件的記錄加上刪除標(biāo)記*默認(rèn)范圍是當(dāng)前記錄PACKMEMODBF將所有帶刪除標(biāo)記的記錄從表中抹去(不能再恢復(fù))DBF:不影響備注文件MEMO:從備注文件中刪除未使用空間ZAP刪除當(dāng)前表中所有記錄,只留下表的結(jié)構(gòu)相當(dāng)于DELETEALL+PACK恢復(fù)RECALL范圍FOR條件取消當(dāng)前表中
41、指定記錄上的刪除標(biāo)記默認(rèn)范圍是當(dāng)前記錄5.篩選記錄和字段(1)用菜單方式從表菜單中選擇屬性f在工作區(qū)屬性對(duì)話框中單擊數(shù)據(jù)過(guò)濾器框后的按鈕f在表達(dá)式生成器對(duì)話框中構(gòu)造所需的條件表達(dá)式并確定f單擊字段篩選按鈕f在字段篩選器中選擇所需字段并確定f單擊選項(xiàng)按鈕:字段篩選指定的字段f確定。(2)用命令方式命令格式:SETFILTERTO條件表達(dá)式例:SETFILTERTOxb='男'注意:SQL命令對(duì)記錄的訪問(wèn)不受此篩選命令的限制。3.4表的使用1. 工作區(qū)工作區(qū):指用來(lái)標(biāo)識(shí)一張打開(kāi)的表的區(qū)域。一個(gè)工作區(qū)在某一時(shí)刻只能打開(kāi)一張表,但可以同時(shí)在多個(gè)工作區(qū)打開(kāi)多張表,一張可以在多個(gè)工作區(qū)中多
42、次被打開(kāi)。每個(gè)工作區(qū)都有一個(gè)編號(hào)。表的別名:在工作區(qū)中打開(kāi)表時(shí)為該表所定義的名稱(chēng)。可以自定義別名,否則系統(tǒng)默認(rèn)就以表名作為別名。若一張表在多個(gè)工作區(qū)中被打開(kāi),系統(tǒng)默認(rèn)在表名后依次加_a、_b。自定義別名的格式:USE表名ALIAS別名當(dāng)前工作區(qū):正在使用的工作區(qū)??梢酝ㄟ^(guò)“數(shù)據(jù)工作期窗口”或用SELECT命令把任何一個(gè)工作區(qū)設(shè)置為當(dāng)前工作區(qū)。SELECT命令格式:SELECT工作區(qū)號(hào)|別名要操作非當(dāng)前工作區(qū)中的表,可以把其它工作區(qū)選為當(dāng)前工作區(qū),或在命令中強(qiáng)行指定工作區(qū)。命令格式:IN工作區(qū)號(hào)|別名ALIAS(工作區(qū)號(hào))函數(shù):測(cè)試指定工作區(qū)中的表的別名,無(wú)參數(shù)時(shí)指當(dāng)前工作區(qū)表的別名。SELEC
43、T(別名)函數(shù):測(cè)試指定別名的表所在的工作區(qū)號(hào),無(wú)參數(shù)時(shí)指當(dāng)前工作區(qū)的區(qū)號(hào)。2. 表的打開(kāi)和關(guān)閉打開(kāi)表的途徑關(guān)閉表的途徑文件菜單中的打開(kāi)工具欄上的打開(kāi)數(shù)據(jù)工作期窗口中關(guān)閉USE數(shù)據(jù)工作期窗口中打開(kāi)USE表名USEIN別名|工作區(qū)號(hào)CLOSEALLUSE表名IN工作區(qū)號(hào)USE表名AGAINCLOSEDATABASECLOSETABLEUSE表名ALIAS別名退出VFP系統(tǒng),則關(guān)閉所有的表3. 表的獨(dú)占與共享使用獨(dú)占使用:一張表只能被一個(gè)用戶打開(kāi)。VFP6.0在默認(rèn)狀態(tài)以獨(dú)占方式打開(kāi)。共享使用:一張表可以被多個(gè)用戶同時(shí)打開(kāi)。系統(tǒng)的默認(rèn)打開(kāi)方式可以通過(guò)工具菜單中的選項(xiàng)來(lái)設(shè)置,或用命令:SETEXCL
44、USIVE0F&&默認(rèn)打開(kāi)方式為共享SETEXCLUSIVE0&&默認(rèn)打開(kāi)方式為獨(dú)占或強(qiáng)行打開(kāi):USEcjSHARED&&以共享方式打開(kāi)cj表USEcjEXCLUSIVE&&以獨(dú)占方式打開(kāi)cj表4. 利用緩沖訪問(wèn)表中的數(shù)據(jù)數(shù)據(jù)緩沖:先將對(duì)表記錄的修改存放在緩沖區(qū)中,用戶決定是否用緩沖區(qū)中的數(shù)據(jù)更新表文件。它是VFP6.0在多用戶環(huán)境下用來(lái)保護(hù)對(duì)表記錄所做的數(shù)據(jù)更新和數(shù)據(jù)維護(hù)操作的一種技術(shù)。數(shù)據(jù)緩沖的類(lèi)型:記錄緩沖:當(dāng)記錄指針移動(dòng)或關(guān)閉表時(shí),緩沖區(qū)自動(dòng)更新表中的相應(yīng)記錄。表緩沖:當(dāng)發(fā)出更新表的命令或關(guān)閉表時(shí)更新表。緩沖鎖定方式:有兩
45、種:開(kāi)放式和保守式。3.5表的索引1. 基本概念記錄的順序:物理順序:即表中記錄的存儲(chǔ)順序。用記錄號(hào)表示。邏輯順序:表打開(kāi)后被使用時(shí)記錄的處理順序。索引:指按表文件中某個(gè)關(guān)鍵字段或表達(dá)式建立記錄的邏輯順序。它是由一系列記錄號(hào)組成的一個(gè)列表,提供對(duì)數(shù)據(jù)的快速訪問(wèn)。索引不改變表中記錄的物理順序。表文件中的記錄被修改或刪除時(shí),索引文件可自動(dòng)更新。索引關(guān)鍵字(索引表達(dá)式):用來(lái)建立索引的一個(gè)字段或字段表達(dá)式。1)用多個(gè)字段建立索引表達(dá)式時(shí),表達(dá)式的計(jì)算結(jié)果將影響索引的結(jié)果;2)不同類(lèi)型字段構(gòu)成一個(gè)表達(dá)式時(shí),必須轉(zhuǎn)換數(shù)據(jù)類(lèi)型。索引標(biāo)識(shí)(索引名):即索引關(guān)鍵字的名稱(chēng)。必須以下劃線、字母或漢字開(kāi)頭,且不可超
46、過(guò)10個(gè)字。索引類(lèi)型:主索引、候選索引、普通索引、唯一索引。主索引:組成主索引關(guān)鍵字的字段或表達(dá)式,在表的所有記錄中不能有重復(fù)的值,不能為空值。主索引只適用于數(shù)據(jù)庫(kù)表的結(jié)構(gòu)復(fù)合索引中。自由表中不可以建立主索引;數(shù)據(jù)庫(kù)中的每個(gè)表可以且只能建立一個(gè)主索引。候選索引:在指定的關(guān)鍵字段或表達(dá)式中不允許有重復(fù)值的索引,不能為空值。在數(shù)據(jù)庫(kù)表和自由表中均可為每個(gè)表建立多個(gè)候選索引。普通索引:也可以決定記錄的處理順序,但是允許字段中出現(xiàn)重復(fù)值。在一個(gè)表中可以加入多個(gè)普通索引。唯一索引:參加索引的關(guān)鍵字段或表達(dá)式在表中可以有重復(fù)值,但在索引對(duì)照表中,具有重復(fù)值的記錄僅存儲(chǔ)其中的第一個(gè)。區(qū)別:主索弓I、候選索引
47、保證了實(shí)體的完整性2. 索引的作用用途采用的索引類(lèi)型排序記錄,以便顯示、查詢或打印使用普通索引、候選索引或主索引在字段中控制重復(fù)值的輸入并對(duì)數(shù)據(jù)庫(kù)表使用主索引或候選索引,對(duì)記錄排序?qū)ψ杂杀硎褂煤蜻x索引準(zhǔn)備設(shè)置表關(guān)系依據(jù)表在關(guān)系中所起的作用,使用普通索引、主索引或候選索引3.索引文件的種類(lèi)索引文件種類(lèi)特征關(guān)鍵字?jǐn)?shù)目限制結(jié)構(gòu)復(fù)合索引文件.CDX使用和表文件名相同的基本名,隨表的打開(kāi)自動(dòng)打開(kāi)。可以看成表結(jié)構(gòu)的一部分。多關(guān)鍵字表達(dá)式,稱(chēng)為標(biāo)識(shí)。有效表達(dá)式限制在240個(gè)字符之內(nèi)。非結(jié)構(gòu)復(fù)合索引文件.CDX必須明確地打開(kāi),使用和表名不同的基本名。其中不能創(chuàng)建主索引多關(guān)鍵字表達(dá)式,稱(chēng)為標(biāo)識(shí)。有效表達(dá)式限制在
48、符之240個(gè)字內(nèi)。獨(dú)立索引文件DX必須明確地打開(kāi),文件的基本名由用戶定義。一般作為臨時(shí)索引文件。單關(guān)鍵字表達(dá)式。有效表達(dá)式限制在100個(gè)字符之內(nèi)。結(jié)構(gòu)復(fù)合索引文件(擴(kuò)展名為.CDX的特點(diǎn):.在創(chuàng)建索引標(biāo)識(shí)時(shí)自動(dòng)創(chuàng)建。.在打開(kāi)表時(shí)自動(dòng)打開(kāi)。.在同一索引文件中能包含多個(gè)排序方案,或索引關(guān)鍵字.在添加、更改或刪除記錄時(shí)自動(dòng)維護(hù)。4. 創(chuàng)建結(jié)構(gòu)復(fù)合索引VFP中創(chuàng)建索引文件有兩種方式:表設(shè)計(jì)器方式和命令方式。(1)表設(shè)計(jì)器方式打開(kāi)表文件t從顯示菜單中選擇表設(shè)計(jì)器f在表設(shè)計(jì)器中單擊索引f輸入索引名并選擇索引類(lèi)型f選擇索引的方向(按升序或降序排列記錄)f在表達(dá)式框中輸入作為排序依據(jù)的索引關(guān)鍵字f在篩選框中輸
49、入篩選表達(dá)式f單擊確定,完畢。(2)命令方式命令功能INDEXON索引關(guān)鍵字段TAG索引標(biāo)識(shí)FOR條件ASCENDING|DESCENDINGCANDIDATE|UNIQUE用INDEXON命令建立一個(gè)索引文件ALTERTABLE表名ADDPRIMARYKEY關(guān)鍵字段名TAG索引標(biāo)識(shí)名用SQL命令創(chuàng)建主索引ALTERTABLE表名ADDUNIQUE關(guān)鍵字段名TAG索引標(biāo)識(shí)名用SQL命令創(chuàng)建候選索引注意:1)備注型字段和通用型字段不能作為索引關(guān)鍵字段;2)不要建立無(wú)用的索引,以免降低系統(tǒng)性能;3)及時(shí)清理已無(wú)用索引標(biāo)識(shí),提高系統(tǒng)效率。4)在復(fù)合索引的多個(gè)索引中,某一時(shí)刻只有一個(gè)索引對(duì)表起作用5.
50、 索引的修改和刪除修改:打開(kāi)表設(shè)計(jì)器,在索引對(duì)話框中進(jìn)行所需修改;或用命令重新建立一個(gè)相冋標(biāo)識(shí)名而索引表達(dá)式不冋的索引。刪除:打開(kāi)表設(shè)計(jì)器,在索引對(duì)話框中刪除不需要的索引標(biāo)識(shí)即可;或用命令:DELETETAGALL|索引標(biāo)識(shí)1,索引標(biāo)識(shí)2刪除不需要的索引標(biāo)識(shí),ALL表示全部標(biāo)識(shí)。6.索引的使用功能命令格式打開(kāi)表的冋時(shí)指疋主控索引USE表名ORDER標(biāo)識(shí)名為已打開(kāi)的表確疋主控索引SETORDERTO標(biāo)識(shí)名ASCENDING|DESCENDING搜索某張已建立索引的表FIND表達(dá)式搜索表中首次出現(xiàn)的記錄SEEK表達(dá)式索引標(biāo)識(shí)名SEEK表達(dá)式第四章數(shù)據(jù)庫(kù)的創(chuàng)建和使用3.6VFP數(shù)據(jù)庫(kù)1. 數(shù)據(jù)庫(kù)的基
51、本組成數(shù)據(jù)庫(kù)由一個(gè)以上相互關(guān)聯(lián)的數(shù)據(jù)表組成,可以包含一個(gè)或多個(gè)表、視圖、到遠(yuǎn)程數(shù)據(jù)源的連接和存儲(chǔ)過(guò)程。視圖(view):一個(gè)保存在數(shù)據(jù)庫(kù)中的、由引用一個(gè)或多個(gè)表、或其他視圖的相關(guān)數(shù)據(jù)組成的虛擬表,可以是本地的、遠(yuǎn)程的或帶參數(shù)的。存儲(chǔ)過(guò)程(storedprocedure):是保存在數(shù)據(jù)庫(kù)中的一個(gè)過(guò)程。該過(guò)程能包含一個(gè)用戶自定義函數(shù)中的任何命令和函數(shù)。創(chuàng)建數(shù)據(jù)庫(kù)時(shí)系統(tǒng)自動(dòng)生成3個(gè)文件:數(shù)據(jù)庫(kù)文件:擴(kuò)展名為.DBC數(shù)據(jù)庫(kù)備注文件:擴(kuò)展名為.DCT數(shù)據(jù)庫(kù)索引文件:擴(kuò)展名為.DCX2. 數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程1)明確建立數(shù)據(jù)庫(kù)的目的和使用方式2)設(shè)計(jì)所需的數(shù)據(jù)表(包括表結(jié)構(gòu)和表記錄)3)建立表之間的關(guān)系4)改
52、進(jìn)設(shè)計(jì)3.7數(shù)據(jù)庫(kù)的創(chuàng)建1. 數(shù)據(jù)庫(kù)的創(chuàng)建過(guò)程數(shù)據(jù)庫(kù)的創(chuàng)建過(guò)程中一般會(huì)涉及下面一些常用操作:1)創(chuàng)建新表-用表設(shè)計(jì)器(設(shè)置字段屬性和表屬性)2)添加表-用數(shù)據(jù)庫(kù)設(shè)計(jì)器按鈕或數(shù)據(jù)庫(kù)菜單3)創(chuàng)建視圖-用視圖向?qū)?、視圖設(shè)計(jì)器4)建立關(guān)系用鼠標(biāo)將父表的索引拖到子表的相關(guān)索引上5)編輯關(guān)系-用數(shù)據(jù)庫(kù)菜單或快捷菜單-參照完整性生成器6) 移去關(guān)系-用快捷菜單或按delete鍵7) 修改表用表設(shè)計(jì)器8) 刪除表或視圖-用數(shù)據(jù)庫(kù)設(shè)計(jì)器按鈕或數(shù)據(jù)庫(kù)菜單2. 數(shù)據(jù)庫(kù)的新建、打開(kāi)、關(guān)閉(1) 新建數(shù)據(jù)庫(kù):從文件菜單中單擊新建在新建對(duì)話框中選擇數(shù)據(jù)庫(kù)并單擊新文件-在創(chuàng)建對(duì)話框中給出庫(kù)文件名和保存位置-在數(shù)據(jù)庫(kù)設(shè)計(jì)器中建立所需的數(shù)據(jù)庫(kù)?;驈拿畲翱谥休斎朊睿篶reatedat
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年高考政治一輪復(fù)習(xí):必修二《經(jīng)濟(jì)與社會(huì)》知識(shí)點(diǎn)背誦提綱
- 2025年憲法知識(shí)競(jìng)賽試題300題及答案
- 2025年通信安全員ABC證復(fù)審考試題(含答案)
- 2026年高考生物一輪復(fù)習(xí):人教版必修+選必修共5冊(cè)考點(diǎn)知識(shí)提綱默寫(xiě)練習(xí)題匯編(含答案)
- 2025年人教版七年級(jí)英語(yǔ)下冊(cè)期中專(zhuān)項(xiàng)復(fù)習(xí):閱讀理解之說(shuō)明文【必刷15篇】(解析版)
- 2025人教版八年級(jí)英語(yǔ)上冊(cè)Unit8課文重點(diǎn)知識(shí)語(yǔ)法講解及練習(xí)題
- 辦公室年度預(yù)算課件
- 音樂(lè)產(chǎn)業(yè)版權(quán)運(yùn)營(yíng)中的科技賦能與創(chuàng)新模式研究報(bào)告2025
- 辦公基礎(chǔ)知識(shí)培訓(xùn)課件考試
- 2025年汽車(chē)與交通設(shè)備行業(yè)智能網(wǎng)聯(lián)汽車(chē)數(shù)據(jù)安全與隱私保護(hù)研究報(bào)告
- QC/T 780-2024摩托車(chē)散熱器
- 人工喂養(yǎng)課件教學(xué)課件
- DB14-T 2735-2023 稻蟹蝦綜合種養(yǎng)技術(shù)規(guī)程
- 2024年茶葉加工工(中級(jí))職業(yè)鑒定理論考試題庫(kù)(含答案)
- 2024屆黑龍江省高三押題卷(四)語(yǔ)文試題(解析版)
- 移動(dòng)機(jī)器人技術(shù)-課件全套 項(xiàng)目1-6 移動(dòng)機(jī)器人概述、系統(tǒng)構(gòu)成 - 移動(dòng)機(jī)器人高階認(rèn)知與實(shí)踐
- 2024年全國(guó)統(tǒng)一考試高考新課標(biāo)Ⅱ卷數(shù)學(xué)試題(真題+答案)
- 人機(jī)工效管理標(biāo)準(zhǔn)
- 初中數(shù)學(xué)代數(shù)部分知識(shí)點(diǎn)總結(jié)
- 低鉀血癥護(hù)理講課課件
- 用藥錯(cuò)誤:病例分析案例
評(píng)論
0/150
提交評(píng)論