本書首先介紹數(shù)據(jù)庫系統(tǒng)的基本知識、需求分析、概念設計和邏輯設計的方法,然后分別介紹SQL Server 2012的基本服務功能、安裝與配置;使用SSMS或T-SQL創(chuàng)建、管理與操作數(shù)據(jù)庫、表、索引和視圖;T-SQL的SELECT數(shù)據(jù)查詢;T-SQL編程基礎(chǔ)、創(chuàng)建與管理存儲過程、觸發(fā)器和用戶定義函數(shù);最后介紹SQL Server 2012的數(shù)據(jù)庫安全管理技術(shù)、備份與還原技術(shù)、導出與導入技術(shù)。
本書將數(shù)據(jù)庫理論知識融入數(shù)據(jù)庫開發(fā)與維護的工作過程之中,依照職業(yè)崗位能力要求和行業(yè)實用技術(shù)要求編寫。將各章內(nèi)容以案例和項目任務為載體,循序漸進地展示出來,便于工學結(jié)合、任務驅(qū)動的課程教學。
本書可作為各層次院校計算機類專業(yè)數(shù)據(jù)庫技術(shù)與應用課程的教材,也可供數(shù)據(jù)庫開發(fā)與維護的工程技術(shù)人員自學參考。
1982年在國防科技大學進修《計算機原理》。1982年至1985年在湖南大學計算機科學系任教。1983年7月至1984年2月參與國防科技1982年在國防科技大學進修《計算機原理》。1982年至1985年在湖南大學計算機科學系任教。1983年7月至1984年2月參與國防科技
第1章 數(shù)據(jù)庫系統(tǒng)認知 1
1.1 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展 2
1.1.1 數(shù)據(jù)處理的基本概念 2
1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展 3
1.2 數(shù)據(jù)庫系統(tǒng)概述 5
1.2.1 數(shù)據(jù)庫系統(tǒng)的構(gòu)成 5
1.2.2 數(shù)據(jù)庫管理系統(tǒng)簡介 8
1.2.3 數(shù)據(jù)庫的體系結(jié)構(gòu) 9
1.3 數(shù)據(jù)模型 10
1.3.1 數(shù)據(jù)模型的應用層次 10
1.3.2 數(shù)據(jù)模型的組成要素 11
1.3.3 邏輯模型的結(jié)構(gòu)分類 12
1.4 數(shù)據(jù)庫設計步驟 13
1.5 任務訓練—數(shù)據(jù)庫系統(tǒng)認知 15
第2章 需求分析與數(shù)據(jù)庫概念設計 18
2.1 需求分析 19
案例1-2-1 教務管理系統(tǒng)需求分析 20
案例2-2-1 圖書管理系統(tǒng)需求分析 21
2.2 數(shù)據(jù)庫概念設計概述 22
2.2.1 概念模型的基本要素 22
2.2.2 概念設計的一般步驟 25
2.3 E-R方法概念設計 26
案例1-2-2 教務管理數(shù)據(jù)庫概念設計 26
2.3.1 概念模型的E-R表示方法 26
2.3.2 概念模型的E-R設計過程 27
2.3.3 使用Visio建立E-R概念模型 27
2.4 IDEF1X方法概念設計 29
案例2-2-2 圖書管理數(shù)據(jù)庫概念設計 29
2.4.1 概念模型的IDEF1X表示方法 30
2.4.2 使用Visio建立IDEF1X概念模型 35
2.5 項目訓練—人事管理系統(tǒng)需求分析與數(shù)據(jù)庫概念設計 39
第3章 關(guān)系模型與數(shù)據(jù)庫邏輯設計 43
3.1 關(guān)系模型概述 44
3.1.1 關(guān)系模型的構(gòu)成與特點 44
3.1.2 關(guān)系數(shù)據(jù)結(jié)構(gòu) 45
3.1.3 關(guān)系數(shù)據(jù)操作 47
3.1.4 關(guān)系數(shù)據(jù)完整性 51
3.2 E-R概念模型到關(guān)系模型的轉(zhuǎn)換 55
案例1-3 教務管理數(shù)據(jù)庫邏輯設計 55
3.2.1 實體(E)轉(zhuǎn)換為關(guān)系的方法 55
3.2.2 聯(lián)系(R)轉(zhuǎn)換為關(guān)系的方法 55
3.3 IDEF1X概念模型到關(guān)系模型的轉(zhuǎn)換 58
案例2-3 圖書管理數(shù)據(jù)庫邏輯設計 58
3.4 關(guān)系規(guī)范化 59
3.4.1 第一范式(1NF) 60
3.4.2 第二范式(2NF) 61
3.4.3 第三范式(3NF) 62
3.4.4 BC范式(BCNF) 63
3.5 項目訓練—人事管理數(shù)據(jù)庫邏輯設計 63
第4章 SQL Server 2012的安裝與配置 67
4.1 SQL Server 2012簡介 68
4.1.1 SQL Server 2012的服務 68
4.1.2 SQL Server 2012的版本 69
4.2 SQL Server 2012的安裝與配置 70
4.2.1 安裝的硬軟件要求 70
4.2.2 安裝的過程與配置 71
4.3 SQL Server 2012的管理 80
4.3.1 界面操作術(shù)語說明 80
4.3.2 管理工具簡介 81
4.3.3 SQL Server服務管理 82
4.4 SSMS操作基礎(chǔ) 83
4.5 SQL、T-SQL與【查詢編輯器】 87
4.5.1 SQL簡介 87
4.5.2 T-SQL簡介 88
4.5.3 使用【查詢編輯器】 89
4.6 項目訓練—使用SSMS 91
第5章 數(shù)據(jù)庫的創(chuàng)建與管理 94
5.1 數(shù)據(jù)庫概述 95
5.1.1 數(shù)據(jù)庫的構(gòu)成 95
5.1.2 數(shù)據(jù)庫文件 96
5.1.3 數(shù)據(jù)庫文件組 97
5.1.4 數(shù)據(jù)庫對象 97
5.1.5 設計數(shù)據(jù)庫 98
5.1.6 數(shù)據(jù)庫快照 98
5.1.7 數(shù)據(jù)庫鏡像 99
5.2 使用SSMS創(chuàng)建與管理數(shù)據(jù)庫 99
案例1-5 教務管理數(shù)據(jù)庫的創(chuàng)建與管理 99
5.2.1 使用SSMS創(chuàng)建數(shù)據(jù)庫 100
5.2.2 使用SSMS修改數(shù)據(jù)庫 102
5.2.3 使用SSMS刪除數(shù)據(jù)庫 104
5.3 使用T-SQL創(chuàng)建與管理數(shù)據(jù)庫 104
案例2-5 圖書管理數(shù)據(jù)庫的創(chuàng)建與管理 104
5.3.1 使用T-SQL創(chuàng)建數(shù)據(jù)庫 105
5.3.2 使用T-SQL修改數(shù)據(jù)庫 106
5.3.3 使用T-SQL刪除數(shù)據(jù)庫 109
5.4 分離和附加數(shù)據(jù)庫 109
5.4.1 分離數(shù)據(jù)庫 109
5.4.2 附加數(shù)據(jù)庫 110
5.5 項目訓練—人事管理數(shù)據(jù)庫的創(chuàng)建與管理 111
第6章 表的創(chuàng)建與操作 113
6.1 表概述 114
6.1.1 表的構(gòu)成 115
6.1.2 表的類型 115
6.1.3 T-SQL的數(shù)據(jù)類型 116
6.1.4 SQL Server表的完整性約束 117
6.2 使用SSMS創(chuàng)建與管理表 118
案例1-6-1 教務管理表的創(chuàng)建與管理 118
6.2.1 使用SSMS創(chuàng)建表 118
6.2.2 使用SSMS修改表 119
6.2.3 使用SSMS刪除表 123
6.3 使用SSMS操作表 123
案例1-6-2 教務管理表的操作 123
6.3.1 使用SSMS插入數(shù)據(jù)行 124
6.3.2 使用SSMS更新數(shù)據(jù) 125
6.3.3 使用SSMS刪除數(shù)據(jù)行 125
6.4 使用T-SQL創(chuàng)建與管理表 125
案例2-6-1 圖書管理表的創(chuàng)建與管理 125
6.4.1 使用T-SQL創(chuàng)建表 125
6.4.2 使用T-SQL修改表 128
6.4.3 使用T-SQL刪除表 129
6.5 使用T-SQL操作表 129
案例2-6-2 圖書管理表的操作 129
6.5.1 使用T-SQL插入數(shù)據(jù)行 129
6.5.2 使用T-SQL更新數(shù)據(jù) 131
6.5.3 使用T-SQL刪除數(shù)據(jù)行 133
6.6 索引的創(chuàng)建與管理 133
6.6.1 索引概述 133
6.6.2 使用SSMS創(chuàng)建索引 135
6.6.3 使用SSMS刪除索引 136
6.6.4 使用T-SQL創(chuàng)建索引 136
6.6.5 使用T-SQL刪除索引 136
6.7 關(guān)系圖的創(chuàng)建與管理 136
6.7.1 創(chuàng)建數(shù)據(jù)庫關(guān)系圖 137
6.7.2 修改數(shù)據(jù)庫關(guān)系圖 137
6.7.3 刪除數(shù)據(jù)庫關(guān)系圖 138
6.7.4 顯示數(shù)據(jù)庫關(guān)系圖屬性 138
6.8 項目訓練—人事管理表的創(chuàng)建與操作 138
第7章 SELECT數(shù)據(jù)查詢 142
7.1 SELECT查詢語句 143
案例1-7 教務管理SELECT數(shù)據(jù)查詢 143
7.1.1 SELECT查詢語句結(jié)構(gòu) 143
7.1.2 SELECT子句投影查詢 144
7.1.3 FROM子句連接查詢 149
7.1.4 WHERE子句選擇查詢 150
7.1.5 GROUP BY子句分組統(tǒng)計查詢 155
7.1.6 HAVING子句限定查詢 156
7.1.7 ORDER BY子句排序查詢 156
7.1.8 INTO子句保存查詢 158
7.2 ANSI連接查詢 158
案例2-7-1 圖書管理ANSI連接查詢 158
7.2.1 FROM子句的ANSI連接查詢 158
7.2.2 內(nèi)連接查詢 159
7.2.3 外連接查詢 160
7.2.4 自連接查詢 162
7.2.5 交叉連接查詢 162
7.2.6 多表連接查詢 163
7.3 子查詢 164
案例2-7-2 圖書管理SELECT子查詢 164
7.3.1 IN子查詢 164
7.3.2 SOME|ANY和ALL子查詢 165
7.3.3 EXISTS子查詢 166
7.3.4 子查詢在其他語句中的使用 167
7.3.5 子查詢和連接查詢的比較 167
7.4 聯(lián)合查詢 168
7.4.1 UNION操作符 168
7.4.2 聯(lián)合查詢結(jié)果排序 169
7.5 項目訓練—人事管理SELECT數(shù)據(jù)查詢 170
第8章 視圖的創(chuàng)建與應用 172
8.1 視圖概述 173
8.2 使用SSMS創(chuàng)建與管理視圖 174
案例1-8-1 教務管理視圖的創(chuàng)建與管理 174
8.2.1 使用SSMS創(chuàng)建視圖 174
8.2.2 使用SSMS修改視圖 176
8.2.3 使用SSMS刪除視圖 177
8.3 使用SSMS應用視圖 177
案例1-8-2 教務管理視圖的應用 177
8.3.1 使用SSMS查詢數(shù)據(jù) 177
8.3.2 使用SSMS插入數(shù)據(jù)行 178
8.3.3 使用SSMS更新數(shù)據(jù) 178
8.3.4 使用SSMS刪除數(shù)據(jù)行 178
8.4 使用T-SQL創(chuàng)建與管理視圖 179
案例2-8-1 圖書管理視圖的創(chuàng)建與管理 179
8.4.1 使用T-SQL創(chuàng)建視圖 179
8.4.2 使用T-SQL修改視圖 181
8.4.3 使用T-SQL刪除視圖 182
8.5 使用T-SQL應用視圖 182
案例2-8-2 圖書管理視圖的應用 182
8.5.1 使用T-SQL查詢數(shù)據(jù) 182
8.5.2 使用T-SQL插入數(shù)據(jù)行 182
8.5.3 使用T-SQL更新數(shù)據(jù) 183
8.5.4 使用T-SQL刪除數(shù)據(jù)行 183
8.6 項目訓練—人事管理視圖的創(chuàng)建與應用 183
第9章 T-SQL編程與應用 185
9.1 T-SQL編程基礎(chǔ) 186
9.1.1 有效標識符 186
9.1.2 注釋 186
9.1.3 數(shù)據(jù)類型 187
9.2 表達式 188
9.2.1 常量 188
9.2.2 變量 189
9.2.3 日期時間類型表達式 191
9.2.4 內(nèi)置函數(shù) 193
9.2.5 運算符 198
9.3 流程控制語句 199
9.3.1 順序語句 199
9.3.2 IF...ELSE分支語句 200
9.3.3 WHILE循環(huán)語句 202
9.3.4 其他控制語句 202
9.3.5 CASE多分支表達式 204
9.4 批處理 205
9.5 事務 207
9.5.1 事務概述 207
9.5.2 事務語句 207
9.6 項目訓練—人事管理T-SQL編程與應用 210
第10章 數(shù)據(jù)庫服務器編程 212
10.1 創(chuàng)建與管理存儲過程 213
案例2-10-1 圖書管理存儲過程的創(chuàng)建與管理 213
10.1.1 存儲過程概述 213
10.1.2 創(chuàng)建存儲過程 214
10.1.3 管理存儲過程 219
10.2 創(chuàng)建與管理觸發(fā)器 220
案例2-10-2 圖書管理觸發(fā)器的創(chuàng)建與管理 220
10.2.1 觸發(fā)器概述 220
10.2.2 創(chuàng)建DML觸發(fā)器 221
10.2.3 創(chuàng)建DDL觸發(fā)器 229
10.2.4 管理觸發(fā)器 230
10.3 創(chuàng)建與管理用戶定義函數(shù) 232
案例2-10-3 圖書管理用戶定義函數(shù)的創(chuàng)建與管理 232
10.3.1 用戶定義函數(shù)概述 232
10.3.2 創(chuàng)建用戶定義函數(shù) 233
10.3.3 管理用戶定義函數(shù) 236
10.4 項目訓練—人事管理數(shù)據(jù)庫服務器編程 237
第11章 數(shù)據(jù)庫的安全性管理 239
案例1-11 教務管理數(shù)據(jù)庫的安全性管理 240
11.1 數(shù)據(jù)庫的安全性管理概述 240
11.2 身份驗證與模式配置 241
11.2.1 Windows身份驗證 242
11.2.2 SQL Server身份驗證 242
11.2.3 配置身份驗證模式 242
11.3 登錄名管理 243
11.3.1 內(nèi)置登錄名 243
11.3.2 創(chuàng)建Windows登錄名 245
11.3.3 創(chuàng)建SQL Server登錄名 250
11.3.4 修改和刪除登錄名 253
11.4 數(shù)據(jù)庫用戶管理 253
11.4.1 內(nèi)置數(shù)據(jù)庫用戶 253
11.4.2 創(chuàng)建數(shù)據(jù)庫用戶 255
11.4.3 修改和刪除數(shù)據(jù)庫用戶 257
11.5 架構(gòu)管理 257
11.5.1 內(nèi)置架構(gòu)和默認架構(gòu) 258
11.5.2 創(chuàng)建架構(gòu) 258
11.5.3 修改和刪除架構(gòu) 260
11.6 權(quán)限管理 261
11.6.1 對象權(quán)限管理 261
11.6.2 數(shù)據(jù)庫權(quán)限管理 264
11.7 角色管理 266
11.7.1 服務器角色管理 267
11.7.2 數(shù)據(jù)庫角色管理 270
11.8 項目訓練—人事管理數(shù)據(jù)庫的安全性管理 273
第12章 數(shù)據(jù)庫的恢復與傳輸 275
12.1 數(shù)據(jù)庫的備份與還原 276
案例1-12-1 教務管理數(shù)據(jù)庫的備份與還原 276
12.1.1 數(shù)據(jù)庫備份概述 276
12.1.2 數(shù)據(jù)庫備份 278
12.1.3 數(shù)據(jù)庫還原 281
12.2 數(shù)據(jù)庫的導出與導入 282
案例1-12-2 教務管理數(shù)據(jù)庫的導出與導入 283
12.2.1 SQL Server數(shù)據(jù)導出 283
12.2.2 SQL Server數(shù)據(jù)導入 286
12.3 項目訓練—人事管理數(shù)據(jù)庫的恢復與傳輸 287