2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩83頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、04:04,1,,第三章 數(shù)據(jù)庫(kù)與表的創(chuàng)建和使用,3.1 數(shù)據(jù)庫(kù)概述3.2 數(shù)據(jù)庫(kù)的創(chuàng)建、打開(kāi)與使用3.3 表的創(chuàng)建與使用3.4 永久性關(guān)系與參照完整性3.5 有關(guān)數(shù)據(jù)庫(kù)及其對(duì)象的常用函數(shù),04:04,2,3.1 VFP數(shù)據(jù)庫(kù)概述,數(shù)據(jù)庫(kù)是一個(gè)容器,是許多相關(guān)的數(shù)據(jù)庫(kù)表及其關(guān)系的集合。在數(shù)據(jù)庫(kù)中可以存儲(chǔ)和管理各種對(duì)象,如表、視圖、關(guān)系、連接以及存儲(chǔ)過(guò)程等。,04:04,3,VFP數(shù)據(jù)庫(kù)的組成數(shù)據(jù)庫(kù)表視圖(View)連

2、接(Connection)存儲(chǔ)過(guò)程,04:04,4,數(shù)據(jù)字典,數(shù)據(jù)字典是指存儲(chǔ)在數(shù)據(jù)庫(kù)中用于描述所管理的表和對(duì)象的數(shù)據(jù),即關(guān)于數(shù)據(jù)的數(shù)據(jù),這些數(shù)據(jù)稱(chēng)為元數(shù)據(jù)。,04:04,5,數(shù)據(jù)字典可以創(chuàng)建和指定以下內(nèi)容:表中字段的標(biāo)題、注釋、默認(rèn)值、輸入掩碼和顯示格式等表的主索引關(guān)鍵字?jǐn)?shù)據(jù)庫(kù)表之間的永久性關(guān)系長(zhǎng)表名和表注釋字段級(jí)和記錄級(jí)有效性規(guī)則存儲(chǔ)過(guò)程插入、更新和刪除事件的觸發(fā)器,04:04,6,3.2 數(shù)據(jù)庫(kù)的創(chuàng)建,每創(chuàng)建一個(gè)

3、新的數(shù)據(jù)庫(kù)都將生成三個(gè)文件:數(shù)據(jù)庫(kù)文件(.dbc)、關(guān)聯(lián)的數(shù)據(jù)庫(kù)備注文件(.dct)和關(guān)聯(lián)的數(shù)據(jù)庫(kù)索引文件(.dcx)。,04:04,7,一、數(shù)據(jù)庫(kù)的創(chuàng)建利用界面操作方式創(chuàng)建數(shù)據(jù)庫(kù)在“項(xiàng)目管理器”窗口中創(chuàng)建新的數(shù)據(jù)庫(kù)通過(guò)“新建”對(duì)話框創(chuàng)建利用命令方式創(chuàng)建數(shù)據(jù)庫(kù)格式:CREATE DATABASE [DatabaseName|?]其中: DatabaseName為創(chuàng)建的數(shù)據(jù)庫(kù)文件名,04:04,8,二、數(shù)據(jù)庫(kù)的打開(kāi)在使用

4、數(shù)據(jù)庫(kù)前必須打開(kāi)數(shù)據(jù)庫(kù)格式:OPEN DATABASE DatabaseName [EXCLUSIVE|SHARED][NOUPDATE][VALIDATE]功能:打開(kāi)指定的數(shù)據(jù)庫(kù)其中:VALIDATE用于說(shuō)明在打開(kāi)數(shù)據(jù)庫(kù)時(shí)進(jìn)行數(shù)據(jù)庫(kù)的有效性檢驗(yàn)。,04:04,9,三、設(shè)置當(dāng)前數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)可以同時(shí)打開(kāi)多個(gè)。只有一個(gè)是當(dāng)前數(shù)據(jù)庫(kù)。在打開(kāi)數(shù)據(jù)庫(kù)時(shí),最后一個(gè)打開(kāi)的數(shù)據(jù)庫(kù)為當(dāng)前數(shù)據(jù)庫(kù)??梢园哑渌臄?shù)據(jù)庫(kù)設(shè)置為當(dāng)前數(shù)據(jù)庫(kù)。格式:

5、SET DATABASE TO DatabaseName功能:將指定的數(shù)據(jù)庫(kù)設(shè)置為當(dāng)前數(shù)據(jù)庫(kù),04:04,10,四、檢查數(shù)據(jù)庫(kù)的有效性格式:VALIDATE DATABASE [RECOVER][TO PRINTER|TO FILE FileName]其中:RECOVER用于說(shuō)明更新鏈接,缺省時(shí)僅檢查數(shù)據(jù)庫(kù)的有效性;TO子句用于說(shuō)明檢查結(jié)果信息的去向,缺省時(shí)在VFP主窗口中顯示。該命令只能處理以獨(dú)占方式打開(kāi)的當(dāng)前數(shù)據(jù)庫(kù)。,04:0

