版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 1頁(yè)頁(yè) 第第3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 3.1 Visual FoxProVisual FoxPro系統(tǒng)中數(shù)據(jù)庫(kù)和表的基本概念 3.2 數(shù)據(jù)庫(kù)的基本操作 3.3 建立數(shù)據(jù)庫(kù)表 3.4 數(shù)據(jù)庫(kù)表的基本操作 3.5 數(shù)據(jù)庫(kù)表索引的創(chuàng)建和使用 3.6 數(shù)據(jù)庫(kù)表的屬性設(shè)置 3.7 數(shù)據(jù)庫(kù)表間的永久關(guān)系與參照完整性 3.8 工作區(qū)與多表操作 3.9 自由表 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章
2、 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 2頁(yè)頁(yè) 3.1 3.1 數(shù)據(jù)庫(kù)和表的基本概念數(shù)據(jù)庫(kù)和表的基本概念 數(shù)據(jù)庫(kù) v 數(shù)據(jù)庫(kù)是以一定的組織方式存儲(chǔ)在外部存儲(chǔ) 設(shè)備上的相關(guān)數(shù)據(jù)的集合。 v 數(shù)據(jù)庫(kù)是一個(gè)邏輯上的概念和手段,它把相 關(guān)聯(lián)的若干個(gè)表組織在一起,建立并存儲(chǔ)了 表與表之間的永久關(guān)系、與表相關(guān)的視圖、 與遠(yuǎn)程數(shù)據(jù)源的連接和存儲(chǔ)過(guò)程。 表 v 數(shù)據(jù)庫(kù)表:屬于某個(gè)數(shù)據(jù)庫(kù)的表。 v 自由表:不屬于任何數(shù)據(jù)庫(kù)的表。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 3頁(yè)頁(yè) 3.1 3.1 數(shù)據(jù)庫(kù)和表的
3、基本概念數(shù)據(jù)庫(kù)和表的基本概念 一個(gè)數(shù)據(jù)庫(kù)的實(shí)例 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 4頁(yè)頁(yè) 3. 2 數(shù)據(jù)庫(kù)的基本操作數(shù)據(jù)庫(kù)的基本操作 3.2.1 數(shù)據(jù)庫(kù)的創(chuàng)建與刪除 3.2.2 數(shù)據(jù)庫(kù)的打開(kāi)與關(guān)閉 3.2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)器 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 5頁(yè)頁(yè) 3.2.1 數(shù)據(jù)庫(kù)的創(chuàng)建與刪除數(shù)據(jù)庫(kù)的創(chuàng)建與刪除 數(shù)據(jù)庫(kù)的創(chuàng)建 v 建立數(shù)據(jù)庫(kù)的常用方法: l 打開(kāi)項(xiàng)目管理器,在“數(shù)據(jù)”選項(xiàng)
4、卡中選 擇“數(shù)據(jù)庫(kù)”,然后單擊“新建”按鈕 l 選擇“文件”菜單中的“新建”或者單擊 常用工具欄上的“新建”按鈕, l 使用命令方式: CREATE DATABASECREATE DATABASE Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 6頁(yè)頁(yè) 3.2.1 數(shù)據(jù)庫(kù)的創(chuàng)建與刪除數(shù)據(jù)庫(kù)的創(chuàng)建與刪除 數(shù)據(jù)庫(kù)的刪除 v 刪除數(shù)據(jù)庫(kù)的常用方法: l 在項(xiàng)目管理器中直接選擇要?jiǎng)h除的 數(shù)據(jù)庫(kù),然后單擊 “移去”按鈕 l 使用命令刪除數(shù)據(jù)庫(kù): DELETE DATABASEDELETE DATABASE RECY
5、CLERECYCLE Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 7頁(yè)頁(yè) 3.2.2 數(shù)據(jù)庫(kù)的打開(kāi)與關(guān)閉數(shù)據(jù)庫(kù)的打開(kāi)與關(guān)閉 數(shù)據(jù)庫(kù)的打開(kāi) v 打開(kāi)數(shù)據(jù)庫(kù)的常用方法: l 在項(xiàng)目管理器中選擇要打開(kāi)的數(shù)據(jù) 庫(kù),所選數(shù)據(jù)庫(kù)將自動(dòng)打開(kāi) l 選擇“文件”菜單中的“打開(kāi)”命 令或單擊工具欄上的“打開(kāi)”按鈕 l 使用命令方式 OPEN DATABASEOPEN DATABASE Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第
6、8頁(yè)頁(yè) 3.2.2 數(shù)據(jù)庫(kù)的打開(kāi)與關(guān)閉數(shù)據(jù)庫(kù)的打開(kāi)與關(guān)閉 數(shù)據(jù)庫(kù)的關(guān)閉 v 關(guān)閉數(shù)據(jù)庫(kù)的常用方法: l 在項(xiàng)目管理器中直接選擇要關(guān)閉的 數(shù)據(jù)庫(kù),然后單擊“關(guān)閉”命令按 鈕 l 使用命令方式關(guān)閉數(shù)據(jù)庫(kù): CLOSE DATABASECLOSE DATABASE Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 9頁(yè)頁(yè) 3.2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)器數(shù)據(jù)庫(kù)設(shè)計(jì)器 數(shù)據(jù)庫(kù)設(shè)計(jì)器 數(shù)據(jù)庫(kù)設(shè)計(jì)器是在Visual FoxProVisual FoxPro中管理數(shù)據(jù) 庫(kù)的一個(gè)工具,可以管理數(shù)據(jù)庫(kù)中的表、視圖 與關(guān)系等。數(shù)據(jù)庫(kù)設(shè)計(jì)
7、器工具欄的常用按鈕介 紹如下: 新建數(shù)據(jù)庫(kù)新建數(shù)據(jù)庫(kù) 表表 將自由表添將自由表添 加至數(shù)據(jù)庫(kù)加至數(shù)據(jù)庫(kù) 將表從數(shù)據(jù)將表從數(shù)據(jù) 庫(kù)中移去庫(kù)中移去 新建遠(yuǎn)程視新建遠(yuǎn)程視 圖圖 新建本地視新建本地視 圖圖 打開(kāi)數(shù)據(jù)庫(kù)打開(kāi)數(shù)據(jù)庫(kù) 表設(shè)計(jì)器表設(shè)計(jì)器 打開(kāi)瀏覽窗打開(kāi)瀏覽窗 口口 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 10頁(yè)頁(yè) 3.2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)器數(shù)據(jù)庫(kù)設(shè)計(jì)器 v 打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器的方法有多種: l 利用項(xiàng)目管理器或菜單新建數(shù)據(jù)庫(kù)后,立 即打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。 l 利用菜單打開(kāi)一個(gè)數(shù)據(jù)庫(kù)后,將自動(dòng)打開(kāi) 數(shù)據(jù)
8、庫(kù)設(shè)計(jì)器。 l 在項(xiàng)目管理器中,選定一個(gè)數(shù)據(jù)庫(kù),然后 單擊“修改”按鈕,或者在項(xiàng)目管理器中 直接雙擊數(shù)據(jù)庫(kù)名,就可以打開(kāi)數(shù)據(jù)庫(kù)設(shè) 計(jì)器。 l 采用命令方式:MODIFY DATABASEMODIFY DATABASE Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 11頁(yè)頁(yè) 3. 3 建立數(shù)據(jù)庫(kù)表建立數(shù)據(jù)庫(kù)表 3.3.1 數(shù)據(jù)庫(kù)表的創(chuàng)建 3.3.2 數(shù)據(jù)庫(kù)表結(jié)構(gòu)的修改 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第
9、12頁(yè)頁(yè) 3.3.1 數(shù)據(jù)庫(kù)表的創(chuàng)建數(shù)據(jù)庫(kù)表的創(chuàng)建 定義表 v 定義表名, v 定義表結(jié)構(gòu),包括定義字段名、數(shù)據(jù)類型 與寬度、是否接受NULL值等 v 輸入記錄內(nèi)容。 字段名的命名規(guī)則如下: v 必須以字母或漢字開(kāi)頭。 v 可以由字母、漢字、數(shù)字和下劃線組成。 v 長(zhǎng)度不超過(guò)128個(gè)字符(若是自由表則長(zhǎng)度 不超過(guò)10個(gè)字符)。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 13頁(yè)頁(yè) 3.3.1 數(shù)據(jù)庫(kù)表的創(chuàng)建數(shù)據(jù)庫(kù)表的創(chuàng)建 建立表即建立一個(gè)擴(kuò)展名為DBF的文件。如果 表中有備注型或通用型的字段,還會(huì)相應(yīng)
10、生成 一個(gè)擴(kuò)展名為FPT的文件。 建立數(shù)據(jù)庫(kù)表有三種常用的方法: v在項(xiàng)目管理器中,展開(kāi)某個(gè)數(shù)據(jù)庫(kù),選擇 “表”,單擊“新建”按鈕,選擇“新建 表” v打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,在數(shù)據(jù)庫(kù)設(shè)計(jì)器工具 欄中選擇“新建表”按鈕 v使用命令方式:CREATE CREATE Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 14頁(yè)頁(yè) 3.3.2 數(shù)據(jù)庫(kù)表結(jié)構(gòu)的修改數(shù)據(jù)庫(kù)表結(jié)構(gòu)的修改 數(shù)據(jù)庫(kù)表結(jié)構(gòu)的修改 利用表設(shè)計(jì)器既可增加、刪除字段,也可 修改字段名、字段類型、字段的寬度等。 進(jìn)入表設(shè)計(jì)器修改表結(jié)構(gòu)的方法 v 在項(xiàng)目管理器中
11、,選擇要修改的數(shù)據(jù)庫(kù)表, 然后單擊“修改”按鈕 v 在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,選擇要修改的數(shù)據(jù)庫(kù) 表,在數(shù)據(jù)庫(kù)設(shè)計(jì)器工具欄中選擇“修改 表”按鈕 v 使用命令方式:MODIFY STRUCTUREMODIFY STRUCTURE Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 15頁(yè)頁(yè) 3. 4 數(shù)據(jù)庫(kù)表的基本操作數(shù)據(jù)庫(kù)表的基本操作 3.4.1 表的打開(kāi) 3.4.2 使用瀏覽器操作表 3.4.3 使用命令方式操作表 3.4.4 表的關(guān)閉 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第
12、第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 16頁(yè)頁(yè) 3.4.1 表的打開(kāi)表的打開(kāi) 打開(kāi)表的五種方法: v 使用項(xiàng)目管理器修改表結(jié)構(gòu)或?yàn)g覽表時(shí), 表將自動(dòng)打開(kāi) v 使用數(shù)據(jù)庫(kù)設(shè)計(jì)器修改表結(jié)構(gòu)或?yàn)g覽表時(shí), 表將自動(dòng)打開(kāi) v 選擇“文件”菜單中的“打開(kāi)”或單擊工 具欄上的“打開(kāi)”按鈕 v 選擇“窗口”菜單中的“數(shù)據(jù)工作期”打 開(kāi)“數(shù)據(jù)工作期”窗口,單擊“打開(kāi)”按 鈕 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 17頁(yè)頁(yè) 3.4.1 表的打開(kāi)表的打開(kāi) v 使用命令方式 USE USE EX
13、CLUSIVE ALIAS EXCLUSIVE ALIAS 子句說(shuō)明: ALIAS ALIAS :表示給表定義別名, 若省略,表名即為別名。 EXCLUSIVEEXCLUSIVE:表示以獨(dú)占方式打開(kāi)表, 若省略,則以共享方式打開(kāi)表。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 18頁(yè)頁(yè) 3.4.1 表的打開(kāi)表的打開(kāi) v 打開(kāi)表有兩種方式:獨(dú)占(EXCLUSIVEEXCLUSIVE)和 共享(SHAREDSHARED)。在對(duì)表進(jìn)行追加記錄、修 改表結(jié)構(gòu)和物理刪除時(shí),系統(tǒng)要求表是用 獨(dú)占方式打開(kāi)的。 v
14、以獨(dú)占方式打開(kāi)表 l 在USEUSE命令中使用EXCLUSIVEEXCLUSIVE子句 l 在使用菜單方式和數(shù)據(jù)工作期打開(kāi)表文 件時(shí),在“打開(kāi)”對(duì)話框中選中“獨(dú) 占”。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 19頁(yè)頁(yè) 3.4.1 表的打開(kāi)表的打開(kāi) 菜單方式 數(shù)據(jù)工作期 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 20頁(yè)頁(yè) 3.4.2 使用瀏覽器操作表使用瀏覽器操作表 使用瀏覽器操作表 1.打開(kāi)瀏覽器 l
15、 顯示方式的切換:“顯示”菜單 “瀏覽”方式 “編輯”方 式 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 21頁(yè)頁(yè) 3.4.2 使用瀏覽器操作表使用瀏覽器操作表 2在瀏覽器中追加新記錄 l 追加多條新記錄 “顯示”菜單中選擇“追加方式” l 追加一條新記錄 “表”菜單中選擇“追加新記錄” l 從另一張表中追加新記錄 “表”菜單中選擇“追加記錄” 3在瀏覽器中修改記錄 l 直接修改記錄的值 l 自動(dòng)修改數(shù)據(jù) “表”菜單中的“替換字段” Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程
16、教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 22頁(yè)頁(yè) 3.4.2 使用瀏覽器操作表使用瀏覽器操作表 4在瀏覽器中刪除記錄 l 邏輯刪除和物理刪除 邏輯刪除是將記錄打上邏輯刪除標(biāo)記,而物 理刪除是將那些帶有邏輯刪除標(biāo)記的記錄真正從 表中刪除。 l 邏輯刪除 1)直接設(shè)置邏輯刪除標(biāo)記 2)邏輯刪除成批的記錄 “表”菜單中選擇“刪除記錄” Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 23頁(yè)頁(yè) 3.4.2 使用瀏覽器操作表使用瀏覽器操作表 l 恢復(fù)記錄 1)直接取消邏輯刪除標(biāo)記 2)
17、邏輯恢復(fù)成批的記錄 “表”菜單中的“恢復(fù)記錄” l 物理刪除 “表”菜單中選擇“徹底刪除” Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 24頁(yè)頁(yè) 3.4.2 使用瀏覽器操作表使用瀏覽器操作表 5指針移動(dòng) l 指針 指向正在被處理的記錄,該記錄 被稱為當(dāng)前記錄 l 用鼠標(biāo)移動(dòng)指針 l 快速移動(dòng)指針 “表”菜單的“轉(zhuǎn)到記錄” Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 25頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用
18、命令方式操作表 使用命令方式操作表 1記錄顯示命令 (1)記錄的分屏顯示 DISPLAY DISPLAY FOR|WHILE FOR|WHILE FIELDS FIELDS 命令功能:在主窗口中分屏顯示范圍內(nèi) 滿足條件的記錄的指定字段 (2)記錄的連續(xù)顯示 LIST LIST FOR|WHILE FOR|WHILE FIELDS FIELDS 命令功能:在主窗口中連續(xù)顯示范圍內(nèi) 滿足條件的記錄的指定字段 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 26頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操
19、作表 子句含義: :可以是allall、record nrecord n、next nnext n或 restrest,也可以缺省。特別注意:若同時(shí)缺省 與,對(duì)于DISPLAYDISPLAY、DELETEDELETE、 RECALLRECALL和REPLACEREPLACE等四條命令,表示操作對(duì)象 為當(dāng)前記錄;對(duì)其它命令則表示操作對(duì)象為 所有記錄。 FIELDSFIELDS :指定參加當(dāng)前操作 的字段。字段名表中各個(gè)字段用逗號(hào)分隔。 缺省這個(gè)選項(xiàng)則表示顯示所有字段。 所有記錄 第n號(hào)記錄 從當(dāng)前記錄開(kāi)始的N 條記錄 從當(dāng)前記錄開(kāi)始至 文件結(jié)束 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序
20、設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 27頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 FOR FOR :指定范圍內(nèi)滿足條件的所有 記錄。若FORFOR 存在,則缺省 時(shí)默認(rèn)為ALLALL。 WHILEWHILE :指定范圍內(nèi)首記錄開(kāi)始連 續(xù)滿足條件的各條記錄,即一旦有一條記錄 不滿足條件,則該記錄及其后的所有記錄均 不入選。若 WHILEWHILE 存在,則 缺省時(shí)默認(rèn)為RESTREST。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 28頁(yè)
21、頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 例3.33.3 顯示STUDENTSTUDENT表中的當(dāng)前記錄 USE STUDENTUSE STUDENT DISPLAY & DISPLAY &等價(jià)命令等價(jià)命令: DISPLAY NEXT 1: DISPLAY NEXT 1 例3.43.4 顯示STUDENTSTUDENT表中所有的記錄 USE STUDENTUSE STUDENT LIST & LIST &等價(jià)命令等價(jià)命令: DISPLAY ALL: DISPLAY ALL Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作
22、數(shù)據(jù)庫(kù)和表的基本操作 第第 29頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 例3.53.5 分屏顯示STUDENTSTUDENT表中的所有記錄的 姓名和年齡字段 USE STUDENTUSE STUDENT DISPLAY ALL FIELDS DISPLAY ALL FIELDS 姓名姓名, ,年齡年齡 例3.63.6 分屏顯示STUDENTSTUDENT表中的所有入學(xué)總 分大于550550的記錄 USE STUDENTUSE STUDENT DISPLAY FOR DISPLAY FOR 入學(xué)總分入學(xué)總分550 550 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序
23、設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 30頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 2記錄添加命令 (1)追加新記錄 APPEND BLANKAPPEND BLANK 命令功能: l APPENDAPPEND命令一次可以連續(xù)輸入多條新的記 錄,操作界面與新建表一樣,關(guān)閉窗口將 自動(dòng)保存輸入的新記錄。 l APPEND BLANKAPPEND BLANK是在表的尾部增加一條空白 記錄。 (2)插入新記錄 INSERT BEFORE BLANKINSERT BEFORE BLANK Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)
24、計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 31頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 3記錄刪除與恢復(fù)命令 (1)邏輯刪除記錄 DELETE DELETE FOR|WHILE FOR|WHILE 命令功能:邏輯刪除指定范圍內(nèi)滿足條 件的記錄,若缺省與,則只 邏輯刪除當(dāng)前記錄。 例 邏輯刪除STUDENTSTUDENT表中所有社會(huì)學(xué)專業(yè)的 記錄 USE STUDENTUSE STUDENT DELETE ALL FOR DELETE ALL FOR 專業(yè)專業(yè)= = 社會(huì)學(xué)社會(huì)學(xué) Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教
25、程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 32頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 (2)恢復(fù)記錄 RECALL RECALL FOR|WHILE FOR|WHILE 命令功能:恢復(fù)范圍內(nèi)滿足條件的記錄, 如缺省與,則只恢復(fù)當(dāng)前記 錄。 例3.7 3.7 恢復(fù)STUDENTSTUDENT表中所有的記錄 RECALL ALLRECALL ALL (3)物理刪除記錄 PACKPACK 命令功能:永久刪除表中所有帶有刪 除標(biāo)記的記錄,無(wú)法恢復(fù)。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操
26、作數(shù)據(jù)庫(kù)和表的基本操作 第第 33頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 4記錄自動(dòng)修改命令 REPLACE REPLACE WITH WITH 1 , WITH WITH 表達(dá)式表達(dá)式2 FOR|WHILE 2 FOR|WHILE 命令功能:在范圍內(nèi)對(duì)滿足條件的記錄利 用表達(dá)式的值替換字段值,如果缺省與 ,則默認(rèn)修改的是當(dāng)前記錄。 例 將STUDENTSTUDENT表中經(jīng)濟(jì)學(xué)專業(yè)改為會(huì)計(jì)專業(yè) USE STUDENTUSE STUDENT REPLACE ALL REPLACE ALL 專業(yè)專業(yè) WITH WITH 會(huì)計(jì)會(huì)計(jì) FOR FOR 專業(yè)專業(yè) 經(jīng)濟(jì)學(xué)經(jīng)濟(jì)學(xué) Visual
27、 FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 34頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 5指針移動(dòng)命令 (1)絕對(duì)移動(dòng)指針命令 GO GO |TOP|BOTTOM|TOP|BOTTOM (2)相對(duì)移動(dòng)指針命令 SKIP +|-SKIP +|- 例3.83.8 將指針移動(dòng)到文件末記錄,并測(cè)試EOF() 的值 USE STUDENTUSE STUDENT GO BOTTOM GO BOTTOM ?EOF() & ?EOF() & 屏幕顯示結(jié)果為屏幕顯示結(jié)果為.F. .F. Visual FoxPro
28、數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 35頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 例3.9 將指針移動(dòng)到當(dāng)前記錄的后兩條記錄 SKIP 2SKIP 2 例3.10 在STUDENTSTUDENT表中,將指針移動(dòng)到文件首 記錄之前,并測(cè)試函數(shù)BOF()BOF()和RECNO()RECNO()的值 USE STUDENTUSE STUDENT GO TOP GO TOP ?BOF() & ?BOF() & 屏幕顯示結(jié)果為屏幕顯示結(jié)果為.F.F. ?RECNO() & ?RECNO() & 記錄號(hào)為記錄號(hào)為1 1
29、 SKIP -1 SKIP -1 ?BOF() & ?BOF() & 屏幕顯示結(jié)果為屏幕顯示結(jié)果為.T. .T. ?RECNO() & ?RECNO() & 記錄號(hào)為記錄號(hào)為1 1 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 36頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 例3.113.11 在STUDENTSTUDENT表中,將指針移動(dòng)到文件末 記錄之后,并測(cè)試函數(shù)EOF()EOF()和RECNO()RECNO()的值 USE STUDENTUSE STUDENT GO BOTTOM G
30、O BOTTOM SKIP SKIP ?EOF() & ?EOF() & 屏幕顯示結(jié)果為屏幕顯示結(jié)果為.T.T. ?RECNO() & ?RECNO() & 最大記錄號(hào)最大記錄號(hào)1 1 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 37頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 (3)指針的條件定位 LOCATE LOCATE FOR FOR 執(zhí)行該命令,將記錄指針定位在范圍內(nèi)滿 足條件的第一條記錄上,如果沒(méi)有滿足條件的 記錄則指針指向文件結(jié)束位置。缺省, 則默認(rèn)為ALLALL。 要使指針指
31、向下一條滿足條件的記錄,則 要使用CONTINUECONTINUE命令,如果沒(méi)有記錄再次滿足 條件,則指針指向文件結(jié)束位置。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 38頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 例3.123.12 在STUDENTSTUDENT表中,將指針移動(dòng)到總分大于 580580的記錄上 USE STUDENTUSE STUDENT LOCATE FOR LOCATE FOR 入學(xué)總分入學(xué)總分580 580 ?RECNO() & ?RECNO() &屏幕顯示屏幕
32、顯示 7 7 ?FOUND() & ?FOUND() &屏幕顯示屏幕顯示 .T.T. CONTINUE CONTINUE ?FOUND() & ?FOUND() &屏幕顯示屏幕顯示 .T.T. CONTINUE CONTINUE ?FOUND() & ?FOUND() &屏幕顯示屏幕顯示 .F.F. ?EOF() & ?EOF() &屏幕顯示屏幕顯示 .T.T. Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 39頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 6表記錄的統(tǒng)計(jì)命令 (1)統(tǒng)計(jì)記錄個(gè)
33、數(shù) COUNT TO COUNT TO FOR|WHILE FOR|WHILE (2)統(tǒng)計(jì)總和 SUM SUM TO TO FOR|WHILE FOR|WHILE (3)統(tǒng)計(jì)平均數(shù) AVERAGE AVERAGE TO TO FOR|WHILE FOR|WHILE Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 40頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 7數(shù)據(jù)篩選命令 (1)記錄篩選 SET FILTER TO SET FILTER TO 命令功能:可以屏蔽不滿足條件的記錄, SET F
34、ILTER TO SET FILTER TO 命令取消記錄篩選命令。 例3.133.13 設(shè)置只能訪問(wèn)STUDENTSTUDENT表的女生記錄。 USE STUDENTUSE STUDENT SET FILTER TO SET FILTER TO 性別性別=女女 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 41頁(yè)頁(yè) 3.4.3 使用命令方式操作表使用命令方式操作表 (2)字段篩選 SET FIELDS TO SET FIELDS TO |ALLLIKE|EXCEPT |ALLLIKE|EXCEPT 命
35、令功能:指定當(dāng)前表可以訪問(wèn)的字段 例3.143.14 接上例,設(shè)置只能訪問(wèn)STUDENTSTUDENT表的學(xué) 號(hào)、姓名和專業(yè)字段。 SET FIELDS TO SET FIELDS TO 學(xué)號(hào)學(xué)號(hào), ,姓名姓名, ,專業(yè)專業(yè) Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 42頁(yè)頁(yè) 3.4.4 表的關(guān)閉表的關(guān)閉 表的關(guān)閉 v 用戶對(duì)表的操作結(jié)束后,需要關(guān)閉表。 關(guān)閉表主要有兩種方法: (1)在數(shù)據(jù)工作期中,選擇要關(guān)閉的表,然 后單擊“關(guān)閉”按鈕 (2)使用命令方式 l 關(guān)閉當(dāng)前表的命令格式: USEUSE
36、 l 關(guān)閉所有表的命令格式: CLOSE DBF|TABLES ALLCLOSE DBF|TABLES ALL Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 43頁(yè)頁(yè) 3. 5 數(shù)據(jù)庫(kù)表索引的創(chuàng)建和使用數(shù)據(jù)庫(kù)表索引的創(chuàng)建和使用 3.5.1 索引文件的類型 3.5.2 索引的類型 3.5.3 索引的創(chuàng)建 3.5.4 索引的修改和刪除 3.5.5 索引的使用 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 44頁(yè)頁(yè) 3
37、.5 數(shù)據(jù)庫(kù)表索引的創(chuàng)建和使用數(shù)據(jù)庫(kù)表索引的創(chuàng)建和使用 索引是指根據(jù)索引表達(dá)式的值使表中的記 錄有序排列的一種技術(shù)。 索引的實(shí)現(xiàn):根據(jù)索引表達(dá)式的值將記錄 重新排序,并建立索引表用于存儲(chǔ)排序后 索引關(guān)鍵字的值和記錄號(hào)之間的對(duì)應(yīng)關(guān)系, 再將索引表保存在索引文件中。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 45頁(yè)頁(yè) 3.5 數(shù)據(jù)庫(kù)表索引的創(chuàng)建和使用數(shù)據(jù)庫(kù)表索引的創(chuàng)建和使用 對(duì)COURSE表按學(xué)時(shí)索引 記錄記錄 號(hào)號(hào) 課程號(hào)課程號(hào) 學(xué)學(xué) 時(shí)時(shí) 1 10100101001 3030 2 202001020
38、01 6060 3 30200202002 7070 4 40400104001 4848 5 50400204002 7474 索引索引 學(xué)時(shí)(學(xué)時(shí)( 索引表索引表 達(dá)式)達(dá)式) 記記 錄錄 號(hào)號(hào) 30301 1 48484 4 60602 2 70703 3 74745 5 記錄記錄 號(hào)號(hào) 課程號(hào)課程號(hào) 學(xué)學(xué) 時(shí)時(shí) 1 10100101001 3030 4 40400104001 4848 2 20200102001 6060 3 30200202002 7070 5 50400204002 7474 索引表索引表 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程
39、第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 46頁(yè)頁(yè) 3.5.1 索引文件的類型索引文件的類型 索引文件的分類 1復(fù)合索引文件 復(fù)合索引文件是指包含一個(gè)或多個(gè)索引表 達(dá)式的索引文件,以CDX為文件擴(kuò)展名。復(fù)合 索引文件又分為結(jié)構(gòu)化復(fù)合索引文件和非結(jié)構(gòu) 化復(fù)合索引文件兩種。 結(jié)構(gòu)化復(fù)合索引文件的主名與表文件相同, 它能隨著表的打開(kāi)而自動(dòng)打開(kāi),隨表的關(guān)閉而 自動(dòng)關(guān)閉;在對(duì)表中記錄進(jìn)行增加、刪除和修 改時(shí),會(huì)自動(dòng)進(jìn)行更新維護(hù)。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 47頁(yè)頁(yè) 3.5
40、.1 索引文件的類型索引文件的類型 2獨(dú)立索引文件 獨(dú)立索引文件(也稱單一索引文件)是 指僅包含一個(gè)索引表達(dá)式的索引文件,以IDX 為文件擴(kuò)展名。一個(gè)表可以建立多個(gè)獨(dú)立索引 文件。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 48頁(yè)頁(yè) 3.5.2 索引的類型索引的類型 索引的類型 1.主索引 能對(duì)記錄進(jìn)行唯一標(biāo)識(shí),在表中起主關(guān)鍵字 的作用并決定記錄的邏輯順序。用于建立主索引 的字段表達(dá)式無(wú)NULL值和重復(fù)值,確保字段輸 入值的唯一性。 2.候選索引 候選索引同主索引一樣,它的索引表達(dá)式無(wú) NULL值和
41、重復(fù)值,在表中起候選關(guān)鍵字的作用。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 49頁(yè)頁(yè) 3.5.2 索引的類型索引的類型 3.普通索引 普通索引決定記錄的邏輯順序,但它允 許索引表達(dá)式有重復(fù)值。一個(gè)表可以建立多 個(gè)普通索引。 4.唯一索引 允許索引表達(dá)式有重復(fù)值,但重復(fù)的 索引字段值只有唯一一個(gè)值出現(xiàn)在索引表中, 一個(gè)表可以建立多個(gè)唯一索引。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 50頁(yè)頁(yè) 3.5.3
42、 索引的創(chuàng)建索引的創(chuàng)建 索引的創(chuàng)建 1. 使用表設(shè)計(jì)器建立結(jié)構(gòu)化復(fù)合索引 l 索引名:可以與字段同名,必須是唯一的 l 索引類型:主索引、候選索引、普通索引、 唯一索引 l 排序方式:升序或降序 l 索引表達(dá)式:一個(gè)或多個(gè)字段組成 l 篩選 注意:只有數(shù)據(jù)庫(kù)表才能建立主索引。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 51頁(yè)頁(yè) 3.5.3 索引的創(chuàng)建索引的創(chuàng)建 2. 使用命令方式建立索引 INDEX ON INDEX ON TAG TAG OF OF FOR FOR ASCENDING|DESCEN
43、DING ASCENDING|DESCENDING UNIQUE|CANDIDATE UNIQUE|CANDIDATE ADDITIVE ADDITIVE 命令既能創(chuàng)建結(jié)構(gòu)化復(fù)合索引,也能 創(chuàng)建非結(jié)構(gòu)化復(fù)合索引,但命令不能建立 主索引。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 52頁(yè)頁(yè) 3.5.3 索引的創(chuàng)建索引的創(chuàng)建 例3.153.15 對(duì)STUDENTSTUDENT表,按出生日期建立 索引,索引名為RQRQ USE STUDENTUSE STUDENT INDEX ON INDEX ON 出生
44、日期出生日期 TAG RQTAG RQ 例3.163.16 對(duì)STUDENTSTUDENT表,先按專業(yè)再按姓 名建立索引,索引名為ZYXMZYXM INDEX ON INDEX ON 專業(yè)專業(yè)+ +姓名姓名 TAG ZYXMTAG ZYXM Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 53頁(yè)頁(yè) 3.5.4 索引的修改和刪除索引的修改和刪除 索引的修改和刪除 1修改索引 可以在表設(shè)計(jì)器中直接修改結(jié)構(gòu)化復(fù)合索引的 索引名、索引表達(dá)式、排序等。 2刪除索引 可以在表設(shè)計(jì)器中直接刪除結(jié)構(gòu)化復(fù)合索引; 或者可以
45、使用命令刪除索引,命令格式如下: DELETE TAG DELETE TAG OF OF Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 54頁(yè)頁(yè) 3.5.5 索引的使用索引的使用 索引的使用 1設(shè)置主控索引 結(jié)構(gòu)化復(fù)合索引文件中允許有多個(gè)索 引,但某一時(shí)刻,只能有一個(gè)索引可以 使用,稱該索引為主控索引。 設(shè)置為主控索引的方法: (1)打開(kāi)已建好索引的表,打開(kāi)“瀏 覽器”,從“表”菜單中選擇“屬性”, 打開(kāi)“工作區(qū)屬性”。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3
46、3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 55頁(yè)頁(yè) 3.5.5 索引的使用索引的使用 (2)在數(shù)據(jù)工作期中,選擇表,單擊“屬性” 按鈕,打開(kāi)“工作區(qū)屬性”。 (3)用命令設(shè)置主控索引 SET ORDER TO SET ORDER TO Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 56頁(yè)頁(yè) 3.5.5 索引的使用索引的使用 2.利用索引快速定位記錄 SEEK SEEK 查找主控索引表達(dá)式的值與SEEKSEEK命令指 定表達(dá)式的值相匹配的第一條記錄,若找到, 將指針指向該記錄,否則指向文件結(jié)
47、束位置。 注意:在使用SEEKSEEK命令前,必須建立相 應(yīng)的索引,索引表達(dá)式的值與SEEKSEEK表達(dá)式的 值必須是同類型且含義相同,并將該索引設(shè) 置為主控索引。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 57頁(yè)頁(yè) 3.5.5 索引的使用索引的使用 例3.173.17 查找STUDENTSTUDENT表“社會(huì)學(xué)”專業(yè) 的記錄 USE STUDENTUSE STUDENT INDEX ON INDEX ON 專業(yè)專業(yè) TAG ZYTAG ZY SEEK SEEK 社會(huì)學(xué)社會(huì)學(xué) Visual FoxP
48、ro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 58頁(yè)頁(yè) 3. 6 數(shù)據(jù)庫(kù)表的屬性設(shè)置數(shù)據(jù)庫(kù)表的屬性設(shè)置 數(shù)據(jù)庫(kù)表的屬性包括字段屬性和記 錄屬性。字段屬性包括字段的顯示屬性 和字段有效性規(guī)則;而記錄屬性包括記 錄的有效性規(guī)則和觸發(fā)器。 3.6.1 字段屬性的設(shè)置 3.6.2 記錄屬性的設(shè)置 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 59頁(yè)頁(yè) 3.6.1 字段屬性的設(shè)置字段屬性的設(shè)置 字段屬性 v 字段的顯示屬性 (1)格式:控制字段
49、在瀏覽器、表單、報(bào)表 等界面中顯示時(shí)的格式。 (2)輸入掩碼:控制向字段輸入數(shù)據(jù)的格式, 用于限制輸入數(shù)據(jù)的范圍,控制輸入的正 確性,輸入掩碼是按位來(lái)定制。 (3)標(biāo)題:瀏覽表時(shí)字段顯示的列標(biāo)題 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 60頁(yè)頁(yè) 3.6.1 字段屬性的設(shè)置字段屬性的設(shè)置 v 字段有效性規(guī)則 字段有效性規(guī)則,在插入或修改字段值時(shí) 進(jìn)行正確性檢查,它是Visual FoxProVisual FoxPro實(shí)現(xiàn)域 完整性的手段。 (1)規(guī)則:用于檢查輸入的字段數(shù)據(jù)的正確 性。 (2)信息:
50、當(dāng)在該字段輸入了不符合“規(guī)則” 的數(shù)據(jù)時(shí),顯示給用戶的提示信息,設(shè)置時(shí) 必須使用定界符。 (3)默認(rèn)值:用于指定字段的默認(rèn)值,提高 輸入速度。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 61頁(yè)頁(yè) 3.6.2 記錄屬性的設(shè)置記錄屬性的設(shè)置 記錄屬性 v 記錄有效性規(guī)則 記錄的有效性規(guī)則用于檢查同一記錄中不 同字段之間的邏輯關(guān)系。 (1)規(guī)則:用于檢查輸入的記錄數(shù)據(jù)是否符合 要求。 (2)信息:根據(jù)規(guī)則進(jìn)行檢查時(shí),若記錄的數(shù) 據(jù)不符合“規(guī)則”,顯示給用戶的提示信息。 Visual FoxPro 數(shù)據(jù)庫(kù)與
51、數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 62頁(yè)頁(yè) 3.6.2 記錄屬性的設(shè)置記錄屬性的設(shè)置 v 觸發(fā)器 觸發(fā)器有插入、刪除和更新觸發(fā)器 三種,用條件表達(dá)式、自定義函數(shù)或 存儲(chǔ)過(guò)程設(shè)定,如果某個(gè)觸發(fā)器條件 或函數(shù)(過(guò)程)返回值為假,則相應(yīng) 操作被拒絕。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 63頁(yè)頁(yè) 3.7 永久關(guān)系與參照完整性永久關(guān)系與參照完整性 數(shù)據(jù)庫(kù)表間的永久關(guān)系是體現(xiàn)多表間聯(lián) 系的一種方法,永久關(guān)系作為數(shù)據(jù)庫(kù)的 一部分被保存在數(shù)
52、據(jù)庫(kù)中。 參照完整性的作用:在增加、刪除和修 改一個(gè)表中的數(shù)據(jù)時(shí),通過(guò)參照相互關(guān) 聯(lián)的另一個(gè)表的數(shù)據(jù),來(lái)檢查對(duì)數(shù)據(jù)的 操作是否正確,它是關(guān)系完整性約束的 一個(gè)重要部分。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 64頁(yè)頁(yè) 3.7.1 永久關(guān)系的建立永久關(guān)系的建立 永久關(guān)系分為兩種類型: 一對(duì)一關(guān)系和一對(duì)多關(guān)系 在一對(duì)數(shù)據(jù)庫(kù)表之間建立永久關(guān)系時(shí),發(fā)起關(guān) 聯(lián)的表稱為父表(主表),被關(guān)聯(lián)的表稱為子 表。父表和子表要有一個(gè)共同屬性。 (1)一對(duì)一關(guān)系 父表和子表均按共同屬性建立主索引或候 選索引。 (2)一
53、對(duì)多關(guān)系 作為一方的父表按共同屬性建立主索引 或候選索引,而作為多方的子表則按共同屬 性建立普通索引。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 65頁(yè)頁(yè) 3.7.1 永久關(guān)系的建立永久關(guān)系的建立 例3.19 在“教學(xué)管理”數(shù)據(jù)庫(kù)中,為STUDENT 和GRADE表建立一對(duì)多的永久關(guān)系。步驟如下: 打開(kāi)“教學(xué)管理”數(shù)據(jù)庫(kù)。 首先確定STUDENTSTUDENT表為父表(一方)、GRADEGRADE表 為子表(多方)、共同的屬性為學(xué)號(hào)字段, 然后分別為STUDENTSTUDENT表和GRADEGRAD
54、E表按學(xué)號(hào)字段建 立主索引和普通索引。 在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,用鼠標(biāo)將STUDENTSTUDENT表的 “學(xué)號(hào)”索引拖動(dòng)到GRADEGRADE表的“學(xué)號(hào)”索引 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 66頁(yè)頁(yè) 3.7.1 永久關(guān)系的建立永久關(guān)系的建立 兩張表之間的連線即為永久關(guān)系 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 67頁(yè)頁(yè) 3.7.2 參照完整性的定義及操作參照完整性的定義及操作 由于參照完整性涉及
55、兩個(gè)相關(guān)的表,因此首先 需要建立兩表間的永久關(guān)系。 在建立參照完整性之前必須首先清理數(shù)據(jù)庫(kù)即 物理刪除數(shù)據(jù)庫(kù)各個(gè)表中所有帶刪除標(biāo)記的記 錄。 用鼠標(biāo)右鍵單擊永久關(guān)系,從快捷菜單中選擇 “編輯參照完整性“ 參照完整性規(guī)則包括更新規(guī)則、刪除規(guī)則和插 入規(guī)則。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 68頁(yè)頁(yè) 3.8 工作區(qū)與多表操作工作區(qū)與多表操作 1工作區(qū) v 工作區(qū)是內(nèi)存中的獨(dú)立存儲(chǔ)區(qū)域,在一個(gè)工 作區(qū)中只能打開(kāi)一張表,要打開(kāi)多張表,就 必須使用多個(gè)工作區(qū),Visual FoxPro系 統(tǒng)設(shè)置了32767個(gè)工作區(qū)。 v 為了區(qū)別不同的工作區(qū),系統(tǒng)規(guī)定了三種識(shí) 別工作區(qū)的方法: (1)區(qū)號(hào):用數(shù)字132767表示; (2)區(qū)名:對(duì)于前10區(qū),分別用字母AJ 表示; (3)別名:用在工作區(qū)中打開(kāi)的表的別名, 若無(wú)別名,系統(tǒng)以表名為別名。 Visual FoxPro 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)與 程序設(shè)計(jì)程序設(shè)計(jì) 教程教程 第第3 3章章 數(shù)據(jù)庫(kù)和表的基本操作數(shù)據(jù)庫(kù)和表的基本操作 第第 69頁(yè)頁(yè) 3.8 工作區(qū)與多表操作工作區(qū)與多表操作 2當(dāng)前工作區(qū) v 系統(tǒng)允許使用多個(gè)工作區(qū)打開(kāi)多張表,但 在某一時(shí)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安徽省安全員《A證》考試題庫(kù)及答案
- 2025年陜西省安全員-A證考試題庫(kù)附答案
- DB45T-木材加工企業(yè)安全規(guī)范編制說(shuō)明
- 學(xué)前教育管理學(xué) 課件
- 單位管理制度展示匯編人員管理
- 半導(dǎo)體行業(yè)分析:AI需求推動(dòng)運(yùn)力持續(xù)增長(zhǎng)互聯(lián)方案重要性顯著提升
- 2022年河北省張家口市第二十中學(xué)中考模擬英語(yǔ)試題(原卷版)
- 《本胃癌腹腔鏡》課件
- 2025年中國(guó)糖果市場(chǎng)深度評(píng)估及投資方向研究報(bào)告
- 電影投資行業(yè)競(jìng)爭(zhēng)格局及投資價(jià)值分析報(bào)告
- 中小學(xué)心理健康教育課程設(shè)計(jì)與實(shí)踐智慧樹(shù)知到答案2024年浙江師范大學(xué)
- 30萬(wàn)噸合成氨50萬(wàn)噸尿素裝置拆除項(xiàng)目施工組織設(shè)計(jì)
- 動(dòng)物遺傳學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年西南大學(xué)
- 2024年7月國(guó)家開(kāi)放大學(xué)??啤缎姓M織學(xué)》期末紙質(zhì)考試試題及答案
- 城市生命線安全…監(jiān)測(cè)預(yù)警指揮平臺(tái)建設(shè)方案
- 六年級(jí)數(shù)學(xué)《圓柱的體積》教案(一等獎(jiǎng))
- 呼吸科醫(yī)院感染危險(xiǎn)因素評(píng)估
- 2024CSCO惡性腫瘤患者營(yíng)養(yǎng)治療指南解讀
- 常見(jiàn)化學(xué)專業(yè)詞匯英文翻譯
- 內(nèi)科護(hù)理學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年荊門職業(yè)學(xué)院
- 趣味可拓學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年廣東工業(yè)大學(xué)
評(píng)論
0/150
提交評(píng)論