數(shù)據(jù)庫與表的創(chuàng)建及使用.ppt_第1頁
數(shù)據(jù)庫與表的創(chuàng)建及使用.ppt_第2頁
數(shù)據(jù)庫與表的創(chuàng)建及使用.ppt_第3頁
數(shù)據(jù)庫與表的創(chuàng)建及使用.ppt_第4頁
數(shù)據(jù)庫與表的創(chuàng)建及使用.ppt_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、,第三章 數(shù)據(jù)庫與表的創(chuàng)建和使用,3.1 數(shù)據(jù)庫概述 3.2 數(shù)據(jù)庫的創(chuàng)建、打開與使用 3.3 表的創(chuàng)建與使用 3.4 永久性關系與參照完整性 3.5 有關數(shù)據(jù)庫及其對象的常用函數(shù),3.1 VFP數(shù)據(jù)庫概述,數(shù)據(jù)庫是一個容器,是許多相關的數(shù)據(jù)庫表及其關系的集合。在數(shù)據(jù)庫中可以存儲和管理各種對象,如表、視圖、關系、連接以及存儲過程等。,VFP數(shù)據(jù)庫的組成 數(shù)據(jù)庫表 視圖(View) 連接(Connection) 存儲過程,數(shù)據(jù)字典,數(shù)據(jù)字典是指存儲在數(shù)據(jù)庫中用于描述所管理的表和對象的數(shù)據(jù),即關于數(shù)據(jù)的數(shù)據(jù),這些數(shù)據(jù)稱為元數(shù)據(jù)。,數(shù)據(jù)字典可以創(chuàng)建和指定以下內(nèi)容: 表中字段的標題、注釋、默認值、輸入

2、掩碼和顯示格式,以及表單中使用的默認控件類等 表的主索引關鍵字 數(shù)據(jù)庫表之間的永久性關系 長表名和表注釋 字段級和記錄級有效性規(guī)則 存儲過程 插入、更新和刪除事件的觸發(fā)器,3.2 數(shù)據(jù)庫的創(chuàng)建、打開與使用,每創(chuàng)建一個新的數(shù)據(jù)庫都將生成三個文件:數(shù)據(jù)庫文件(.dbc)、關聯(lián)的數(shù)據(jù)庫備注文件(.dct)和關聯(lián)的數(shù)據(jù)庫索引文件(.dcx)。,一、數(shù)據(jù)庫的創(chuàng)建 利用界面操作方式創(chuàng)建數(shù)據(jù)庫 在“項目管理器”窗口中創(chuàng)建新的數(shù)據(jù)庫 通過“新建”對話框創(chuàng)建 利用命令方式創(chuàng)建數(shù)據(jù)庫 格式:CREATE DATABASE DatabaseName|? 其中: DatabaseName為創(chuàng)建的數(shù)據(jù)庫文件名,二、數(shù)據(jù)

3、庫的打開 格式:OPEN DATABASE DatabaseName EXCLUSIVE|SHAREDNOUPDATEVALIDATE 功能:打開指定的數(shù)據(jù)庫 其中:VALIDATE用于說明在打開數(shù)據(jù)庫時進行數(shù)據(jù)庫的有效性檢驗。,三、設置當前數(shù)據(jù)庫 數(shù)據(jù)庫可以同時打開多個。只有一個是當前數(shù)據(jù)庫。在打開數(shù)據(jù)庫時,最后一個打開的數(shù)據(jù)庫為當前數(shù)據(jù)庫??梢园哑渌臄?shù)據(jù)庫設置為當前數(shù)據(jù)庫。 格式:SET DATABASE TO DatabaseName 功能:將指定的數(shù)據(jù)庫設置為當前數(shù)據(jù)庫,四、檢查數(shù)據(jù)庫的有效性 格式:VALIDATE DATABASE RECOVERTO PRINTER|TO FIL