6、4,11,五、關(guān)閉數(shù)據(jù)庫(kù)格式:CLOSE DATABASE功能:關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)格式:CLOSE DATABASE ALL功能:關(guān)閉所有打開(kāi)的數(shù)據(jù)庫(kù)六、刪除數(shù)據(jù)庫(kù) 從“項(xiàng)目管理器”窗口中通過(guò)“移去”操作進(jìn)行刪除,則該數(shù)據(jù)庫(kù)不包含在項(xiàng)目中。,04:04,12,3.3 表的創(chuàng)建與使用,04:04,13,表(Table)是指存儲(chǔ)在磁盤(pán)文件中的二維表,一張二維表保存為一個(gè)表文件(.dbf)。表文件名必須遵守Windows系統(tǒng)對(duì)文

7、件名的約定,不可用A-J中的單個(gè)字母作文件名。 表中的列稱(chēng)為字段(Field),它規(guī)定了數(shù)據(jù)的特征;表的行叫做記錄(Record),每一條記錄表示一個(gè)實(shí)體。,04:04,14,,在Visual FoxPro中,表分為兩種類(lèi)型:數(shù)據(jù)庫(kù)表(簡(jiǎn)稱(chēng)為表)與自由表。數(shù)據(jù)庫(kù)表是從屬于某個(gè)數(shù)據(jù)庫(kù)的表。自由表是不從屬于任何數(shù)據(jù)庫(kù)的表。與自由表相比,數(shù)據(jù)庫(kù)表除具有自由表的所有特性外,還具有數(shù)據(jù)庫(kù)管理的其他特性。,04:04,15,一、表結(jié)構(gòu)概述

8、字段名字段名命名規(guī)則:名稱(chēng)中只能包含字母、下劃線“_”、數(shù)字符號(hào)和漢字符號(hào);名稱(chēng)的開(kāi)頭只能是字母、漢字或下劃線,不能是數(shù)字;名稱(chēng)長(zhǎng)度為1—10個(gè)字符;應(yīng)避免使用系統(tǒng)保留字。,04:04,16,字段的數(shù)據(jù)類(lèi)型,04:04,17,字段的寬度小數(shù)位數(shù)空值(NULL)支持 空值是用來(lái)指示記錄中的一個(gè)字段“有或沒(méi)有”數(shù)據(jù)的標(biāo)識(shí)。NULL不是一種數(shù)據(jù)類(lèi)型或一個(gè)值,它是用來(lái)指示數(shù)據(jù)存在或不存在的一種屬性。,04:04,18,二、表

9、結(jié)構(gòu)的創(chuàng)建和修改 1、表結(jié)構(gòu)的創(chuàng)建用“表設(shè)計(jì)器”(Table Designer)創(chuàng)建表結(jié)構(gòu),04:04,19,用CREATE TABLE-SQL命令創(chuàng)建表結(jié)構(gòu)CREATE TABLE TableName(FieldName1 FieldType [(nFieldWidth[,nPrecision])] [NULL|NOT NULL][,Fieldname2…]),04:04,20,2 表結(jié)構(gòu)的修改用“表設(shè)計(jì)器”(Ta

10、ble Designer)修改表的結(jié)構(gòu)用ALTER TABLE-SQL命令修改表結(jié)構(gòu)增加字段:ALTER TABLE TableName ADD COLUMNFieldName FieldType [(nFieldWidth [,nPrecision])],04:04,21,修改字段:(此命令不能修改字段名)ALTER TABLE TableName ALTER COLUMNFieldName FieldType [(nFi

11、eldWidth [,nPricision])]刪除字段:ALTER TABLE TableName DROP COLUMN FieldName修改字段名:ALTER TABLE TableName RENAME COLUMN FieldName1 TO FieldName2,04:04,22,三、字段屬性與表屬性,字段的擴(kuò)展屬性,04:04,23,字段顯示屬性字段的格式(Format) 字段的格式用于指定字段顯示時(shí)的格

12、式,包括在瀏覽窗口、表單或報(bào)表中顯示時(shí)的大小寫(xiě)和樣式等。輸入掩碼(Input Mask) 字段的輸入掩碼用于指定字段中輸入數(shù)據(jù)的格式。字段的標(biāo)題(Caption)和注釋(Comment) 標(biāo)題和注釋都是為了使表具有更好的可讀性。在設(shè)置表結(jié)構(gòu)時(shí),如果字段名不能明確地表達(dá)列的含義,可以為字段設(shè)置一個(gè)標(biāo)題。,04:04,24,默認(rèn)值 向表中添加新記錄時(shí),為字段所指定的最初的值稱(chēng)為該字段的默認(rèn)值。在設(shè)置字段默認(rèn)值時(shí),默認(rèn)

