數據庫原理與應用是計算機專業基礎課程,包括兩部分內容:第一部分是數據庫原理,主要介紹數據模型、關系數據模型、關系運算、SQL、數據規范化以及數據庫設計;第二部分講解數據庫SQLServer2012的使用,包括數據庫的創建、用戶權限管理、表管理、數據查詢、索引和視圖、Transact-SQL程序設計以及數據導入導出和數據庫的備份還原。本書基于作者多年使用數據庫的經驗和教學體會,全面而又深入地講解了關系數據庫的原理和使用。本書編寫過程中,力求做到概念清晰準確,內容深入淺出,面向實際應用。本書可以作為高等院校計算機專業本科學生的數據庫課程教材,也可供計算機相關應用人員參考。
作者對數據庫原理和數據庫的應用都有很深的體會,原理部分主要為考研學生服務,應用部分主要為參加工作的學生服務,兩者需要同時兼顧,以前采用的教材已不適合,原理部分內容涉及不多且數據庫產品比較陳舊,市面上的相關教材也不是太合適,要么原理不夠深入,要么數據庫產品不是主流,不利于學生學習。
本書兼顧數據庫原理和數據庫應用兩部分內容,基于作者多年使用數據庫的經驗和教學體會,全面并深入講解關系數據庫的原理和使用。做到了概念清晰準確、深入淺出、面向實際應用。
第1章 數據庫系統概述 1
1.1 基本概念 1
1.2 數據管理技術 2
1.3 數據模型 3
1.3.1 數據模型組成 3
1.3.2 數據模型分類 4
1.3.3 概念模型 4
1.3.4 邏輯模型 5
1.4 數據庫管理系統結構 7
1.4.1 三級模式 7
1.4.2 二級映像 8
1.5 數據庫系統組成 8
小結 9
習題 9
第2章 關系數據庫 10
2.1 關系概述 10
2.1.1 關系定義 10
2.1.2 關系數據結構及基本概念 11
2.2 關系運算 13
2.2.1 關系操作概述 13
2.2.2 傳統關系運算 13
2.2.3 專門關系運算 15
2.3 完整性約束 23
2.3.1 實體完整性 24
2.3.2 參照完整性 24
2.3.3 用戶定義的完整性 24
2.4 小結 24
習題 25
第3章 SQL 26
3.1 SQL概述 26
3.1.1 SQL的產生與發展 26
3.1.2 SQL特點 26
3.1.3 SQL分類 27
3.2 數據定義語句 28
3.2.1 基本表操作 28
3.2.2 索引操作 30
3.2.3 視圖操作 31
3.3 數據操縱語句 32
3.3.1 插入數據 32
3.3.2 修改數據 33
3.3.3 刪除數據 34
3.4 查詢語句 34
3.4.1 單表查詢 35
3.4.2 連接查詢 38
3.4.3 嵌套查詢 42
3.4.4 集合查詢 44
3.5 權限控制語句 45
3.5.1 權限授予 46
3.5.2 權限回收 46
3.6 事務控制語句 47
小結 47
習題 47
第4章 數據完整性約束 49
4.1 實體完整性 49
4.2 參照完整性 51
4.3 用戶定義的完整性 53
4.3.1 非空約束 53
4.3.2 唯一約束 54
4.3.3 檢查約束 55
4.4 完整性約束命名 56
小結 57
習題 58
第5章 關系規范化 59
5.1 函數依賴 59
5.2 規范化 61
小結 64
習題 65
第6章 數據庫設計 66
6.1 數據庫設計概述 66
6.2 概念結構設計 67
6.3 邏輯結構設計 69
6.4 物理結構設計 70
6.5 數據庫實施與維護 71
小結 71
習題 72
第7章 數據庫基礎 73
7.1 SQL Server 2012介紹 73
7.2 安裝數據庫 73
7.3 常用工具介紹 84
7.4 數據庫組成 86
7.5 查看數據庫 88
7.6 創建數據庫 90
7.7 修改數據庫 94
7.7.1 修改數據庫文件和文件組 94
7.7.2 修改數據庫選項 96
7.8 刪除數據庫 98
小結 98
習題 98
第8章 數據庫安全 100
8.1 SQL Server 2012身份驗證模式 100
8.2 登錄賬號 101
8.2.1 查看登錄 102
8.2.2 創建登錄 103
8.2.3 修改登錄 104
8.2.4 刪除登錄 105
8.3 數據庫用戶 106
8.3.1 查看數據庫用戶 106
8.3.2 創建數據庫用戶 106
8.3.3 刪除數據庫用戶 108
8.4 架構 109
8.4.1 查看架構 109
8.4.2 創建架構 110
8.4.3 刪除架構 111
8.5 權限 112
8.5.1 權限分類 112
8.5.2 權限授予回收 113
8.5.3 查看權限 115
8.6 角色 115
8.6.1 固定服務器角色 115
8.6.2 固定數據庫角色 118
8.6.3 用戶自定義角色 120
小結 120
習題 121
第9章 表的管理 122
9.1 數據類型 122
9.1.1 數字類型 122
9.1.2 字符類型 123
9.1.3 日期類型 124
9.1.4 二進制類型 124
9.2 表操作 124
9.2.1 查看表 124
9.2.2 創建表 126
9.2.3 修改表 129
9.2.4 刪除表 131
9.3 數據操作 132
9.3.1 插入數據 132
9.3.2 修改數據 134
9.3.3 刪除數據 134
9.4 事務處理 135
9.4.1 事務基本概念 135
9.4.2 SQL Server中的事務模式 136
9.5 完整性約束 138
9.5.1 主鍵約束 138
9.5.2 外鍵約束 139
9.5.3 唯一約束 141
9.5.4 檢查約束 142
9.5.5 非空約束 143
9.5.6 查看約束 144
9.5.7 約束操作 146
小結 147
習題 147
第10章 數據查詢 149
10.1 基礎知識 149
10.2 單表查詢 150
10.2.1 基本查詢 151
10.2.2 分組查詢 155
10.2.3 數據排序 157
10.3 連接查詢 158
10.3.1 內連接 159
10.3.2 外連接 161
10.3.3 自連接 162
10.3.4 交叉連接 163
10.4 子查詢 164
10.4.1 單行子查詢 165
10.4.2 多行子查詢 166
10.4.3 關聯子查詢 166
10.4.4 編寫包含子查詢的DML語句 168
10.5 高級查詢 168
10.5.1 集合操作 168
10.5.2 CASE語句 170
小結 171
習題 171
第11章 索引和視圖 173
11.1 索引 173
11.1.1 了解索引 173
11.1.2 查看索引 174
11.1.3 創建索引 176
11.1.4 修改索引 180
11.1.5 刪除索引 183
11.2 視圖 183
11.2.1 查看視圖 184
11.2.2 創建視圖 185
11.2.3 修改視圖 187
11.2.4 刪除視圖 188
小結 188
習題 189
第12章 Transact-SQL程序設計 190
12.1 常量與變量 190
12.1.1 常量 190
12.1.2 變量 190
12.2 運算符 193
12.3 常用函數 194
12.3.1 常用統計函數 194
12.3.2 常用數學函數 194
12.3.3 常用字符串函數 196
12.3.4 常用日期函數 197
12.3.5 數據類型轉換函數 199
12.4 流程控制 199
12.4.1 語句注釋 199
12.4.2 語句塊 199
12.4.3 選擇控制語句IF…ELSE 200
12.4.4 循環控制語句WHILE 200
12.4.5 跳轉語句GOTO 201
12.4.6 RETURN語句 201
12.4.7 調度執行語句WAITFOR 202
12.5 游標 202
12.5.1 聲明游標 203
12.5.2 使用游標 203
小結 206
習題 206
第13章 存儲過程、函數和觸發器 207
13.1 存儲過程 207
13.1.1 存儲過程的類型及功能特點 207
13.1.2 創建存儲過程 207
13.1.3 修改存儲過程 210
13.1.4 執行存儲過程 210
13.1.5 查看存儲過程 211
13.1.6 刪除存儲過程 213
13.1.7 存儲過程的消息反饋 214
13.2 函數 215
13.2.1 標量函數 216
13.2.2 內聯表值函數 218
13.2.3 多語句表值函數 220
13.2.4 查看函數 221
13.2.5 刪除函數 223
13.3 觸發器 224
13.3.1 DML觸發器 224
13.3.2 DDL觸發器 227
13.3.3 查看觸發器 229
13.3.4 刪除觸發器 232
13.3.5 啟用和禁用觸發器 233
小結 234
習題 235
第14章 數據導入導出 236
14.1 數據導入導出介紹 236
14.2 使用SQL Server導入和導出向導 236
14.2.1 從其他SQL Server數據庫導入 236
14.2.2 從Oracle數據庫導入 240
14.2.3 從平面文件導入 244
14.2.4 從Excel文件導入 248
14.2.5 導出數據到平面文件 252
14.2.6 導出數據到Excel文件 255
14.2.7 導出數據到Oracle數據庫 258
14.3 使用BCP命令 263
14.3.1 導入數據 263
14.3.2 導出數據 266
14.4 使用BULK INSERT語句 268
小結 271
習題 271
第15章 數據庫維護 272
15.1 分離和附加數據庫 272
15.1.1 分離數據庫 272
15.1.2 附加數據庫 273
15.2 備份和還原數據庫 274
15.2.1 基本概念 274
15.2.2 備份數據庫 275
15.2.3 查看備份信息 278
15.2.4 還原數據庫 279
小結 282
習題 283