4、E FileName 其中:RECOVER用于說明更新鏈接,缺省時僅檢查數(shù)據(jù)庫的有效性;TO子句用于說明檢查結果信息的去向,缺省時在VFP主窗口是顯示。該命令只能處理以獨占方式打開的當前數(shù)據(jù)庫。在更新鏈接時,如果數(shù)據(jù)庫表文件不在原位置,系統(tǒng)會打開“檢查數(shù)據(jù)庫”對話框,要求用戶進行文件定位。,五、關閉數(shù)據(jù)庫 格式:CLOSE DATABASE 功能:關閉當前數(shù)據(jù)庫 格式:CLOSE DATABASE ALL 功能:關閉所有打開的數(shù)據(jù)庫 六、刪除數(shù)據(jù)庫 從“項目管理器”窗口中通過“移去”操作進行刪除,則該數(shù)據(jù)庫不包含在項目中。,3.3 表的創(chuàng)建與使用,表(Table)是指存儲在磁盤文件中的二維表,

5、一張二維表保存為一個表文件(.dbf)。表文件名必須遵守Windows系統(tǒng)對文件名的約定外,不可用A-J中的單個字母作文件名。 表中的列稱為字段(Field),它規(guī)定了數(shù)據(jù)的特征;表的行叫做記錄(Record),每一條記錄表示一個實體。,一、表結構概述 字段名 字段名命名規(guī)則: 名稱中只能包含字母、下劃線“_”、數(shù)字符號和漢字符號; 名稱的開頭只能是字母、漢字或下劃線,不能是數(shù)字; 名稱長度為110個字符; 應避免使用系統(tǒng)保留字。,字段的數(shù)據(jù)類型,字段的寬度 小數(shù)位數(shù) 空值(NULL)支持 空值是用來指示記錄中的一個字段有或沒有數(shù)據(jù)的標識。NULL不是一種數(shù)據(jù)類型或一個值,它是用來指示數(shù)據(jù)存在

6、或不存在的一種屬性。,二、表結構的創(chuàng)建和修改 1、表結構的創(chuàng)建 用“表設計器”(Table Designer)創(chuàng)建表結構,用CREATE TABLE-SQL命令創(chuàng)建表結構 CREATE TABLE TableName (FieldName1 FieldType (nFieldWidth,nPrecision) NULL|NOT NULL ,Fieldname2),2表結構的修改 用“表設計器”(Table Designer)修改表的結構 用ALTER TABLE-SQL命令修改表結構 增加字段: ALTER TABLE TableName ADD COLUMN FieldName FieldT

7、ype (nFieldWidth ,nPricision),修改字段:(此命令不能修改字段名) ALTER TABLE TableName ALTER COLUMN FieldName FieldType (nFieldWidth ,nPricision) 刪除字段: ALTER TABLE TableName DROP COLUMN FieldName 修改字段名: ALTER TABLE TableName RENAME COLUMN FieldName1 TO FieldName2,三、字段屬性與表屬性,字段的擴展屬性,字段顯示屬性 字段的格式(Format) 字段的格式用于指定字段顯示

8、時的格式,包括在瀏覽窗口、表單或報表中顯示時的大小寫和樣式等。 輸入掩碼(Input Mask) 字段的輸入掩碼用于指定字段中輸入數(shù)據(jù)的格式。 字段的標題(Caption)和注釋(Comment) 標題和注釋都是為了使表具有更好的可讀性。在設置表結構時,如果字段名不能明確地表達列的含義,可以為字段設置一個標題。如果標題還不能充分地表達含義或需要給字段以詳細的說明,還可以給字段加上注釋。,字段驗證 字段驗證用來限定字段的取值及取值范圍,包括字段有效性規(guī)則、字段有效性信息和默認值。 字段有效性規(guī)則和有效性信息 字段有效性規(guī)則用來控制輸入到字段中的數(shù)據(jù)的取值范圍。該規(guī)則是一個邏輯表達式。字段有效性規(guī)

9、則在字段值改變時發(fā)生作用,它將所輸入的值用定義的邏輯表達式進行驗證,如不滿足(即邏輯表達式的值為.F.),則拒絕該字段值,并顯示一個提示框。,字段有效性信息是一個字符型表達式,通常與字段有效性規(guī)則配合使用,用于指定在不滿足規(guī)則要求時顯示的提示信息。 如果表中已有記錄,且需要設置或修改某字段的有效性規(guī)則,則首先必須確保表中所有記錄滿足將要設置的有效性規(guī)則,否則,有效性規(guī)則無法設置或在確認保存時選擇對現(xiàn)有數(shù)據(jù)不作檢查。,默認值 向一張數(shù)據(jù)庫表中添加新記錄時,為字段所指定的最初的值稱為該字段的默認值。在設置字段默認值時,默認值必須是一個與字段類型相同的表達式。 在使用CREATE TABLE-SQL