13、值必須是一個(gè)與字段類(lèi)型相同的表達(dá)式。,04:04,25,字段驗(yàn)證 字段驗(yàn)證用來(lái)限定字段的取值及取值范圍,包括字段有效性規(guī)則、字段有效性信息和默認(rèn)值。字段有效性規(guī)則和有效性信息 字段有效性規(guī)則用來(lái)控制輸入到字段中的數(shù)據(jù)的取值范圍。該規(guī)則是一個(gè)邏輯表達(dá)式。字段有效性規(guī)則在字段值改變時(shí)發(fā)生作用,它將所輸入的值用定義的邏輯表達(dá)式進(jìn)行驗(yàn)證,如不滿足(即邏輯表達(dá)式的值為.F.),則拒絕該字段值,并顯示一個(gè)提示框。,04:04,26

14、,字段有效性信息是一個(gè)字符型表達(dá)式,通常與字段有效性規(guī)則配合使用,用于指定在不滿足規(guī)則要求時(shí)顯示的提示信息。 如果表中已有記錄,且需要設(shè)置或修改某字段的有效性規(guī)則,則首先必須確保表中所有記錄滿足將要設(shè)置的有效性規(guī)則,否則,有效性規(guī)則無(wú)法設(shè)置。,04:04,27,四、 表的打開(kāi)與關(guān)閉,在Visual FoxPro中,表使用前必須先打開(kāi)。1、工作區(qū) 所謂工作區(qū)是指用于標(biāo)識(shí)一張打開(kāi)的表的區(qū)域。打開(kāi)一個(gè)表時(shí),必須為該表指定一個(gè)工

15、作區(qū)。每個(gè)工作區(qū)有一個(gè)編號(hào),稱(chēng)為工作區(qū)號(hào),其編號(hào)范圍為1-32767(前10個(gè)工作區(qū)號(hào)也可以用A-J表示)。,04:04,28,一個(gè)工作區(qū)中只能打開(kāi)一張表,用戶可以同時(shí)在多個(gè)工作區(qū)中打開(kāi)多張表,也可以將一張表同時(shí)在多個(gè)工作區(qū)中打開(kāi)。 系統(tǒng)正在使用的工作區(qū)稱(chēng)為當(dāng)前工作區(qū),即默認(rèn)工作區(qū)。SELECT nWorkArea|cTableAliasnWorkArea為工作區(qū)號(hào);cTableAlias為表別名。工作區(qū)號(hào)為0時(shí),選擇未被使用

16、的最小編號(hào)的工作區(qū)。,04:04,29,2、“數(shù)據(jù)工作期”窗口在VFP主菜單上選擇窗口,再選擇數(shù)據(jù)工作期,04:04,30,3、表的打開(kāi) 使用表時(shí)首先必須把表打開(kāi)。表的打開(kāi)可以是顯式地打開(kāi),也可以是隱式地打開(kāi)。通過(guò)界面操作打開(kāi)表使用菜單命令“文件/打開(kāi)”或單擊“常用”工具條上的“打開(kāi)”按鈕打開(kāi)在“數(shù)據(jù)工作期”窗口中單擊“打開(kāi)”按鈕在“項(xiàng)目管理器”窗口中選擇需要打開(kāi)的表,然后單擊“修改”或“瀏覽”按鈕,04:04,31,使用

17、命令打開(kāi)表USE TableName [IN nWorkArea|cWorkAlias][AGAIN][ALIAS cTableAlias][NOUPDATE][SHARED|EXCLUSIVE],04:04,32,其中:IN子句用于指定在哪個(gè)工作區(qū)中打開(kāi),缺省時(shí)則表示在當(dāng)前工作區(qū)中打開(kāi);AGAIN子句用于說(shuō)明該表再次打開(kāi),即表在多個(gè)工作區(qū)中同時(shí)被打開(kāi);ALIAS子句用于定義表的別名,缺省時(shí)表的別名與表名相名;,04:04,

18、33,4、表的關(guān)閉通過(guò)界面操作在“數(shù)據(jù)工作期”窗口中選定一張表的別名,單擊“關(guān)閉”按鈕。使用命令USE [IN nWorkArea|cTableAlias]功能:關(guān)閉指定工作區(qū)中的表。其中:不使用IN子句時(shí)關(guān)閉當(dāng)前工作區(qū)的表。,04:04,34,√CLOSE TABLES ALL功能:將所有已被打開(kāi)的表全部關(guān)閉,執(zhí)行后將當(dāng)前工作區(qū)設(shè)置為1√ CLOSE ALL功能:關(guān)閉所有工作區(qū)中的數(shù)據(jù)庫(kù)、表和索引,且將當(dāng)前工作區(qū)設(shè)置

