圖書簡介:
本書是作者結合長期的數據庫課程教學實踐編寫的國家計算機等級考試教材。全書以國家二級Visual FoxPro考試大綱為基本要求,既吸取了多部Visual FoxPro教材的優點,又具有自身獨特的風格。
在編寫過程中,注重降低理論難度,增強實踐環節,采用以案例帶動理論教學的創新寫作模式,以一個“教學管理系統”開發案例貫穿全書。
為與本書配合,作者同步編寫了其姊妹篇《中文Visual FoxPro應用系統開發實訓指導(第3版)》,后者提供了配套光盤,內含豐富的教學資源。這三者密切配合、互相支撐,形成了立體化的教材體系。
本書貫徹“精講多練”的教學原則,突出重點、強化實訓,大力引進本課程的最新改革成果。在教學環節增強了師生互動,采用無紙化作業管理系統和網絡考試平臺,與國家等級考試做到無縫接軌。
簡明教程+上機實訓+多媒體課件+無紙化作業系統+國家等級考試模擬練習+網絡考試平臺,構成了本教材的新特征。
本書可作為普通高等學校和中等學校Visual FoxPro國家等級考試教學用書,也可作為成人教育和培訓班相關課程的教材,并可供計算機技術人員自學和參考。
前 言
中文Visual FoxPro關系數據庫系統是新一代小型數據庫管理系統的杰出代表,也是國家計算機等級考試課程。它提供了集成化的系統開發環境,并擁有功能強大的可視化程序設計工具,全面支持面向對象的編程技術,是中小企業收集數據、查詢信息、創建集成數據庫應用系統的較為理想的工具軟件。
但是,要熟練掌握Visual FoxPro的開發環境和編程方法,達到國家等級考試大綱的要求,必須經過系統的理論學習和上機操作實訓。為此,作者結合長期教學和使用Visual FoxPro 6.0開發數據庫應用系統的實踐經驗,編寫了本教程的前身《中文Visual FoxPro應用系統開發教程》(第1版和第2版)及其姊妹篇《中文Visual FoxPro應用系統開發上機實驗指導》(第1版和第2版),取得了較好的教學效果。您現在手拿的這本簡明教程,是在應用上述教程的教學實踐和深入進行網絡化、無紙化和自動化教學改革的基礎上編著的全新版本。
本教程以國家二級Visual FoxPro考試大綱為基本要求,保持了原版教材的風格和成功經驗,又吸取了許多最新的教學改革成果。概括地說,本教材的特點主要表現在以下幾個方面。
(1) 在教程編寫中,注重優選教學素材、合理安排進度、增強實踐環節,突出能力培養。用案例帶動理論教學,以一個“教學管理系統”開發案例貫穿全書,形成了創新的寫作模式。
(2) 與本書配合,同步編寫了其姊妹篇《中文Visual FoxPro應用系統開發實訓指導(第3版)》,配教學光盤,三者密切配合、相互支撐,形成了立體化的教材體系。
上機實訓與本教程緊密配合,將“教學管理系統”的開發過程分成相關聯的18個實訓環節。同時,還增加了針對國家等級考試的相關練習、基于局域網和校園網的無紙化作業系統以及無紙化考試系統的訓練,使教學更有針對性和實效性。
配套光盤主要提供電子教案、講課及上機實驗必要的數據環境,以及習題參考答案,還提供了無紙化作業系統(單機版)和無紙化考試模擬系統軟件資源。
(3) 繼續沿用原版教材的編寫風格,采用“講”的編排結構,遵循國家等級考試大綱中列出的知識點,結合結構化系統開發思想和面向對象程序設計方法,將教材分為18講,每講均圍繞一個相對集中的主題。其中貫穿著“教學管理系統”教學案例的整個開發過程。每一講都與上機實訓教材的一組練習題目相對應,真正做到理論聯系實際。
(4) 在本教程的編寫中,貫徹“精講多練”的原則,整個教程的篇幅由原來的20講精簡壓縮為18講。同時,為適應現在多媒體教學的新特點,在教程中增加了兩個師生互動的環節:第一個環節是在每講的最前面,增加了“溫故而知新”一節,上課伊始就讓學生回答問題,或完成一些實際操作,使學生快速進入學習狀態;第二個環節是在講課過程中增加了一些“學生練習環節”,讓學生到講臺進行一些剛學習過的操作,以調動學生的積極性,同時活躍課堂氣氛。
(5) 為適應不同層次讀者和不同學時的教學需要,本教程還對某些內容標注了“*”符號,帶“*”符號的內容為選學。教師和讀者也可根據需要自行選定所需的內容。
(6) 為破解傳統紙質作業布置、收取和批改存在的“形式單一、抄襲容易、批改費時、效果甚微”的尷尬局面,我們組織研制開發了《基于局域網和校園網的VF無紙化自動評分作業管理系統》。這個系統分階段用無紙化作業形式測試學生對VF基礎知識特別是操作能力的掌握情況。每次作業的內容與本階段學習的內容相同,知識性題目約為30%,操作性題目為70%。這種作業是開放性的,學生可以討論、查看教材、請教老師。但是每個學生的作業題目是系統隨機抽取的,不會完全相同。這樣就徹底改變了紙質作業題目相同、容易互相抄襲的弊端,鼓勵每個學生獨立思考、動手操作。實踐證明,無紙化作業具有傳統作業模式無法比擬的優越性,可以大大激發學生上機實踐的積極性,促進實踐性教學效果的提高。
(7) 遵循“應用課程需要以應用的手段進行考核”的教學原則,大力推進考試方法改革,我們組織研制開發了“基于局域網的VF無紙化自動評分考試系統”,應用于教學過程,取得了很好的效果。其中考試系統獲得全國多媒體教學軟件大賽河南省一等獎。
無紙化作業和網絡考試,有利于減少教師批改作業和試卷的負擔,教師可專心搞好教學;有利于扭轉以“傳授知識”為主的傳統教學觀念,引導教師和學生把教學的重點放到“應用能力”培養上;有利于改進教風和學風,激發教和學兩個方面的積極性;有利于與國家計算機等級考試接軌,提高等級考試通過率;有利于減少作業和考試紙張的消耗,符合建設資源節約型社會的要求。
(8) 破除“講課為主,上機為輔”的傳統教學觀念和“上課老師講,上機學生練”的傳統教學方法。兩個課堂都采用“精講多練”、“教師為主導,學生為主體”的教學原則,提高課時利用率。建議學時安排為2:2:2,即每周2學時課堂教學、2學時上機實訓,2學時課余自學。
開發教程+上機實訓+多媒體課件+無紙化作業系統+國家等級考試模擬練習+網絡考試平臺,構成了本教材的新特征。
新版教程由楊紹增擔任主編,陳道賀擔任副主編,多名教師通力合作完成。趙卓編寫第2~6講,王芳編寫第7~10講,周飛菲編寫第11~14講,李建芳編寫第15~18講;楊紹增編寫第1講,進行無紙化作業系統、無紙化考試系統的開發組織,并完成全書的統稿工作,以及負責整套教材的方案策劃、組織,包括全書的統稿、修改和定稿。
主編對未能參加新版編寫的原版作者對本書做出的重要貢獻表示由衷的敬意。
本教程參考了多部優秀Visual FoxPro教程和專著,從中獲得了許多有益的知識和寫作靈感,在此一并表示感謝。
感謝清華大學(母校)出版社的大力支持和悉心指導。鑒于編者水平有限,謬誤之處在所難免,懇請讀者不吝指正。
目 錄
第1講 數據庫基礎知識 1
1.1 數據庫的產生與發展 1
1.1.1 手工管理階段 1
1.1.2 文件管理階段 1
1.1.3 數據庫管理階段 2
1.2 數據庫系統 3
1.2.1 數據庫的幾個重要概念 3
1.2.2 數據庫系統的特點 3
1.3 實體及其相互聯系 4
1.3.1 實體的描述 5
1.3.2 實體間的聯系及聯系的種類 5
1.4 數據模型 5
1.4.1 層次模型 5
1.4.2 網狀模型 6
1.4.3 關系模型 6
1.5 關系術語及關系運算 7
1.5.1 關系術語 7
1.5.2 關系的特點 8
1.5.3 實際關系模型 8
1.5.4 關系運算 9
1.6 本書的一些約定 10
1.6.1 關于Visual FoxPro 6.0中文版 10
1.6.2 關于漢字和標點符號使用的說明 10
1.7 習題 11
第2講 Visual FoxPro關系數據庫入門 13
2.1 溫故而知新 13
2.2 Visual FoxPro系統概述 13
2.2.1 歷史沿革 13
2.2.2 Visual FoxPro的主要特點 14
2.3 Visual FoxPro的主要文件類型 及創建工具 15
2.3.1 主要文件類型 15
2.3.2 向導、設計器和生成器簡介 17
2.4 Visual FoxPro的數據類型 18
2.5 Visual FoxPro應用系統開發的基本步驟 19
2.6 Visual FoxPro數據庫設計 20
2.6.1 數據庫設計的原則 20
2.6.2 數據庫設計的步驟 21
2.6.3 “教學管理系統”數據庫設計案例 22
2.7 習題 25
第3講 常量、變量和表達式 26
3.1 溫故而知新 26
3.2 常量 26
3.2.1 數值型常量 26
3.2.2 字符型常量 26
3.2.3 日期型常量 27
3.2.4 日期時間型常量 28
3.2.5 邏輯型常量 28
3.3 變量 29
3.3.1 字段變量 29
3.3.2 內存變量 29
3.3.3 數組 31
3.4 表達式 32
3.4.1 運算符 32
3.4.2 運算符的優先級別 37
3.4.3 表達式的值及表達式的類型 37
3.5 習題 38
第4講 常用函數 39
4.1 溫故而知新 39
4.2 數值函數 39
4.3 字符函數 42
4.4 日期和時間函數 44
4.5 數據類型轉換函數 45
4.6 測試函數 47
4.7 習題 48
第5講 數據庫的基本操作(1) 50
5.1 溫故而知新 50
5.2 使用瀏覽器對表的記錄進行操作 50
5.2.1 瀏覽器的打開方法 50
5.2.2 瀏覽器的操作 51
5.2.3 用命令方式打開瀏覽器 54
5.3 表的記錄指針與指針移動命令 55
5.3.1 絕對移動命令 55
5.3.2 相對移動命令 56
5.3.3 文件開始和結尾標志 57
5.4 增加記錄的命令 58
5.4.1 APPEND命令 58
5.4.2 SQL的INSERT命令 59
5.5 刪除與恢復記錄的命令 60
5.5.1 添加刪除標記命令 60
5.5.2 取消刪除標記命令 61
5.5.3 物理刪除帶有刪除標記記錄的命令 62
5.5.4 物理刪除所有記錄的命令 62
5.6 工作區的選擇與表的關閉 62
5.6.1 工作區的概念與使用 62
5.6.2 關閉表的命令 64
5.7 習題 64
第6講 數據庫的基本操作(2) 66
6.1 溫故而知新 66
6.2 字段數據的替換和更新 66
6.2.1 替換命令(REPLACE) 66
6.2.2 更新命令(SQL的UPDATE) 67
6.3 表結構的修改 67
6.3.1 在數據庫設計器中修改表結構 67
6.3.2 MODIFY STRUCTURE命令 68
6.3.3 SQL的ALTER TABLE命令 68
6.4 索引的建立與使用 69
6.4.1 索引的種類 70
6.4.2 索引的四要素 70
6.4.3 索引的創建和修改 71
6.4.4 使用索引文件 73
6.5 記錄的查找與顯示 74
6.5.1 屏幕顯示命令DISPLAY 74
6.5.2 順序查找命令 76
6.5.3 索引查找命令 76
*6.6 表的復制、導入和導出 77
6.6.1 表的復制 77
6.6.2 表的導入 78
6.6.3 表的導出 80
6.7 已學習過的VF命令與SQL命令對比 80
6.8 習題 81
第7講 數據庫的基本操作(3) 84
7.1 溫故而知新 84
7.2 表的關聯 84
7.2.1 關聯的概念 84
7.2.2 在數據庫中建立永久關聯 85
7.3 數據的完整性 86
7.3.1 實體完整性 86
7.3.2 域完整性 86
7.3.3 參照完整性 87
7.4 用向導創建表單 89
7.4.1 表單(Form)的概念 89
7.4.2 用向導創建單表表單 89
7.4.3 用向導創建一對多表單 92
7.4.4 表單的運行 94
7.5 習題 95
第8講 視圖與查詢 96
8.1 溫故而知新 96
8.2 視圖 96
8.2.1 視圖的概念 96
8.2.2 用視圖向導建立本地視圖 97
8.2.3 用視圖設計器建立本地視圖 100
*8.2.4 設置更新條件 103
8.2.5 使用視圖 104
8.3 查詢 105
8.3.1 使用查詢向導創建交叉表查詢 105
8.3.2 在查詢設計器中選擇查詢去向 107
8.3.3 運行查詢 110
8.4 對視圖和查詢的進一步討論 110
8.4.1 視圖與表的關系 110
8.4.2 視圖與查詢的關系 111
8.4.3 視圖與查詢的本質 111
8.5 習題 111
第9講 結構化查詢語言——SQL(1) 113
9.1 溫故而知新 113
9.2 SQL概述 113
9.2.1 SQL語言發展簡史 113
9.2.2 SQL語言的特點 114
9.3 SQL查詢語句的基本結構 114
9.4 簡單查詢 114
9.4.1 查詢指定列 114
9.4.2 查詢經過計算的列 115
9.4.3 去掉重復值 116
9.4.4 條件查詢 116
9.4.5 對查詢結果進行排序 118
9.4.6 使用庫函數 118
9.4.7 分組查詢 119
9.5 查詢結果的去向 120
9.5.1 屏幕顯示選擇 120
9.5.2 將查詢結果存入臨時文件中 121
9.5.3 將查詢結果存入表中 121
9.5.4 將查詢語句保存到文本文件中 122
9.6 習題 122
第10講 結構化查詢語言——SQL(2) 124
10.1 溫故而知新 124
10.2 連接查詢 124
10.2.1 等值連接查詢 124
10.2.2 超連接查詢 125
10.2.3 多表連接 127
10.3 嵌套查詢 128
10.3.1 帶有謂詞IN的子查詢 128
10.3.2 帶有比較運算符的子查詢 129
10.3.3 帶有ANY、SOME或ALL 謂詞的子查詢 130
10.3.4 帶有EXISTS謂詞的子查詢 131
*10.3.5 內外層互相關嵌套查詢 132
10.4 集合查詢 132
*10.5 視圖的定義 133
10.6 習題 134
第11講 報表與標簽 135
11.1 溫故而知新 135
11.2 概述 135
11.2.1 設計步驟 135
11.2.2 選擇報表布局類型 136
11.2.3 打印機設置 136
11.3 使用報表向導創建報表 136
11.3.1 報表向導 136
11.3.2 報表向導應用實例 137
11.4 用報表設計器創建和修改報表 140
11.4.1 報表設計器的基本組成 140
11.4.2 報表的數據環境 141
11.4.3 報表的控件和控件工具欄 141
11.4.4 報表的布局工具欄 142
11.4.5 在報表設計器中修改報表布局 142
11.4.6 在報表設計器中設計快速報表 144
11.5 分組報表設計 145
11.5.1 用向導做初步設計 145
11.5.2 用設計器修改完善 146
11.6 創建標簽 147
11.6.1 標簽的設計方法 147
11.6.2 標簽的設計步驟 147
11.7 報表和標簽的運行 149
11.7.1 菜單方式 149
11.7.2 命令方式 150
11.8 習題 151
第12講 程序設計基礎(1) 152
12.1 溫故而知新 152
12.2 程序設計預備知識 152
12.2.1 程序的概念 152
12.2.2 程序中常用的幾條命令 152
12.2.3 用戶自定義對話框函數 155
12.3 程序的建立、運行與調試 157
12.3.1 程序的建立和修改 157
12.3.2 程序的運行 158
12.3.3 程序的調試 159
12.4 結構化程序設計 160
12.5 順序結構 160
12.6 分支結構 161
12.6.1 條件語句(IF-ENDIF) 161
12.6.2 多分支語句(DO CASE) 163
12.7 循環結構 164
12.7.1 條件循環(DO WHILE) 164
12.7.2 循環輔助語句 166
12.8 習題 166
第13講 程序設計基礎(2) 169
13.1 溫故而知新 169
13.2 循環結構(續) 169
13.2.1 步長循環(FOR-ENDFOR) 169
13.2.2 掃描循環(SCAN-ENDSCAN) 170
13.2.3 多重循環 171
13.3 多模塊程序 172
13.3.1 子程序 172
*13.3.2 過程 174
13.3.3 變量的作用域 175
13.3.4 使用命令修改、調試運行程序 176
13.4 從結構化到面向對象的程序設計 176
13.4.1 什么是面向對象的程序 177
13.4.2 對象(Object)和類(Class) 177
13.4.3 子類與繼承 177
13.4.4 Visual FoxPro中的基類 178
13.4.5 容器和控件 178
13.4.6 對象的三要素 179
13.4.7 結構化程序設計與面向 對象程序設計的關系 180
*13.5 程序調試器 180
13.5.1 調用調試器的方法 180
13.5.2 調試器環境 180
13.5.3 設置斷點 181
13.5.4 調試菜單 182
13.6 習題 183
第14講 系統主程序與菜單設計 185
14.1 溫故而知新 185
14.2 “教學管理系統”功能分析與設計 185
14.2.1 系統開發目標 185
14.2.2 系統功能設計 185
14.2.3 為“葉子”功能指定調用程序 188
14.3 系統整體結構描述 189
14.4 系統主程序設計 190
14.4.1 主程序的概念 190
14.4.2 主程序的主要內容 190
14.4.3 主程序示例 190
14.4.4 主程序中的“事件驅動機制” 191
14.5 菜單設計 191
14.5.1 系統菜單與用戶菜單 191
14.5.2 菜單設計的基本過程 192
14.5.3 菜單設計舉例 193
14.5.4 運行菜單的命令 198
14.6 將主程序與菜單連接運行 199
14.7 習題 199
第15講 表單設計(1) 201
15.1 溫故而知新 201
15.2 表單設計器概述 201
15.2.1 表單設計器的打開 201
15.2.2 表單設計器環境 202
15.2.3 表單的創建步驟 203
15.3 對象的屬性、方法和事件 204
15.3.1 常用屬性 204
15.3.2 常用方法 206
15.3.3 常用事件 207
15.3.4 對象的引用 208
15.4 標簽、形狀、線條控件及其應用 209
15.4.1 標簽(Label) 209
15.4.2 形狀(Shape) 209
15.4.3 線條(Line) 209
15.4.4 控件的操作與布局 209
15.4.5 應用案例 210
15.5 文本框、命令按鈕控件及應用 211
15.5.1 文本框(TextBox) 211
15.5.2 命令按鈕(Command Button) 212
15.5.3 應用案例 212
15.5.4 主程序、菜單與表單連接調試 215
15.6 習題 215
第16講 表單設計(2) 217
16.1 溫故而知新 217
16.2 表格控件及應用 217
16.2.1 表格(Grid) 217
16.2.2 表格應用舉例 219
16.3 列表框、組合框控件及應用 221
16.3.1 列表框(ListBox) 221
16.3.2 組合框(ComboBox) 223
16.3.3 應用案例 223
16.4 容器、計時器控件及其應用 226
16.4.1 容器(Container) 226
16.4.2 計時器(Timer) 226
16.4.3 容器、計時器控件應用案例 226
16.5 習題 227
第17講 表單設計(3) 229
17.1 溫故而知新 229
17.2 復選框、選項組、微調控件及應用 229
17.2.1 復選框(CheckBox) 229
17.2.2 選項組(OptionGroup) 231
17.2.3 微調控件(Spinner) 232
17.2.4 應用案例 232
17.3 命令按鈕組和頁框控件 234
17.3.1 命令按鈕組
(CommandGroup) 234
17.3.2 頁框(PageFrame)控件 236
17.4 用“另存為”的方法設計表單 237
17.5 習題 238
第18講 應用程序的連編與發布 240
18.1 溫故而知新 240
18.2 系統調試與連編 240
18.2.1 教學案例開發工作總結 240
18.2.2 系統調試 241
18.2.3 設置主文件 241
18.2.4 設置項目信息 241
18.2.5 設置文件的“排除”與“包含” 242
18.2.6 連編 242
18.2.7 可執行文件與源程序的
關系 244
18.2.8 運行可執行文件 244
18.3 為應用程序制作安裝盤 245
18.3.1 制作應用程序發布目錄 245
18.3.2 用向導創建發布盤 245
18.3.3 用安裝程序進行安裝 249
18.3.4 用其他工具制作安裝盤 250
18.4 期末VF無紙化考試 250
18.4.1 期末考試題目類型與分數 251
18.4.2 期末考試注意事項 251
18.5 VF無紙化考試模擬系統 251
18.5.1 VF無紙化考試模擬系統的 登錄 251
18.5.2 VF無紙化考試模擬系統的
答題窗口 252
18.5.3 查看模擬考試評分結果 253
18.6 習題 254
附錄 國家二級Visual FoxPro考試大綱 255
參考文獻 258