10、命令創(chuàng)建數(shù)據(jù)庫表時,可用CHECK子句、ERROR子句和DEFAULT子句設置字段的有效性規(guī)則、有效性信息和默認值。在使用ALTER TABLE-SQL命令修改表結構時,可通過SET CHECK子句、SET DEFAULT子句設置字段的有效性規(guī)則(信息)、默認值;通過DROP CHECK和DROP DEFAULT子句刪除字段的有效性規(guī)則(信息)、默認值。,數(shù)據(jù)庫表的表屬性 長表名與表注釋 可在數(shù)據(jù)庫表的“表設計器”對話框中的“表”選項卡中的“表名”文本框中輸入長表名。也可在使用CREATE TABLE-SQL命令創(chuàng)建表時,用NAME子句指定長表名。 表注釋是表的說明信息。,記錄驗證 記錄驗證包

11、括記錄有效性規(guī)則和有效性信息,用于定義記錄級校驗規(guī)則及相應的提示信息。字段有效性規(guī)則僅對當前字段有效,而使用記錄有效性規(guī)則可以校驗多個字段間的關系是否滿足某種規(guī)則。 記錄有效性規(guī)則在記錄值發(fā)生改變時被激活。如對一張已有記錄的表增設記錄有效性規(guī)則,則在設置結束時要按此規(guī)則對所有記錄進行規(guī)則檢查。 記錄有效性規(guī)則除了可在數(shù)據(jù)庫表的“表設計器”對話框中設置,也可在CREATE TABLE-SQL命令中通過CHECK子句或在ALTER TABLE-SQL命令中通過SET CHECK子句進行設置。在ALTER TABLE-SQL命令中通過DROP CHECK可刪除記錄的有效性規(guī)則。,表的觸發(fā)器 插入觸發(fā)

12、器:每次向表中插入或追加記錄時觸發(fā)該規(guī)則 更新觸發(fā)器:每次向表中修改記錄時觸發(fā)該規(guī)則 刪除觸發(fā)器:每次向表中刪除記錄時觸發(fā)該規(guī)則 觸發(fā)器值返回.T.,則允許執(zhí)行相應的操作,否則不允許執(zhí)行相應的操作。,格式:CREATE TRIGGER ON TableName FOR DELETE|INSERT|UPDATE AS lExpression 功能:創(chuàng)建表的觸發(fā)器 其中:AS子句用于說明觸發(fā)器的使用規(guī)則 格式: DELETE TRIGGER ON TableName FOR DELETE|INSERT|UPDATE 功能:刪除表的觸發(fā)器,四、 表的打開與關閉,1、工作區(qū) 所謂工作區(qū)是指用于標識一張

13、打開的表的區(qū)域。每個工作區(qū)有一個編號,稱為工作區(qū)號,其編號范圍為1-32767(前10個工作區(qū)號也可以用A-J表示)。如果某工作區(qū)中已有表打開,可以用表的“別名”作為工作區(qū)號。,一個工作區(qū)中只能打開一張表,用戶可以同時在多個工作區(qū)中打開多張表,也可以將一張表同時在多個工作區(qū)中打開。 VFP正在使用的工作區(qū)稱為當前工作區(qū),即默認工作區(qū)。 SELECT nWorkArea|cTableAlias nWorkArea為工作區(qū)號;cTableAlias為表別名。工作區(qū)號為0時,選擇未被使用的最小編號的工作區(qū)。,2、“數(shù)據(jù)工作期”窗口 在VFP主菜單上選擇窗口,再選擇數(shù)據(jù)工作期,3、表的打開 使用表時首