19、為1。,04:04,35,5、表的獨(dú)占與共享 VFP是一個(gè)多用戶的開(kāi)發(fā)環(huán)境,網(wǎng)絡(luò)上的多個(gè)用戶可以在同一時(shí)刻訪問(wèn)同一張表。這種一張表可以同時(shí)被多個(gè)用戶訪問(wèn)的情況,就是表的共享使用。反之,當(dāng)一張表只能被一個(gè)用戶打開(kāi)時(shí),稱(chēng)為表的獨(dú)占使用。 默認(rèn)狀態(tài)下,表是以獨(dú)占方式打開(kāi)的,可以使用命令來(lái)設(shè)置打開(kāi)方式。,04:04,36,五、 記錄的處理,1、記錄的輸入表結(jié)構(gòu)創(chuàng)建后立即輸入記錄輸入結(jié)束時(shí),單擊窗口的“關(guān)閉”按鈕?;虬碈trl+En

20、d或Ctrl+W組合鍵,04:04,37,在瀏覽窗口中追加記錄瀏覽表有多種操作方法單擊菜單“顯示”→“瀏覽”單擊菜單“窗口”→“數(shù)據(jù)工作期” →選擇“表”→“瀏覽”在命令窗口使用命令BROWSE在項(xiàng)目管理器中選擇表→單擊“瀏覽”按鈕,04:04,38,在瀏覽窗口中追加記錄單擊菜單“表”→“追加新記錄”或在命令窗口中輸入命令A(yù)PPEND BLANK,可追加一條空白記錄,且處于編輯狀態(tài)等待用戶輸入數(shù)據(jù)單擊菜單“顯示”→“追加方

21、式” ,可追加多條記錄單擊菜單“顯示” →“瀏覽”或“顯示” →“編輯”,可在瀏覽窗口和編輯窗口間切換,04:04,39,使用INSERT-SQL命令追加記錄命令格式:INSERT INTO TableName[(FieldName1[,FieldName2,…])]VALUES (eExpression1[,eExpression2,…]) 字段名列表用于指定插入的新記錄的哪些字段需要填值,缺省表示全部字段;表達(dá)式列表

22、指定新插入記錄的字段值。字段列表與表達(dá)式列表必須對(duì)應(yīng),且數(shù)據(jù)類(lèi)型一致。,04:04,40,使用APPEND與APPEND FROM命令追加記錄APPEND命令格式:APPEND [BLANK] [IN nWorkArea | cTableAlias]其中:BLANK用于說(shuō)明向表中追加一條空白記錄; IN nWorkArea | cTableAlias用于指定表所在的工作區(qū),缺省時(shí)為當(dāng)前工作區(qū)。,04:04,41,將其他文

23、件中的數(shù)據(jù)導(dǎo)入當(dāng)前工作區(qū)表中單擊菜單“表” →“追加記錄”,可將其他文件中的數(shù)據(jù)導(dǎo)入當(dāng)前工作區(qū)表中?;蛴妹睿篈PPEND FROM FileName [DELIMITED | XLS]DELIMITED用于說(shuō)明追加文件類(lèi)型為文本文件,XLS為Excel文件,缺省時(shí)為表文件。,04:04,42,2、瀏覽當(dāng)前工作區(qū)中的表BROWSE [FIELDS Fieldlist] [FOR lExpression] [FREEZE

24、FieldName] [NOAPPEND] [NODELETE] [NOMODIFY] [TITLE cExpression],04:04,43,FIELDS子句用于指定在瀏覽窗口中出現(xiàn)的字段(字段間以逗號(hào)分隔),缺省時(shí)表示所有字段;FOR子句用于篩選記錄,僅有滿足條件的記錄在瀏覽窗口中顯示;FREEZE子句用于指定可以修改的字段,其他字段的數(shù)據(jù)不可修改;TITLE子句指定瀏覽窗口的標(biāo)題,缺省時(shí)為表名。,04:04,44,3、記

25、錄的篩選如果用戶只想查看和處理滿足一定條件的一部分記錄,可以對(duì)表記錄進(jìn)行篩選。通過(guò)FOR子句的使用可以完成篩選功能;當(dāng)表處于瀏覽狀態(tài)時(shí),單擊菜單“表”→“屬性”打開(kāi)“工作區(qū)屬性”對(duì)話框,設(shè)置“數(shù)據(jù)過(guò)濾器”,可以對(duì)記錄進(jìn)行篩選;使用命令:SET FILTER TO [lExpression]其中:條件表達(dá)式lExpression用于指定記錄需要滿足的條件,省略時(shí)即取消篩選,04:04,45,4、限制對(duì)字段的訪問(wèn)在瀏覽或

