資料庫原理與應用

第3版

《資料庫原理與應用(第3版)》是2013年出版的圖書,作者是趙傑楊麗麗陳雷,本書全面、系統地介紹了資料庫系統的基本概念、數學模型和關係理論。

內容提要


本書是在第2版的基礎上,根據教育部計算機等級考試Access科目考試大綱要求,補充了應用部分的內容,修訂了相應的習題,同時完善了教學案例,使其更加符合教學要求。通過可視化的實際操作,講解了資料庫的建立、查詢及標準SQL查詢語言,通過“課堂教學質量評價”這一廣大師生熟悉和關心的功能需求入手,實現了複雜資料庫的設計、建立、查詢和報表輸出。
本書注重理論和實踐的統一。每一章節列舉了大量的實例,各章後面都附有習題,主要包括選擇題、填空題、判斷對錯題、簡答題、應用題和綜合題等,從各種不同的側面進一步幫助讀者了解和掌握知識點。
本書可作為大學計算機及相關專業的本、專科教材,也可供從事軟體開發工作的科技工作者和信息管理人員參考,同時適合備考計算機等級考試Access科目的考生參考。

目錄


第1章 資料庫系統概述 1
1.1 引言 1
1.1.1 資料庫是計算機技術發展的產物 1
1.1.2 資料庫是計算機應用的基礎 1
1.1.3 Access資料庫是中小型資料庫的最佳選擇 1
1.1.4 Access資料庫系統是企業級開發工具 2
1.2 資料庫技術的發展 2
1.2.1 資料庫發展階段的劃分 2
1.2.2 人工管理階段 2
1.2.3 文件系統階段 3
1.2.4 資料庫系統階段 3
1.2.5 高級資料庫階段 6
1.2.6 資料庫應用的體系結構 9
1.3 數據模型 9
1.3.1 數據模型 10
1.3.2 概念模型 10
1.3.3 概念模型的表示方法——實體聯繫模型 11
1.3.4 幾種常見的邏輯模型 14
1.4 資料庫系統結構 17
1.4.1 資料庫系統的三級模式結構 17
1.4.2 資料庫系統的組成 18
1.5 資料庫管理系統的功能及工作過程 19
1.5.1 資料庫管理系統的主要功能 19
1.5.2 資料庫系統的工作過程 20
1.5.3 資料庫系統的不同視圖 21
1.6 小結 22
習題 22
第2章 關係資料庫數學模型 27
2.1 關係模型的基本概念 27
2.1.1 關係的數學定義 27
2.1.2 關係模型 29
2.2 EER模型到關係模型的轉換 30
2.2.1 實體類型的轉換 30
2.2.2 二元關係的轉換 31
2.2.3 實體內部之間聯繫的轉換 32
2.2.4 三元關係的轉換 33
2.2.5 子類型的轉換 33
2.3 關係代數 34
2.3.1 基於傳統集合理論的關係運算 34
2.3.2 專門的關係運算 35
2.4 關係演算 39
2.4.1 元組關係演算 40
2.4.2 域關係演算 42
2.5 小結 43
習題 43
第3章 關係資料庫設計理論 51
3.1 問題的提出 51
3.2 函數依賴 52
3.2.1 數據依賴 52
3.2.2 函數依賴 52
3.2.3 函數依賴的邏輯蘊涵 53
3.2.4 鍵 53
3.3 關係模式的規範化 54
3.3.1 第一範式(1NF) 55
3.3.2 第二範式(2NF) 56
3.3.3 第三範式(3NF) 57
3.3.4 BCNF範式 57
3.3.5 多值函數依賴 58
3.3.6 第四範式(4NF) 61
3.4 函數依賴的公理系統 62
3.4.1 Armstrong公理 62
3.4.2 公理的正確性 62
3.4.3 公理的推論 63
3.5 模式分解 63
3.5.1 無損連接 63
3.5.2 保持函數依賴的分解 65
3.5.3 3NF無損連接和保持函數依賴的分解演演算法 66
3.6 閉包及其計算* 66
3.7 函數依賴集的等價和覆蓋* 68
3.8 公理的完備性* 70
3.9 小結 71
習題 71
第4章 Access資料庫設計 75
4.1 資料庫設計的總體思路 75
4.2 建立資料庫 76
4.3 數據表的建立 78
4.4 使用數據表嚮導創建表 78
4.5 通過輸入數據建立新表 80
4.6 使用表的“設計”視圖 81
4.6.1 數據表設計窗體 83
4.6.2 數據表窗體中的工具欄 83
4.6.3 建立和命名欄位 83
4.6.4 指定欄位的數據類型 83
4.6.5 欄位說明 85
4.6.6 欄位屬性的設置 85
4.6.7 定義主關鍵字 85
4.6.8 為需要的欄位建立索引 86
4.7 更改數據表的結構 86
4.7.1 移動欄位的位置 86
4.7.2 添加新欄位 87
4.7.3 刪除欄位 87
4.7.4 更改欄位名稱 87
4.7.5 更改欄位大小 87
4.7.6 更改欄位的數據類型 88
4.8 保存完成的數據表 89
4.9 數據表關聯 89
4.9.1 如何定義表間的關係 89
4.9.2 編輯已有的關係 91
4.9.3 刪除關係 91
4.9.4 查看已有的關係 91
4.9.5 設置參照完整性 92
4.9.6 聯繫類型 92
4.10 小結 92
上機題 93
習題 94
第5章 數據查詢 104
5.1 認識查詢 104
5.1.1 查詢的目的 104
5.1.2 查詢的種類 104
5.1.3 查詢準則 105
5.2 創建選擇查詢 106
5.3 創建交叉表查詢 108
5.4 創建參數查詢 110
5.5 創建動作查詢 112
5.5.1 生成表查詢 112
5.5.2 刪除查詢 113
5.5.3 追加查詢 114
5.5.4 更新查詢 115
5.6 保存查詢 117
5.7 小結 117
上機題 117
習題 118
第6章 使用高級查詢——SQL語言 123
6.1 SQL的數據定義 123
6.1.1 基表 123
6.1.2 索引 124
6.2 SQL的數據操縱 125
6.2.1 查詢 125
6.2.2 插入 130
6.2.3 刪除 131
6.2.4 更新 131
6.3 視圖 132
6.3.1 視圖的建立和撤銷 132
6.3.2 視圖的操作 133
6.3.3 視圖的優點 133
6.4 小結 134
上機題 134
習題 135
第7章 窗體設計 141
7.1 認識數據輸入的窗體 141
7.1.1 窗體的結構 141
7.1.2 窗體的種類 142
7.2 窗體的用途 143
7.3 建立窗體 143
7.4 窗體窗口介紹 144
7.4.1 窗體的工具欄 144
7.4.2 窗體彈出式菜單 144
7.4.3 “設計視圖”窗體中的工具箱 145
7.5 窗體屬性、控制項屬性及節的屬性 146
7.6 將圖片或其他OLE對象添加到窗體中 147
7.7 定製窗體的外觀 147
7.7.1 文本 147
7.7.2 設置窗體屬性 147
7.7.3 在窗體中添加當前日期和時間 148
7.7.4 設置控制項屬性 148
7.8 使用計算性表達式 149
7.9 在窗體中使用宏 150
7.10 設置值 150
7.10.1 改變當前的控制項焦點、頁號和記錄號 151
7.10.2 查找記錄 151
7.10.3 顯示提示信息 151
7.10.4 列印窗體 151
7.10.5 利用宏來引入和導出數據 151
7.10.6 設計菜單 152
7.11 創建與使用主/子窗體 152
7.11.1 同時創建主窗體和子窗體 153
7.11.2 創建子窗體並將其添加到已有的窗體中 154
7.12 小結 156
上機題 156
習題 157
第8章 建立和列印報表 162
8.1 認識報表的用途 162
8.2 報表的結構組成 162
8.3 報表設計區 163
8.3.1 報表頁眉 163
8.3.2 頁面頁眉 164
8.3.3 群組頁眉 164
8.3.4 主體 164
8.3.5 群組頁腳 165
8.4 報表的分類 165
8.4.1 群組/合計報表 165
8.4.2 縱欄式報表 166
8.4.3 郵件標籤 166
8.5 認識報表窗體 166
8.5.1 預覽窗體中的工具欄 167
8.5.2 報表設計窗體中工具欄和工具箱 167
8.6 設計報表 167
8.6.1 用預定義格式來設置報表的格式 167
8.6.2 添加分頁符和頁碼 168
8.6.3 在報表上使用節 169
8.6.4 在報表上繪製線條 169
8.6.5 在報表上繪製矩形 170
8.7 製作圖表 170
8.8 創建子報表 171
8.8.1 子報表的定義和作用 171
8.8.2 在已有報表中創建子報表 172
8.8.3 將某個已有報表添加到其他已有報表來創建子報表 173
8.8.4 鏈接主報表和子報表 173
8.8.5 更改子報表的布局 174
8.9 創建多列報表 174
8.10 設計複雜的報表 175
8.10.1 報表屬性 175
8.10.2 節屬性 176
8.10.3 使用選項組顯示選項 176
8.10.4 給報表添加分頁符 176
8.11 列印預覽報表 177
8.12 小結 177
上機題 177
習題 177
第9章 Web頁 180
9.1 概述 180
9.2 使用嚮導創建數據訪問頁 180
9.3 使用設計器創建和修改數據訪問頁 183
9.3.1 使用設計器創建數據訪問頁 183
9.3.2 使用“設計”視圖修改數據訪問頁 186
9.4 小結 187
上機題 187
習題 187
第10章 宏操作 189
10.1 宏的概念 189
10.2 宏的分類 190
10.3 宏窗體中的工具欄 191
10.4 宏動作 192
10.5 創建宏 193
10.6 在宏中設置操作參數的提示 194
10.7 創建宏組 195
10.8 宏的條件表達式 195
10.9 執行宏 196
10.10 調試宏 196
10.11 宏的觸發 198
10.12 小結 198
上機題 198
習題 200
第11章 面向對象程序設計語言——VBA 202
11.1 VBA概述 202
11.1.1 為什麼要使用VBA 202
11.1.2 VBA簡介 202
11.1.3 VBA與xBase、PALVisual Basic的比較 202
11.1.4 如何使用Visual Basic程序代碼 203
11.2 模塊的定義和使用 203
11.2.1 模塊的概念 203
11.2.2 模塊的定義和使用 206
11.3 VBA程序設計概念和書寫原則 207
11.3.1 集合和對象 207
11.3.2 屬性和方法 207
11.3.3 事件和事件過程 208
11.3.4 程序語句書寫原則 208
11.4 Visual Basic的數據類型與資料庫對象 208
11.5 變數 210
11.5.1 隱含型變數 210
11.5.2 顯式的變數 210
11.5.3 變數的作用域與生命周期 210
11.5.4 用戶定義的數據類型 211
11.5.5 Visual Basic數組 211
11.6 將資料庫對象命名為VBA程序代碼中的變數 212
11.7 變數命名的法則 213
11.8 符號常量 213
11.9 Access系統定義的常量 214
11.10 Access固有常量 214
11.11 Access常用標準函數 214
11.11.1 算術函數 214
11.11.2 字元串函數 215
11.11.3 日期/時間函數 216
11.11.4 類型轉換函數 219
11.12 運算符和表達式 219
11.12.1 運算符 219
11.12.2 表達式和優先順序 220
11.13 程序控制流程 221
11.13.1 以GoTo轉移程序控制 221
11.13.2 條件語句 221
11.13.3 循環 223
11.14 處理執行時的錯誤 225
11.15 VBA的基本操作 226
11.15.1 打開和關閉窗體和報表對象 226
11.15.2 信息輸入和消息輸出 228
11.15.3 數據驗證 230
11.15.4 計時事件Timer和動畫處理 230
11.15.5 滑鼠和鍵盤事件處理 231
11.15.6 文件操作 232
11.16 簡單資料庫編程 238
11.16.1 資料庫編程技術簡介 238
11.16.2 資料庫編程技術分析 240
11.16.3 Docmd.RunSQL方法運用 248
11.17 小結 250
上機題 250
習題 251
第12章 複雜資料庫設計 261
12.1 資料庫設計概述 261
12.1.1 資料庫設計的內容和要求 261
12.1.2 資料庫設計過程 263
12.2 需求分析 265
12.2.1 確認用戶需求,確定設計 範圍 265
12.2.2 收集和分析需求數據 265
12.2.3 需求說明書 266
12.3 概念設計 266
12.3.1 設計局部概念模式 267
12.3.2 設計全局概念模式 268
12.4 邏輯設計 270
12.5 物理設計 271
12.6 資料庫的建立和維護 272
12.6.1 建立資料庫 272
12.6.2 資料庫的重組織和重構造 272
12.7 小結 273
習題 274