14、先必須把表打開。表的打開可以是顯式地打開,也可以是隱式地打開。 通過界面操作打開 使用菜單命令“文件/打開”或單擊“常用”工具條上的“打開”按鈕打開 在“數(shù)據(jù)工作期”窗口中單擊“打開”按鈕 在“項目管理器”窗口中選擇需要打開的表,然后單擊“修改”或“瀏覽”按鈕,使用命令打開 USE TableName IN nWorkArea|cWorkAliasAGAIN ALIAS cTableAliasNOUPDATE SHARED|EXCLUSIVE,其中: IN子句用于指定在哪個工作區(qū)中打開,缺省時則表示在當前工作區(qū)中打開; AGAIN子句用于說明該表再次打開,即表在多個工作區(qū)中同時被打開; ALI

15、AS子句用于定義表的別名,缺省時表的別名與表名相名; NOUPDATE指定表打開后不允許修改其結構和數(shù)據(jù); SHARED指定表為共享方式打開,EXCLUSIVE指定表為獨占方式打開。,4、表的關閉 通過界面操作 在“數(shù)據(jù)工作期”窗口中選定一張表的別名,單擊“關閉”按鈕。 使用命令 USE IN nWorkArea|cTableAlias 功能:關閉指定工作區(qū)中的表。 其中:不使用IN子句時關閉當前工作區(qū)的表。,CLOSE TABLES ALL 功能:關閉所有工作區(qū)中的表。 CLOSE ALL 功能:關閉所有的數(shù)據(jù)庫、表和索引,且將當前工作區(qū)設置為1號工作區(qū)。,5、表的獨占與共享 VFP是一個多

16、用戶的開發(fā)環(huán)境,網(wǎng)絡上的多個用戶可以在同一時刻訪問同一張表。這種一張表可以同時被多個用戶訪問的情況,就是表的共享使用。反之,當一張表只能被一個用戶打開時,稱為表的獨占使用。 默認狀態(tài)下,表是以獨占方式打開的,可以使用命令來設置打開方式。,SET EXCLUSIVE OFF 設置“共享”為默認打開方式 SET EXCLUSIVE ON 設置“獨占”為默認打開方式 改變SET EXCLUSIVE的設置,并不能改變已經(jīng)打開的表的狀態(tài)。另外,一張表同時被多次打開時,只以第一次的打開方式為準。,五、 記錄的處理,1、記錄的輸入 表結構創(chuàng)建后立即輸入記錄 輸入結束時,單擊窗口的“關閉”按鈕。或按Ctrl+

17、End或Ctrl+W組合鍵,在瀏覽窗口中追加記錄 瀏覽當前工作區(qū)中的表的方法 單擊菜單“顯示”“瀏覽” 單擊菜單“窗口”“數(shù)據(jù)工作期” 選擇表“瀏覽” 在命令窗口使用命令BROWSE 在項目管理器中選擇表單擊“瀏覽”按鈕,在瀏覽窗口中追加記錄 單擊菜單“表”“追加新記錄”或在命令窗口中輸入命令APPEND BLANK,可追加一條空白記錄,且處于編輯狀態(tài)等待用戶輸入數(shù)據(jù) 單擊菜單“顯示”“追加方式” ,可追加多條記錄 單擊菜單“顯示” “瀏覽”或“顯示” “編輯”,可在瀏覽窗口和編輯窗口間切換,使用INSERT-SQL命令追加記錄 命令格式: INSERT INTO TableName(Fiel

18、dName1,FieldName2,) VALUES (eExpression1,eExpression2,) 字段名列表用于指定插入的新記錄的哪些字段需要填值,缺省表示全部字段;表達式列表指定新插入記錄的字段值。字段列表與表達式列表必須對應,且數(shù)據(jù)類型一致。,使用APPEND與APPEND FROM命令追加記錄 APPEND命令格式: APPEND BLANK IN nWorkArea | cTableAlias 其中:BLANK用于說明向表中追加一條空白記錄; IN nWorkArea | cTableAlias用于指定表所在的工作區(qū),缺省時為當前工作區(qū)。,將其他文件中的數(shù)據(jù)導入當前工作區(qū)