26、使用表時(shí),如果只需要顯示或處理表中的部分字段,可以設(shè)置字段篩選來(lái)限制對(duì)某些字段的訪問(wèn)。通過(guò)FIELDS子句的使用可以完成篩選功能;當(dāng)表處于瀏覽狀態(tài)時(shí),單擊菜單“表”→“屬性”打開(kāi)“工作區(qū)屬性”對(duì)話框,設(shè)置“字段篩選”,可以對(duì)字段進(jìn)行篩選;使用命令:SET FIELDS TO [FieldList]其中:字段名表FieldList用于列出所需的字段(字段名間用逗號(hào)分隔),省略時(shí)即取消篩選,04:04,46,5、記錄的定位

27、記錄指針 當(dāng)一張表打開(kāi)后,系統(tǒng)自動(dòng)地為該表生成三個(gè)控制標(biāo)志:記錄的開(kāi)始標(biāo)志、記錄指針標(biāo)志、記錄的結(jié)束標(biāo)志。記錄指針標(biāo)志用于指示當(dāng)前處理的記錄位置,記錄指針指向的那個(gè)記錄稱(chēng)為“當(dāng)前記錄”。每當(dāng)打開(kāi)一個(gè)表文件時(shí),記錄指針總是指向第1條記錄。,04:04,47,格式:RECNO([nWorkArea])功能:返回指定工作區(qū)中記錄指針?biāo)赣涗浀挠涗浱?hào),缺省任選項(xiàng)表示當(dāng)前工作區(qū)。格式:BOF([nWorkArea])功能:測(cè)試指定工

28、作區(qū)中記錄指針是否指向記錄的開(kāi)始標(biāo)志,如是,則返回.T.,否則為.F.,缺省任選項(xiàng)表示當(dāng)前工作區(qū)。格式:EOF([nWorkArea])功能:測(cè)試指定工作區(qū)中記錄指針是否指向記錄的結(jié)束標(biāo)志,如是,則返回.T.,否則為.F.,缺省任選項(xiàng)表示當(dāng)前工作區(qū)。,04:04,48,記錄的定位記錄指針的絕對(duì)定位:把指針移到指定位置。記錄指針的相對(duì)定位:把指針從當(dāng)前位置開(kāi)始,相對(duì)于當(dāng)前記錄向前或向后移動(dòng)若干條記錄位置。記錄指針的條件定位:按照

29、一定的條件自動(dòng)地在整張表(或表的某個(gè)指定范圍)中查找符合條件的記錄,如找到符合條件的記錄,則把指針定位到該記錄上,否則,指針將指向表的末尾。,04:04,49,通過(guò)界面操作方式定位 在利用菜單命令“表”?“轉(zhuǎn)到記錄” ?“定位”進(jìn)行條件定位時(shí),在圖3-17所示的“記錄定位”對(duì)話框中用戶可以設(shè)置記錄定位的條件。其中作用范圍(Scope)可選則的范圍有四項(xiàng):ALL:表中的全部記錄NEXT n:從當(dāng)前記錄開(kāi)始的n條記錄RECO

30、RD n:記錄號(hào)為n的記錄REST:當(dāng)前記錄及其后的所有記錄,04:04,50,使用命令進(jìn)行記錄定位絕對(duì)定位GOTO nRecordNumber [IN nWorkArea|IN cTableAlias]|TOP|BOTTOM其中:記錄號(hào)nRecordNumber必須在表記錄的有效范圍內(nèi);TOP指首記錄;BOTTOM指末記錄。相對(duì)定位SKIP [nRecords][IN nWorkArea|cTableAlias]其

31、中:nRecordNumber用于指定記錄指針需要移動(dòng)的記錄個(gè)數(shù)(正表示向后移動(dòng),負(fù)表示向前移動(dòng)),缺省時(shí)為1。,04:04,51,條件定位LOCATE FOR lExpression [Scope]其中:條件表達(dá)式lExpression用于表示記錄的定位條件;范圍Scope用于指定進(jìn)行條件定位的范圍。,04:04,52,6、記錄的修改界面方式的記錄修改 對(duì)于當(dāng)前工作區(qū)中的表,可以在瀏覽窗口(或編輯窗口)中對(duì)記錄進(jìn)

