vfp表的創(chuàng)建和使用.ppt_第1頁
vfp表的創(chuàng)建和使用.ppt_第2頁
vfp表的創(chuàng)建和使用.ppt_第3頁
vfp表的創(chuàng)建和使用.ppt_第4頁
vfp表的創(chuàng)建和使用.ppt_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Visual FoxPro,講授 鐘 丹,江蘇省普通高校計(jì)算機(jī)等級(jí)考試教程,第 三 章,表的創(chuàng)建和使用 一,一、表 的 創(chuàng) 建,表的概念: VFP中的表是指存儲(chǔ)在磁盤文件中的一張二維表。一張表保存為一個(gè)表文件(.dbf)表有時(shí)也稱數(shù)據(jù)表。表文件的文件名必須遵守VFP系統(tǒng)命名的規(guī)則外,不可用A-J中的單個(gè)字母名做文件名 表中的列稱為字段(Field),字段規(guī)定了數(shù)據(jù)的特征,每張表最多可以有255個(gè)字段 表中的行稱為記錄(Record),每一條記錄表示一個(gè)實(shí)體,記錄是多個(gè)字段的集合,對(duì)于關(guān)系數(shù)據(jù)庫(kù)來說,數(shù)據(jù)全部是以二維表的形式保存的,VFP的表分為:數(shù)據(jù)庫(kù)表和自由表,建立表的一般步驟:設(shè)計(jì)表結(jié)構(gòu)(紙上),使用表設(shè)計(jì)器或是命令建立表的結(jié)構(gòu)并保存為表文件,向表內(nèi)錄入數(shù)據(jù) 表結(jié)構(gòu)主要是指定表的字段及屬性 字段的基本屬性: (P76 表3-1,熟記) 字段名(Field Name),每一個(gè)字段必須取一個(gè)名字,稱為“字段名”,用以在表中標(biāo)志該字段 字段的數(shù)據(jù)類型(Type),表中每個(gè)字段都有特定的數(shù)據(jù)類型 字段寬度(Width),指該字段所能容納數(shù)據(jù)的最大的字節(jié)數(shù),字段的寬度必須能足夠容納可能的最長(zhǎng)的數(shù)據(jù)信息 小數(shù)位數(shù)(Decimal),對(duì)于數(shù)值型、浮點(diǎn)型和雙精度型的字段,還可以指定其小數(shù)的位數(shù) 空值(NULL)支持,空值是用來指示記錄中的一個(gè)字段“沒有值”的標(biāo)志??罩当硎緵]有任何值或沒有確定值,空值不同于數(shù)值0、空字符串或邏輯“假”,表結(jié)構(gòu)的創(chuàng)建:表設(shè)計(jì)器方式和create table-SQL命令,當(dāng)表創(chuàng)建以后,系統(tǒng)以擴(kuò)展名.dbf保存文件,若表中有G或M型字段,則自動(dòng)生成以.fpt為擴(kuò)展名的備注文件 用“表設(shè)計(jì)器”創(chuàng)建表結(jié)構(gòu):請(qǐng)?jiān)趧?chuàng)建表之前,先創(chuàng)建一個(gè)項(xiàng)目,然后在項(xiàng)目管理器中創(chuàng)建表結(jié)構(gòu),這樣,這個(gè)表就可以被很方便的編輯和管理 注意:在創(chuàng)建表結(jié)構(gòu)時(shí),若要換行請(qǐng)使用TAB鍵,而不要按ENTER鍵,因?yàn)橐坏┌聪翬NTER鍵會(huì)使表結(jié)構(gòu)設(shè)計(jì)結(jié)束 用create table-SQL命令創(chuàng)建(P101) 命令格式: create table tablename (fieldname1 fieldtype (nfieldwidth,nprecision)null | not null ),表結(jié)構(gòu)的修改 用“表設(shè)計(jì)器”修改表結(jié)構(gòu)(對(duì)應(yīng)于命令modify structure) 用alter table-SQL命令來修改表結(jié)構(gòu) P103,記住命令使用格式,看懂書上的例子,工作區(qū):所謂工作區(qū)指用以標(biāo)識(shí)一張打開表的區(qū)域。打開一張表時(shí),必須為該表指定一個(gè)工作區(qū)。每個(gè)工作區(qū)有一個(gè)編號(hào)。在工作區(qū)中打開的表都有一個(gè)別名 當(dāng)前工作區(qū)即VFP正在使用的工作區(qū),即默認(rèn)的工作區(qū)。一個(gè)工作區(qū)只能打開一個(gè)表,但一個(gè)表可同時(shí)在多個(gè)工作區(qū)打開 選擇工作區(qū)可以使用 select nworkarea|ctablealias “數(shù)據(jù)工作期”窗口 數(shù)據(jù)工作期是當(dāng)前數(shù)據(jù)動(dòng)態(tài)工作環(huán)境的一種表示,顯示出當(dāng)前數(shù)據(jù)的一些基本信息,并能夠通過該窗口對(duì)數(shù)據(jù)進(jìn)行一些基本操作,工作區(qū)信息主要在該窗口狀態(tài)欄進(jìn)行顯示,二、表的打開與關(guān)閉 p83,表的打開和關(guān)閉 表的打開 通過界面操作打開表 菜單:顯式的打開 數(shù)據(jù)工作期窗口:顯示的打開 項(xiàng)目管理器窗口:隱式的打開 使用命令打開(表的別名:P85) Use tablenamein nwordarea|ctablealiasagainalias ctablenamenoupdate 表的關(guān)閉 通過界面操作 使用命令:USE IN nworkarea|ctablealias CLOSE TBALES|ALL,表的獨(dú)占和共享 (默認(rèn)為獨(dú)占方式) 在“選項(xiàng) ”菜單中設(shè)置:“數(shù)據(jù)”卡片 使用SET EXCLUSIVE OFF|ON命令來設(shè)置 在打開表的同時(shí)進(jìn)行指定 USE ctablename SHARED|EXCLUSIVE,三、表中記錄的處理,記錄的輸入 使用表設(shè)計(jì)器創(chuàng)建表結(jié)構(gòu)后會(huì)出現(xiàn)對(duì)話框“現(xiàn)在錄入數(shù)據(jù)嗎?”,單擊是,則出現(xiàn)編輯窗口,可錄入 瀏覽表的方法:在項(xiàng)目管理器中瀏覽表 在數(shù)據(jù)工作期窗口中瀏覽表 在“顯示”菜單中瀏覽表 使用Browse命令瀏覽表 記錄的追加: 追加一條記錄:利用菜單“表”“追加新記錄” 追加一批記錄:菜單“顯示”“追加方式”,可成批追加 使用insert_SQL命令追加記錄 使用APPEND或APPEND FROM命令追加 備注和通用字段數(shù)據(jù)的錄入(P87),表的命令瀏覽方式與表的定制 使用browse命令瀏覽 P88 Browse fields fieldslistfor lexpressionfreeze fieldsname noappendnodeletenomodifytitle cexpression 記錄的篩選: 界面方式:菜單“表”“屬性”,對(duì)“數(shù)據(jù)過濾器”進(jìn)行條件設(shè)置 命令方式:set filter to 限制對(duì)字段的訪問: 界面方式:菜單“表”“屬性” ,對(duì)“字段篩選”進(jìn)行設(shè)置 命令方式:set field to,記錄的定位 用戶輸入記錄后,VFP為每條記錄按輸入順序給出記錄號(hào),第一個(gè)為1,其余類推 記錄指針: 表打開后,系統(tǒng)生成三個(gè)控制標(biāo)志:開始標(biāo)志,指針標(biāo)志,結(jié)束標(biāo)志,三個(gè)標(biāo)志在表中所處位置見 P75 圖3-8 記錄指針用于指向當(dāng)前處理的記錄的位置,指針?biāo)傅哪莻€(gè)記錄稱為“當(dāng)前記錄”,可將指針理解為保存當(dāng)前記錄號(hào)的一個(gè)變量 指針的值(當(dāng)前記錄的記錄號(hào)),可用RECNO()來測(cè)試,指針是否處于有效范圍內(nèi)可用BOF(),EOF()來測(cè)試,指針指向開始標(biāo)志BOF()=.T.,指針指向結(jié)束標(biāo)志EOF()=.T.,P90 表3-6 請(qǐng)牢記,記錄的定位:也就是指針的定位 三種定位方式:絕對(duì)定位,相對(duì)定位,條件定位 P90 界面方式:菜單“表”“轉(zhuǎn)到記錄”“定位”,打開“定位記錄”對(duì)話框,進(jìn)行選擇和設(shè)置 命令方式:GOTO 絕對(duì) SKIP 相對(duì) LOCATE FOR 條件 P91 例 使用命令方式進(jìn)行定位時(shí)的注意點(diǎn) P91,4點(diǎn),非常重要,記錄的修改 界面方式: 單一修改:表瀏覽狀態(tài)下,定位到需修改的記錄,進(jìn)行 修改 成批修改:表瀏覽狀態(tài)下,菜單“表”“替換字段”,進(jìn) 行批量修改 命令方式: UPDATE-SQL命令 REPLACE命令 二者的區(qū)別在于:REPLACE等于是界面方式替換字段的命令翻譯,所以它要有先打開表才能操作的特點(diǎn);而UPDATE命令則是SQL語言,可以不打開表直接使用它來進(jìn)行批量修改,記錄的刪除 對(duì)要?jiǎng)h除的記錄打上標(biāo)記:并未真的刪掉,叫邏 輯刪除 界面方式:鼠標(biāo)單擊“刪除標(biāo)記列”;成批則用“表”“刪 除記錄”,建立刪除表達(dá)式 命令方式:DELETE P93-94 例 DELETE FROM-SQL 恢復(fù)帶刪除標(biāo)記的記錄:去掉刪除標(biāo)記 界面方式:鼠標(biāo)單擊刪除標(biāo)記;指針定位到要恢復(fù)的記 錄,“表”“切換刪除標(biāo)記”;成批則用“表” “恢復(fù)記錄”,建立恢復(fù)表達(dá)式 命令方式:RECALL 三種使用方式 P94 例,徹底刪除記錄:對(duì)打上標(biāo)記的記錄真正的刪掉, 叫物理刪除 界面方式:“表”“徹底刪除” 命令方式:PACK 只刪除帶有標(biāo)記的記錄 ZAP 表中記錄全部刪除,要慎重使用 對(duì)帶有刪除標(biāo)記的記錄的訪問 SET DELETE ON | OFF ON時(shí)忽略帶有標(biāo)記的記錄 OFF時(shí)可以訪問有刪除標(biāo)記的記錄 一般默認(rèn)為OFF,也可在“工具”“選項(xiàng)”“數(shù)據(jù)”中設(shè)置,記錄數(shù)據(jù)的復(fù)制 COPY TO 命令 數(shù)據(jù)的統(tǒng)計(jì) COUNT SUM AVERAGE,四、表的索引,記錄的順序 表中的記錄通常是按其輸入的時(shí)間順序存放的,這種順序稱為物理順序,記錄號(hào)表示物理順序 表打開被使用后,記錄的處理順序稱為邏輯順序;邏輯順序與物理順序可以相同,但通常是對(duì)表文件的記錄按某個(gè)或某些字段值進(jìn)行排序 排序的2種方法: 生成一張新表,與原表的區(qū)別僅在于記錄的物理順序 生成一張邏輯順序與原表物理順序的對(duì)照表,稱為索引法 索引法的優(yōu)點(diǎn):P96 三點(diǎn),這也是我們?cè)陉P(guān)系數(shù)據(jù)庫(kù)中普遍采用索引法的原因,索引概述 索引定義(index):索引是根據(jù)索引關(guān)鍵字(即索引表達(dá)式)的值進(jìn)行邏輯排序的一組指針,它提供了對(duì)數(shù)據(jù)的快速訪問,且可以對(duì)表中的各條記錄強(qiáng)制實(shí)現(xiàn)唯一性。索引文件由索引序號(hào)和對(duì)應(yīng)于索引序號(hào)的表的記錄號(hào)(記錄指針)組成 索引關(guān)鍵字(index key):索引關(guān)鍵字是用來作為建立索引的依據(jù),它通常是一個(gè)字段或字段表達(dá)式,有時(shí)也叫索引表達(dá)式 用多個(gè)字段建立索引表達(dá)式的注意點(diǎn): 若為字符表達(dá)式,則各字段排列的先后順序?qū)?huì)影響索引的結(jié)果 若為算術(shù)表達(dá)式,則根據(jù)表達(dá)式的計(jì)算結(jié)果來排序 若為不同類型的字段構(gòu)成一個(gè)表達(dá)式,必須轉(zhuǎn)換為同一類型,通常轉(zhuǎn)換為字符型。強(qiáng)制類型轉(zhuǎn)換函數(shù),索引標(biāo)識(shí)(TAG):索引標(biāo)志是索引關(guān)鍵字的名稱,也叫做 索引名。必須以下劃線(不能做結(jié)尾)、字母或漢字開頭,并且不能超過10個(gè)字節(jié) 索引類型:4種索引類型:主索引、候選索引、普 通索引、唯一索引 主索引( Primary Indexes ):在數(shù)據(jù)庫(kù)表中,每張表只能創(chuàng)建一個(gè)主索引。組成主索引關(guān)鍵字的字段或表達(dá)式,在表的所有記錄中不能有重復(fù)的值。自由表不能創(chuàng)建主索引,主索引只適用于數(shù)據(jù)庫(kù)表的結(jié)構(gòu)復(fù)合索引中 候選索引( Candidate Indexes ):在指定的關(guān)鍵字段或表達(dá)式中不允許有重復(fù)值的索引。一張表中可以建立多個(gè)候選索引,候選索引可用于數(shù)據(jù)庫(kù)表和自由表 普通索引( Regular Indexes ):索引表達(dá)式的值允許重復(fù),即在普通索引上查找的記錄不具有唯一性。對(duì)一張表可以創(chuàng)建多個(gè)普通索引 唯一索引( Unique Indexes ):索引表達(dá)式可以有重復(fù)值,但在索引文件中,具有重復(fù)的值(記錄號(hào))僅存儲(chǔ)其中的第一個(gè),索引文件的類型: 索引文件:索引本身并不改變數(shù)據(jù)的物理順序,只是把索引保存到另一個(gè)文件中,這一文件就是索引文件 文件類型: 獨(dú)立索引:為每一個(gè)索引單獨(dú)建立一個(gè)索引文件,擴(kuò)展名為 .idx,索引文件名由用戶自定義 非結(jié)構(gòu)復(fù)合索引:多個(gè)索引放于同一個(gè)索引文件中,擴(kuò)展名為 .cdx,索引文件名由用戶自定義,打開表時(shí)并不打開索引文件 結(jié)構(gòu)復(fù)合索引:多個(gè)索引放于同一個(gè)索引文件中,擴(kuò)展名為 .cdx,文件名與表名同名,打開表時(shí)自動(dòng)打開索引文件 本課程中后繼介紹和使用的均為結(jié)構(gòu)復(fù)合索引,創(chuàng)建結(jié)構(gòu)復(fù)合索引: 用表設(shè)計(jì)器創(chuàng)建: “表設(shè)計(jì)器”“索引”卡片,依次設(shè)置索引名、類型、表達(dá)式、篩選 注意:此時(shí)瀏覽表發(fā)現(xiàn)順序并未有實(shí)質(zhì)性的改變 用命令創(chuàng)建: Index on 表達(dá)式 tag 索引名forascending|descendingunique|candidate 注意:此時(shí)瀏覽表發(fā)現(xiàn)順序有實(shí)質(zhì)性的改變,索引的使用: 主控索引:在復(fù)合索引的多個(gè)索引中,在某一時(shí)刻只有一個(gè)索引對(duì)表起作用,這個(gè)索引標(biāo)志稱為主控索引 主控索引的設(shè)置: 打開表的同時(shí),利用ORDER子句指定主控索引 在表打開后,用set order to 來指定或撤消主控索引 索引的修改和刪除 修改: 用“表設(shè)計(jì)器”進(jìn)行修改 用命令index on重新建立同標(biāo)識(shí)名的索引覆蓋前面的索引 刪除: 用“表設(shè)計(jì)器”刪除 用DELETE TAG 索引名1,名2或DELETE TAG ALL,利用索引快速定位記錄: Seek 指定表達(dá)式值 order 索引名ascending|des

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論