19、表中 單擊菜單“表” “追加記錄”,可將其他文件中的數(shù)據(jù)導入當前工作區(qū)表中。 常用的追回文件的文件類型有表文件(.dbf)、文本文件(.txt)和Excel文件(.xls)等。 或用命令: APPEND FROM FileName DELIMITED | XLS DELIMITED用于說明追加文件類型為文本文件,XLS為Excel文件,缺省時為表文件。,備注型字段和通用型字段的數(shù)據(jù)輸入 備注型字段: 在瀏覽窗口中,備注型字段顯示“memo”(表示無內(nèi)容)或“Memo”(表示有內(nèi)容)。將光標移到備注型字段,按Ctrl+Home或雙擊該字段,在出現(xiàn)的編輯窗口中輸入備注字段內(nèi)容,結束時關閉編輯窗口。

20、 通用型字段: 在瀏覽窗口中,通用型字段顯示“gen”(表示無內(nèi)容)或“Gen”(表示有內(nèi)容)。將光標移到通用型字段,按Ctrl+Home或雙擊該字段,在出現(xiàn)的編輯窗口中單擊菜單“編輯” “插入對象”,插入內(nèi)容,結束時關閉編輯窗口。,2、瀏覽窗口 BROWSE FIELDS Fieldlist FOR lExpression FREEZE FieldName NOAPPEND NODELETE NOMODIFY TITLE cExpression,FIELDS子句用于指定在瀏覽窗口中出現(xiàn)的字段(字段間以逗號分隔),缺省時表示所有字段; FOR子句用于篩選記錄,僅有滿足條件的記錄在瀏覽窗口中顯示

21、; FREEZE子句用于指定可以修改的字段,其他字段的數(shù)據(jù)不可修改; NOAPPEND指定不可追加記錄; NODELETE指定不可刪除記錄; NOMODIFY指定不可修改記錄,但可追加或刪除記錄; TITLE子句指定瀏覽窗口的標題,缺省時為表名。,3、記錄的篩選 如果用戶只想查看和處理滿足一定條件的一部分記錄,可以對表記錄進行篩選。 通過FOR子句的使用可以完成篩選功能; 當表處于瀏覽狀態(tài)時,單擊菜單“表”“屬性”打開“工作區(qū)屬性”對話框,設置“數(shù)據(jù)過濾器”,可以對記錄進行篩選; 使用命令: SET FILTER TO lExpression 其中:條件表達式lExpression用于指定記錄

22、需要滿足的條件,省略時即取消篩選,4、限制對字段的訪問 在瀏覽或使用表時,如果只打算顯示或處理部分字段,或以設置字段篩選來限制對某些字段的訪問。 通過FIELDS子句的使用可以完成篩選功能; 當表處于瀏覽狀態(tài)時,單擊菜單“表”“屬性”打開“工作區(qū)屬性”對話框,設置“字段篩選”,可以對字段進行篩選; 使用命令: SET FIELDS TO FieldList 其中:字段名表FieldList用于列出所需的字段(字段名間用逗號分隔),省略時即取消篩選,5、記錄的定位 記錄指針 當一張表打開后,系統(tǒng)自動地為該表生成三個控制標志:記錄的開始標志、記錄指針標志、記錄的結束標志。記錄指針標志用于指示當前處

23、理的記錄位置,記錄指針指向的那個記錄稱為“當前記錄”。每當打開一個表文件時,記錄指針總是指向第1條記錄。,格式:RECNO(nWorkArea) 功能:返回指定工作區(qū)中指針所指記錄的記錄號,缺省任選項表示當前工作區(qū)。 格式:BOF(nWorkArea) 功能:測試指定工作區(qū)中指針是否指向記錄的開始標志,如是,則返回.T.,否則為.F.,缺省任選項表示當前工作區(qū)。 格式:EOF(nWorkArea) 功能:測試指定工作區(qū)中指針是否指向記錄的結束標志,如是,則返回.T.,否則為.F.,缺省任選項表示當前工作區(qū)。,記錄的定位 記錄指針的絕對定位:把指針移到指定位置。 記錄指針的相對定位:把指針從當前