32、行修改。 如需對(duì)所有記錄(或滿足某種條件的記錄)的某個(gè)字段內(nèi)容進(jìn)行有“規(guī)律”的修改,則可進(jìn)行“批量修改”。在瀏覽狀態(tài)下,利用菜單命令“表” →“替換字段” ,在“替換字段”對(duì)話框中選擇和輸入字段替換的有關(guān)要求。,04:04,53,使用命令修改記錄REPLACE命令REPLACE FieldName1 WITH eExpression1 [ADDITIVE][,FieldName2 WITH eExpressio

33、n2 [ADDITIVE]]…[Scope] [FOR lExpression]功能:對(duì)當(dāng)前工作區(qū)中的表進(jìn)行替換修改。其中:字段名FieldName與表達(dá)式eExpression用于指定要更新的字段以及這些字段的新值;ADDITIVE僅對(duì)備注型字段有效,使用時(shí)表示替換的內(nèi)容追加到原備注中,否則替換原有內(nèi)容;當(dāng)FOR和Scope同時(shí)缺省時(shí),僅對(duì)當(dāng)前記錄進(jìn)行替換。,04:04,54,UPDATE-SQL命令UPDATE Tabl

34、eName SET Column_Name1=eExpression1 [,Column_Name2=eExpression2,…][WHERE lExpression]功能:對(duì)指定表的內(nèi)容進(jìn)行替換修改。其中:表名TableName用于指定要更新記錄的表;Column_Name=eExpression用于指定要更新的字段以及這些字段的新值;WHERE子句用于指定要更新的記錄,缺省時(shí)表示所有記錄。需要說(shuō)明的是,用該命

35、令更新表時(shí),被更新的表不必事先打開(kāi)。,04:04,55,7、記錄的刪除與恢復(fù) 徹底刪除表中的記錄,分兩個(gè)步驟:首先標(biāo)記要?jiǎng)h除的記錄,然后徹底刪除帶有刪除標(biāo)記的記錄。標(biāo)記要?jiǎng)h除的記錄(邏輯刪除)采用界面操作方式 刪除標(biāo)記的切換可以通過(guò)鼠標(biāo)單擊“刪除標(biāo)記列” 來(lái)完成,或在記錄定位后利用菜單命令“表”→“切換刪除標(biāo)記”來(lái)完成,04:04,56,采用命令方式格式:DELETE [Scope] [FOR lExpressio

36、n] [IN nWorkArea|cTableAlias]其中:缺省工作區(qū)或工作表別名時(shí),指當(dāng)前工作區(qū)中的表;當(dāng)范圍和條件同時(shí)缺省時(shí),僅對(duì)當(dāng)前記錄加刪除標(biāo)記。有條件無(wú)范圍時(shí)為ALL。格式:DELETE FROM TableName [WHERE lExpression]其中:TableName為表名,缺省條件時(shí)為所有記錄,此DELETE-SQL命令可在不預(yù)先打開(kāi)表的情況下刪除指定記錄。,04:04,57,恢復(fù)帶刪除標(biāo)記的記錄

37、采用界面操作方式 在瀏覽狀態(tài)下,可以在瀏覽窗口中用鼠標(biāo)單擊“刪除標(biāo)記” ,或?qū)⒂涗浿羔樁ㄎ坏叫枰∠麆h除標(biāo)記的記錄上,使用菜單命令“表”→“切換刪除標(biāo)記”來(lái)完成;采用命令方式格式:RECALL [Scope] [FOR lExpression] 其中:當(dāng)范圍和條件同時(shí)缺省時(shí),僅恢復(fù)當(dāng)前記錄。有條件無(wú)范圍時(shí)為ALL。,04:04,58,徹底刪除記錄(物理刪除)采用界面操作方式 當(dāng)表處于瀏覽狀態(tài)時(shí),用菜單命令“表”

38、→“徹底刪除” ,可徹底刪除帶有刪除標(biāo)記的記錄。采用命令方式格式:PACK 功能:物理刪除帶刪除標(biāo)記的記錄格式:ZAP功能:刪除當(dāng)前工作區(qū)中所打開(kāi)表中的所有記錄注意:物理刪除后記錄不可恢復(fù)。,04:04,59,對(duì)帶有刪除標(biāo)記的記錄的訪問(wèn)格式:SET DELETED ON|OFF功能:指定Visual FoxPro是否對(duì)有刪除標(biāo)記的記錄進(jìn)行處理其中:ON表示忽略有刪除標(biāo)記的記錄;OFF(系統(tǒng)默認(rèn))表示允許訪問(wèn)有刪除標(biāo)

39、記的記錄。,04:04,60,8、數(shù)據(jù)的復(fù)制 利用COPY TO命令可以將表(在當(dāng)前工作區(qū)中已打開(kāi))中的數(shù)據(jù)復(fù)制到其他表文件或其他類(lèi)型的文件中。格式:COPY TO FileName [FIELDS FieldList] [Scope] [FOR lExpression] [[TYPE] SDF|XLS|DELIMITED [WITH Delimiter|WITH BLAN

40、K| WITH TAB|WITH CHARACTER Delimiter]],04:04,61,其中:FileName:指定COPY TO要?jiǎng)?chuàng)建的新文件名。FIELDS FieldList:指定要復(fù)制到新文件的字段,省略則為全部字段。Scope:指定要復(fù)制到新文件的記錄范圍,省略為ALL。FOR lExpression:指定要復(fù)制的記錄需滿足的條件。最后一個(gè)選項(xiàng):指定復(fù)制生成的文件