24、位置開始,相對于當前記錄向前或向后移動若干條記錄位置。 記錄指針的條件定位:按照一定的條件自動地在整張表(或表的某個指定范圍)中查找符合條件的記錄,如找到符合條件的記錄,則把指針定位到該記錄上,否則,指針將指向表的末尾。,通過界面操作方式定位 當表處于瀏覽狀態(tài)時,記錄的定位可以利用菜單命令“表”“轉到記錄”進行,也可以直接在瀏覽窗口中通過鼠標操作或鍵盤上的光標移動操作。 All:表中的全部記錄 Next n:從當前記錄開始的n條記錄 Record n:記錄號為n的記錄 Rest:當前記錄及其后的所有記錄,使用命令進行記錄定位 絕對定位 GOTO nRecordNumber IN nWorkAr

25、ea|IN cTableAlias|TOP|BOTTOM 其中:記錄號nRecordNumber必須在表記錄的有效范圍內(nèi);TOP指首記錄;BOTTOM指末記錄。 相對定位 SKIP nRecordsIN nWorkArea|cTableAlias 其中:nRecordNumber用于指定記錄指針需要移動的記錄個數(shù)(正表示向后移動,負表示向前移動),缺省時為1。,條件定位 LOCATE FOR lExpression Scope CONTINUE 其中:條件表達式lExpression用于表示記錄的定位條件;范圍Scope用于指定進行條件定位的范圍。CONTINUE命令表示從當前記錄開始繼續(xù)進行

26、條件定位,即找到下一條滿足條件的記錄。,6、記錄的修改 界面方式的記錄修改 對于當前工作區(qū)中的表,可以在瀏覽窗口(或編輯窗口)中對記錄進行修改。 如需對所有記錄(或滿足某種條件的記錄)的某個字段內(nèi)容進行有“規(guī)律”的修改,則可進行“批量修改”。在游覽狀態(tài)下,利用菜單命令“表” “替換字段”對話框,在該對話框中選擇和輸入字段替換的有關要求。(如下圖所示),界面方式的記錄修改(續(xù)),使用命令修改記錄 REPLACE命令 REPLACE FieldName1 WITH eExpression1 ADDITIVE,FieldName2 WITH eExpression2 ADDITIVEScope FO

27、R lExpression 功能:對當前工作區(qū)中的表進行替換修改。 其中:字段名FieldName與表達式eExpression用于指定要更新的字段以及這些字段的新值;ADDITIVE僅對備注型字段有效,使用時表示替換的內(nèi)容追加到原備注中,否則替換原有內(nèi)容;當FOR和Scope同時缺省時,僅對當前記錄進行替換。,UPDATE-SQL命令 UPDATE TableName SET Column_Name1=eExpression1 ,Column_Name2=eExpression2,WHERE FilterCondition 功能:對指定表的內(nèi)容進行替換修改。 其中:表名TableName用于

28、指定要更新記錄的表;Column_Name=eExpression用于指定要更新的字段以及這些字段的新值;WHERE子句用于指定要更新的記錄,缺省時表示所有記錄。需要說明的是,用該命令更新表時,被更新的表不必事先打開。,7、記錄的刪除與恢復 徹底刪除表中的部分記錄,分兩個步驟:首先標記要刪除的記錄,然后徹底刪除帶刪除標記的記錄。 標記要刪除的記錄(邏輯刪除) 采用界面操作方式 在瀏覽狀態(tài)下,用鼠標單擊“刪除標記列”或完成刪除標記的切換,或在記錄定位后利用菜單命令“表”“切換刪除標記”來完成;或用菜單命令“表” “刪除記錄”,打開“刪除”對話框,可刪除指定范圍內(nèi)的一組符合指定條件的記錄。,采用命

29、令方式 格式:DELETE Scope FOR lExpression IN nWorkArea|cTableAlias 其中:缺省工作區(qū)或工作表別名時,指當前工作區(qū)中的表;當范圍和條件同時缺省時,僅對當前記錄加刪除標記。有條件無范圍時為ALL。 格式:DELETE FROM TableName WHERE FilterCondition 其中:TableName為表名,缺省條件時為所有記錄,此DELETE-SQL命令可在不預先打開表的情況下刪除指定記錄。,恢復帶刪除標記的記錄 采用界面操作方式 在瀏覽狀態(tài)下,用鼠標單擊“刪除標記列”或完成刪除標記的切換,或在記錄定位后利用菜單命令“表”“切換

30、刪除標記”來完成;或用菜單命令“表” “恢復記錄”,打開“恢復記錄”對話框,可恢復指定范圍內(nèi)的一組符合指定條件的記錄。 采用命令方式 格式:RECALL Scope FOR lExpression 其中:當范圍和條件同時缺省時,僅恢復當前記錄。有條件無范圍時為ALL。,徹底刪除記錄(物理刪除) 采用界面操作方式 在瀏覽狀態(tài)下,用菜單命令“表” “徹底刪除” ,可徹底刪除帶有刪除標記的記錄。 采用命令方式 格式:PACK 功能:物理刪除帶刪除標記的記錄 格式:ZAP 功能:刪除當前工作區(qū)中所打開表中的所有記錄 注意:物理刪除后記錄不可恢復。,對帶有刪除標記的記錄的訪問 格式:SET DELETE

31、D ON|OFF 功能:指定VFP是否對有刪除標記的記錄進行處理 其中:ON表示忽略有刪除標記的記錄;OFF(系統(tǒng)默認)表示允許訪問有刪除標記的記錄。,8、數(shù)據(jù)的復制 利用COPY TO命令可以將表(在當前工作區(qū)中已打開)中的數(shù)據(jù)復制到其他表文件或其他類型的文件中。 格式:COPY TO FileName FIELDS FieldList Scope FOR lExpression TYPE SDF|XLS|DELIMITED WITH Delimiter|WITH BLANK| WITH TAB|WITH CHARACTER Delimiter,其中: FileName:指定COPY TO要

32、創(chuàng)建的新文件名。 FIELDS FieldList:指定要復制到新文件的字段,省略則為全部字段。 Scope:指定要復制到新文件的記錄范圍,省略為ALL。 FOR lExpression:指定要復制的記錄需滿足的條件。 最后一個選項:指定復制生成的文件類型,缺省則為表文件。,9、數(shù)據(jù)的統(tǒng)計 格式:COUNT Scope FOR lExpression TO VarName 功能:統(tǒng)計指定范圍內(nèi)滿足條件的記錄數(shù)。 格式:SUM nExpression Scope FOR lExpression TO VarName 功能:對指定范圍內(nèi)滿足條件記錄的數(shù)值表達式進行求和。,格式:AVERAGE nE

33、xpression Scope FOR lExpression TO VarName 功能:對指定范圍內(nèi)滿足條件記錄的數(shù)值表達式進行求平均值。 其中: TO VarName是將統(tǒng)計結果在屏幕上顯示的同時保存到指定的內(nèi)存變量中,缺省則不保存,只在屏幕上顯示; nExpression為指定要進行求和或求平均值的表達式,缺省則為全部數(shù)值型字段,六、 表的索引,記錄的順序 物理順序:表中的記錄通常是按其輸入的時間順序存放的,這種順序稱為記錄的物理順序。 邏輯順序:表中的記錄可按某個字段值或某些字段值排序,這種順序稱為邏輯順序。,1、索引概述 索引:索引是根據(jù)索引關鍵字的值進行邏輯排序的一組指針,它提供

34、了對數(shù)據(jù)的快速訪問,且可以對表中的各條記錄強制實現(xiàn)唯一性。 索引關鍵字:索引關鍵字是建立索引的依據(jù),它通常是一個字段或由多個字段組成 的表達式。 索引標識:索引的名稱。,索引的類型 候選索引(Candidate Index):候選索引是以表的候選關鍵字為索引表達式而創(chuàng)建的索引。 注意:對于表的所有記錄來說,指定的索引表達式的值不可重復。 主索引(Primary Index):對于數(shù)據(jù)庫表來說,可以從候選索引中選取一個作為該表的主索引。每張數(shù)據(jù)庫表只能創(chuàng)建一個主索引。 普通索引(Regular Index):普通索引的索引表達式的值允許出現(xiàn)重復,一張表可以創(chuàng)建多個普通索引。 唯一索引(Uniqu

35、e Index):唯一索引的索引表達式的值也可以重復,但在索引文件中重復的值僅存儲一次。,2、索引文件的種類 結構復合索引文件(Structure Compound Index) 非結構復合索引文件(Non-structure Compound Index) 獨立索引文件(Independent Index),3、創(chuàng)建結構復合索引 用“表設計器”創(chuàng)建結構復合索引,用命令創(chuàng)建結構復合索引 格式: INDEX ON eExpression TAG TagName FOR lExpression ASCENDING|DESCENDING UNIQUE|CANDIDATE 其中:eExpression