41、類(lèi)型,缺省則為表文件。,04:04,62,六、 表的索引,記錄的順序物理順序:表中的記錄通常是按其輸入的時(shí)間順序存放的,這種順序稱(chēng)為記錄的物理順序。邏輯順序:表中的記錄可按某個(gè)字段值或某些字段值排序,這種順序稱(chēng)為邏輯順序。(可以實(shí)現(xiàn)對(duì)表記錄的快速查詢),04:04,63,1、索引概述索引:索引是根據(jù)索引關(guān)鍵字的值進(jìn)行邏輯排序的一組指針,它提供了對(duì)數(shù)據(jù)的快速訪問(wèn),且可以對(duì)表中的各條記錄強(qiáng)制實(shí)現(xiàn)唯一性。索引關(guān)鍵字:索引關(guān)鍵字是建立

42、索引的依據(jù),它通常是一個(gè)字段或由多個(gè)字段組成 的表達(dá)式。索引標(biāo)識(shí):索引的名稱(chēng)。,04:04,64,索引的類(lèi)型候選索引(Candidate Index):候選索引是以表的候選關(guān)鍵字為索引表達(dá)式而創(chuàng)建的索引。注意:對(duì)于表的所有記錄來(lái)說(shuō),指定的索引表達(dá)式的值不可重復(fù)。主索引(Primary Index):對(duì)于數(shù)據(jù)庫(kù)表來(lái)說(shuō),可以從候選索引中選取一個(gè)作為該表的主索引。每張數(shù)據(jù)庫(kù)表只能創(chuàng)建一個(gè)主索引。普通索引(Regular Ind

43、ex):普通索引的索引表達(dá)式的值允許出現(xiàn)重復(fù),一張表可以創(chuàng)建多個(gè)普通索引。唯一索引(Unique Index):唯一索引的索引表達(dá)式的值也可以重復(fù),但在索引文件中重復(fù)的值僅存儲(chǔ)一次。,04:04,65,2、索引文件的種類(lèi)結(jié)構(gòu)復(fù)合索引文件非結(jié)構(gòu)復(fù)合索引文件獨(dú)立索引文件,04:04,66,3、創(chuàng)建結(jié)構(gòu)復(fù)合索引用“表設(shè)計(jì)器”創(chuàng)建結(jié)構(gòu)復(fù)合索引,04:04,67,用命令創(chuàng)建結(jié)構(gòu)復(fù)合索引格式:INDEX ON eExpressi

44、on TAG TagName [[FOR lExpression] [ASCENDING|DESCENDING] [UNIQUE|CANDIDATE] ]其中:eExpression為索引表達(dá)式;TagName為索引標(biāo)識(shí);FOR子句用于篩選參加索引的記錄; ASCENDING和DESCENDING用于指定索引是按升序還是降序排序,缺省時(shí)為升序; UNIQUE和CANDIDATE用于指定索引文件類(lèi)型為唯一索引還是候選索引,缺省

45、時(shí)為普通索引。,04:04,68,4、索引的修改和刪除索引的修改用表設(shè)計(jì)器修改索引用命令修改索引(通過(guò)創(chuàng)建同索引名的索引覆蓋原索引來(lái)修改索引)索引的刪除用表設(shè)計(jì)器刪除索引,04:04,69,用命令刪除索引格式:DELETE TAG TagName1 [,TagName2,…]功能:刪除結(jié)構(gòu)復(fù)合文件中指定的索引格式:DELETE TAG ALL功能:刪除結(jié)構(gòu)復(fù)合索引文件中的所有索引,并從磁盤(pán)上刪除該索引文件。,0

46、4:04,70,5、索引的使用打開(kāi)表的同時(shí)指定主控索引格式:USE TableName ORDER TagName功能:打開(kāi)表的同時(shí)指定索引標(biāo)識(shí)TagName為主控索引。打開(kāi)表后再設(shè)置主控索引格式:SET ORDER TO [TagName [IN nWorkArea |cTableAlias] [ASCENDING|DESCENDING]]其中:索引名TagName用于指定主控索引,缺省時(shí)取消主控

47、索引。,04:04,71,6、利用索引快速定位記錄格式:SEEK eExpression [ORDER TagName [ASCENDING|DESCENDING] ] [IN nWorkArea |cTableAlias] 功能:在一張表中搜索指定表達(dá)式(eExpression)的值首次出現(xiàn)的記錄,這條記錄的索引關(guān)鍵字必須與指定的表達(dá)式(eExpression)匹配。,04:04,72,3.5 有關(guān)表操作

48、的常用函數(shù),SELECT()函數(shù)格式:SELECT([0|1|cTableAlias])功能:測(cè)試工作區(qū)號(hào)其中:參數(shù)0用于返回當(dāng)前工作區(qū)號(hào), 參數(shù)1用于返回當(dāng)前未被使用工作區(qū)的最大編號(hào);別名cTableAlias用于返回該表所在的工作區(qū)號(hào),使用別名時(shí)必須加引號(hào)。,04:04,73,ALIAS()函數(shù)格式:ALIAS([nWorkArea])功能:返回當(dāng)前或指定工作區(qū)中表的別名。FIELD()函數(shù)格式:FIELD(nFiel

49、dNumber [,nWorkArea| cTableAlias])功能:用于返回已打開(kāi)表的指定序號(hào)的字段名。其中:字段序號(hào)nFieldNumber是指表結(jié)構(gòu)建立時(shí)的字段順序號(hào),第一個(gè)字段的序號(hào)為1;工作區(qū)號(hào)與別名缺省時(shí)表示當(dāng)前工作區(qū)。,04:04,74,FCOUNT()函數(shù)格式:FCOUNT([ nWorkArea| cTableAlias])功能:用于返回已打開(kāi)表的字段個(gè)數(shù)。其中:工作區(qū)號(hào)與別名缺省時(shí)表示當(dāng)前工作區(qū)。,04

50、:04,75,3.4 永久關(guān)系與參照完整性,表之間的關(guān)系關(guān)系的種類(lèi)一對(duì)一關(guān)系一對(duì)多關(guān)系多對(duì)多關(guān)系分析并確定表之間關(guān)系,04:04,76,1、表之間的永久性關(guān)系,數(shù)據(jù)庫(kù)表間的永久性關(guān)系是根據(jù)表的索引建立的,索引的類(lèi)型決定了要?jiǎng)?chuàng)建的永久性關(guān)系的類(lèi)型。,04:04,77,,永久性關(guān)系的創(chuàng)建確定兩張具有一對(duì)一或一對(duì)多關(guān)系的表建立主表的主索引或候選索引建立子表的主索引或候選索引(一對(duì)一關(guān)系)或建立子表的普通索引(一對(duì)多關(guān)系)在

51、“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口中,將主表的主索引或候選索引標(biāo)識(shí)拖放到子表相應(yīng)的索引標(biāo)識(shí)上,即完成了永久性關(guān)系的設(shè)置,04:04,78,永久關(guān)系的編輯 在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口中,雙擊關(guān)系連線打開(kāi)“編輯關(guān)系”對(duì)話框,在該對(duì)話框中可重新選擇用以建立關(guān)系的兩張表的索引標(biāo)識(shí)。永久關(guān)系的刪除 在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口中,單擊關(guān)系連線后(此時(shí)連線變粗),按【Del】鍵。,04:04,79,2、參照完整性 “參照完整性”(Referent

52、ial Integrity,簡(jiǎn)稱(chēng)RI)是用來(lái)控制數(shù)據(jù)的完整性,尤其是控制數(shù)據(jù)庫(kù)中相關(guān)表之間的主關(guān)鍵字和外部關(guān)鍵字之間數(shù)據(jù)一致性的規(guī)則。,04:04,80,參照完整性的一般要求 對(duì)于一對(duì)多關(guān)系的兩張表,其數(shù)據(jù)的完整性、一致性要求相關(guān)表之間應(yīng)該滿足如下三個(gè)規(guī)則:子表中的每一個(gè)記錄在對(duì)應(yīng)的主表中必須有一個(gè)記錄。在子表中插入記錄時(shí),其外部關(guān)鍵字必須是父表主關(guān)鍵字值中的一個(gè)。在父表中刪除記錄時(shí),與該記錄相關(guān)的子表中的記錄必須全部刪

53、除。,04:04,81,編輯參照完整性,04:04,82,參照完整性的設(shè)置,04:04,83,3.5 有關(guān)數(shù)據(jù)庫(kù)及其對(duì)象的常用函數(shù),格式:DBC()功能:返回當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)的完整文件名。格式:DBUSED(cDatabaseName)功能:返回指定的數(shù)據(jù)庫(kù)是否已經(jīng)打開(kāi)。如果已打開(kāi),則函數(shù)返回值為.T. ,否則函數(shù)返回值為.F. 。格式:DBGETPROP(cName , cType , cProperty),04:04,84

溫馨提示

  • 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ù)僅提供信息存儲(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)論