36、為索引表達式;TagName為索引標識;FOR子句用于篩選參加索引的記錄; ASCENDING和DESCENDING用于指定索引是按升序還是降序排序,缺省時為升序; UNIQUE和CANDIDATE用于指定索引文件類型為唯一索引還是候選索引,缺省時為普通索引。,4、索引的修改和刪除 索引的修改 用表設計器修改索引 用命令修改索引 通過創(chuàng)建同索引名的索引覆蓋原索引 索引的刪除 用表設計器刪除索引,用命令刪除索引 格式:DELETE TAG TagName1 ,TagName2, 功能:刪除結構復合文件中指定的索引 格式:DELETE TAG ALL 功能:刪除結構復合索引文件中的所有索引,并從磁

37、盤上刪除該索引文件。,5、索引的使用 打開表的同時指定主控索引 格式:USE TableName ORDER TagName 功能:打開表的同時指定索引標識TagName為主控索引。 打開表后再設置主控索引 格式:SET ORDER TO TagName IN nWorkArea |cTableAlias ASCENDING|DESCENDING 其中:索引名TagName用于指定主控索引,缺省時取消主控索引。,6、利用索引快速定位記錄 格式:SEEK eExpression ORDER TagName ACENDING|DESCENDING IN nWorkArea |cTableAlias

38、 功能:在一張表中搜索指定表達式的值首次出現(xiàn)的記錄,這條記錄的索引關鍵字必須與指定的表達式匹配。,七、 有關表操作的常用函數(shù),SELECT()函數(shù) 格式:SELECT(0|1|cTableAlias) 功能:測試工作區(qū)號 其中:參數(shù)0用于返回當前工作區(qū)號,1用于返回當前未被使用的最大工作區(qū)號;別名cTableAlias用于返回該表所在的工作區(qū)號,使用別名時必須加引號。 USED()函數(shù) 格式:USED(nWorkArea|cTableAlias) 功能:用于測試一張表的別名是否已被使用,或在指定的工作區(qū)中是否有表打開。 其中:任選項省略時表示當前工作區(qū)。,ALIAS()函數(shù) 格式:ALIAS(

39、nWorkArea) 功能:返回當前或指定工作區(qū)中表的別名。 FIELD()函數(shù) 格式:FIELD(nFieldNumber , nWorkArea| cTableAlias) 功能:用于返回已打開表的指定序號的字段名。 其中:字段序號nFieldNumber是指表結構建立時的 字段順序號,第一個字段的序號為1;工作區(qū)號與別 名缺省時表示當前工作區(qū)。,FCOUNT()函數(shù) 格式:FCOUNT( nWorkArea| cTableAlias) 功能:用于返回已打開表的字段個數(shù)。 其中:工作區(qū)號與別名缺省時表示當前工作區(qū)。 DELETED()函數(shù) 格式:DELETED( ) 功能:用于測試表的當前記錄是否帶有刪除標記。 如果函數(shù)返回.T.,說明記錄帶有刪除標記,否則不 帶刪除標記。,八、數(shù)據(jù)庫表的添加與移去 向數(shù)據(jù)庫中添加或移去表可在“項目管理器”窗口或“數(shù)據(jù)庫設計器”窗口中進行,也可用命令實現(xiàn)。 格式:ADD TABLE TableName NAME LongTableName 功能:向數(shù)據(jù)庫中添加表 其中:NAME子句用于指定長表名,格式:REMOVE TABLE TableName DELETE 功能:將表從數(shù)據(jù)庫中移去 其中:DELET

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論