《SQL Server數(shù)據(jù)庫應(yīng)用基礎(chǔ)(第2版)》以創(chuàng)建一個“學生信息管理系統(tǒng)”的數(shù)據(jù)庫為例,循序漸進地講解Microsoft SQL Server 2008數(shù)據(jù)庫應(yīng)用基礎(chǔ),特別介紹數(shù)據(jù)庫表的數(shù)據(jù)操作、結(jié)構(gòu)化查詢語句、存儲過程和觸發(fā)器等知識。
《SQL Server數(shù)據(jù)庫應(yīng)用基礎(chǔ)(第2版)》內(nèi)容簡明扼要,對每一項重要內(nèi)容都給出了一個圖文并茂的示例并加上了注意點,充分考慮SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)初學者的實際需要,保證初學者從知識的起點開始,逐步掌握SQL Server數(shù)據(jù)庫管理和開發(fā)的基礎(chǔ)知識。本書每一章的最后都有相應(yīng)的選擇題與上機題,書的附錄中給出了每章的實驗練習題,可以幫助讀者檢驗對每章的學習效果。
《SQL Server數(shù)據(jù)庫應(yīng)用基礎(chǔ)(第2版)》特別把T-SQL高級編程單獨列為一章,強調(diào)T-SQL編程在后續(xù)章節(jié)的重要性。
《SQL Server數(shù)據(jù)庫應(yīng)用基礎(chǔ)(第2版)》可以作為高職高專院校學生和教師學習SQL Server數(shù)據(jù)庫管理系統(tǒng)的教學用書和參考書,也適合SQL Server數(shù)據(jù)庫管理系統(tǒng)的初、中級讀者使用。
《SQL Server 數(shù)據(jù)庫應(yīng)用基礎(chǔ)與實現(xiàn)》一書自2008年出版以來,被眾多高職院校選用為教材,多次重印,深受廣大讀者好評。本書是根據(jù)近幾年來數(shù)據(jù)庫新技術(shù)高職教育的發(fā)展,學生教育教學質(zhì)量的要求、素質(zhì)整體下降的形勢,對第1版教材進行了修訂,并更名為《SQL Server數(shù)據(jù)庫應(yīng)用基礎(chǔ)(第2版)》。
主要修訂內(nèi)容如下:
(1)教材使用的數(shù)據(jù)庫管理系統(tǒng)(DBMS)升級為SQL Server 2008,所有插圖都在SQL Server 2008中截取,所有程序代碼都在SQL Server 2008中執(zhí)行通過,并可移植到SQL Server 2005中。
SQL Server 2005與SQL Server 2008的基本內(nèi)容、基本要求沒有太大區(qū)別,在教學過程中,SQL Server 2008僅在智能提示方面占有優(yōu)勢,在各操作界面上增加了一個“調(diào)試”主菜單項,實際上SQL Server 2005足夠我們管理數(shù)據(jù)庫。
SQL Server 2008對運行環(huán)境的配置要求較高,在Windows XP下安裝SQL Server 2008前,需預(yù)先安裝.NET Framework 3.5、Windows Installer 4.5,還需安裝Microsoft Visual Studio 2008 SP1版本的軟件。現(xiàn)在,大多數(shù)學校計算機的配置沒有達到此要求,所以本教材雖然采用SQL Server 2008講解,但所有程序代碼都可以在SQL Server 2005上運行無誤。
(2)采用Camel(駱駝)標識符命名規(guī)則,修改了后臺使用的“學生信息管理系統(tǒng)”數(shù)據(jù)庫名稱為StuInfo并修改了表中的字段名。
(3)刪除了在實際教學中不易懂、應(yīng)用不強的知識。
① 刪除了第4章4.2節(jié)的使用修改表命令刪除表的結(jié)構(gòu),把4.3節(jié)表中數(shù)據(jù)操作合并到第2章,成為第2章2.4節(jié);
② 刪除了第7章7.3節(jié)用戶自定義函數(shù);
③ 刪除了第9章事務(wù);
④ 刪除了第12章數(shù)據(jù)源的連接;
⑤ 刪除了實驗四(2)、實驗四(3)、實驗九、實驗十一(1)和實驗十一(2)。
(4)對第1版書稿進行了全面審訂與校對,使用的文字描述更準確、結(jié)構(gòu)更合理;糾正了原教材的小錯誤和插圖,力爭消除原則性錯誤。
(5)對習題也做了適當增加、刪除和修改,使之與教材章節(jié)內(nèi)容更加符合。
第2版的章節(jié)及主要內(nèi)容如下。
第1章:介紹數(shù)據(jù)庫的基礎(chǔ)知識,包括數(shù)據(jù)庫的發(fā)展歷史、數(shù)據(jù)數(shù)據(jù)庫的幾個重要概念、數(shù)據(jù)庫的創(chuàng)建與管理。
第2章:介紹數(shù)據(jù)庫中表的管理,包括數(shù)據(jù)庫中表結(jié)構(gòu)的建立、數(shù)據(jù)完整性知識的講解和表中數(shù)據(jù)“增、刪、改”操作的講解。
第3章:T-SQL語言簡介,包括變量、數(shù)據(jù)類型、運算符、T-SQL常用函數(shù)。
第4章:查詢,包括數(shù)據(jù)庫表的查詢知識。
第5章:視圖與索引,包括視圖與索引的創(chuàng)建、修改等操作。
第6章:T-SQL高級編程,包括T-SQL控制語句的講解和游標知識的學習。
第7章:存儲過程,包括存儲過程的創(chuàng)建、執(zhí)行和刪除等操作。
第8章:觸發(fā)器,包括觸發(fā)器概念、作用和三種觸發(fā)器的創(chuàng)建等知識的講解。
第9章:數(shù)據(jù)庫備份和權(quán)限管理,包括數(shù)據(jù)庫的磁盤備份、導(dǎo)入與導(dǎo)出數(shù)據(jù)操作、用戶權(quán)限的管理知識。
第10章:數(shù)據(jù)庫的設(shè)計,包括數(shù)據(jù)庫的設(shè)計、范式、數(shù)據(jù)冗余和數(shù)據(jù)庫的設(shè)計與實現(xiàn)知識。
由于第1版部分作者的工作原因,修訂工作主要由湯承林、吳文慶、郜繼紅等人完成。全書的框架結(jié)構(gòu)由湯承林擬定,郜繼紅對書中的代碼和插圖做了全面的修改和更換。
第2版由江蘇淮安信息職業(yè)技術(shù)學院湯承林副教授和齊齊哈爾工程學院吳文慶副教授擔任主編,淮安信息職業(yè)技術(shù)學院郜繼紅老師擔任副主編。本次修訂過程還得到了管曙亮、李焱等老師的幫助和支持,在此表示衷心感謝!
盡管我們在教材編寫方面做了大量的探索與嘗試,但不足之處在所難免,衷心希望使用本教材的單位和讀者能提出改進意見,以便我們在下次修訂時完善。
編者
第1章 SQL Server 2008數(shù)據(jù)庫基礎(chǔ)
1.1 為什么要學習數(shù)據(jù)庫
1.2 數(shù)據(jù)庫發(fā)展簡史
1.3 數(shù)據(jù)庫的幾個概念及關(guān)系
1.4 如何描述數(shù)據(jù)庫
1.4.1 實體與記錄
1.4.2 數(shù)據(jù)庫與數(shù)據(jù)庫表
1.4.3 數(shù)據(jù)冗余和數(shù)據(jù)完整性
1.5 SQL Server 2008 Management Studio簡介
1.6 數(shù)據(jù)庫的創(chuàng)建與管理
1.6.1 創(chuàng)建服務(wù)器組
1.6.2 創(chuàng)建服務(wù)器注冊
1.6.3 服務(wù)器啟動、暫停和停止
1.6.4 創(chuàng)建數(shù)據(jù)庫
本章小結(jié)
習題
第2章 數(shù)據(jù)庫表的建立與刪除
2.1 為什么要引入數(shù)據(jù)庫表
2.2 與表相關(guān)的幾個概念
2.2.1 主關(guān)鍵字、候選關(guān)鍵字和外鍵
2.2.2 數(shù)據(jù)完整性
2.3 建立和刪除數(shù)據(jù)庫表
2.3.1 以界面方式建立數(shù)據(jù)庫表
2.3.2 以界面方式刪除數(shù)據(jù)庫表
2.3.3 以T-SQL語句命令方式建立數(shù)據(jù)庫表
2.3.4 以SQL語句命令方式刪除數(shù)據(jù)庫表
2.4 表中數(shù)據(jù)操作
2.4.1 使用T-SQL語句對數(shù)據(jù)庫表中的數(shù)據(jù)進行操作
2.4.2 在表設(shè)計器中添加、修改和刪除數(shù)據(jù)
2.4.3 使用T-SQL命令insert對表中數(shù)據(jù)進行插入操作
2.4.4 用T-SQL命令update對表中數(shù)據(jù)進行修改操作
2.4.5 用T-SQL命令delete對表中記錄進行刪除操作
本章小結(jié)
習題
第3章 T-SQL語言簡介
3.1 為什么要學習T-SQL語言
3.1.1 SQL
3.1.2 T-SQL與SQL的區(qū)別
3.1.3 T-SQL組成
3.2 數(shù)據(jù)類型
3.2.1 整數(shù)
3.2.2 精確小數(shù)
3.2.3 貨幣數(shù)據(jù)
3.2.4 近似數(shù)字
3.2.5 日期時間數(shù)據(jù)
3.2.6 字符串
3.2.7 Unicode字符串
3.2.8 二進制數(shù)據(jù)
3.2.9 其他數(shù)據(jù)類型
3.3 T-SQL中的常量、變量、批處理、注釋和輸出語句
3.3.1 常量
3.3.2 局部變量
3.3.3 全局變量
3.3.4 批處理、注釋和輸出語句
3.4 T-SQL中的運算符及優(yōu)先級
3.4.1 算術(shù)運算符
3.4.2 賦值運算符
3.4.3 字符串連接運算符
3.4.4 比較運算符
3.4.5 邏輯運算符
3.4.6 位運算符
3.4.7 運算符優(yōu)先級
3.4.8 條件表達式
3.5 T-SQL常用函數(shù)的使用
3.5.1 數(shù)學函數(shù)
3.5.2 日期和時間函數(shù)
3.5.3 聚合函數(shù)
3.5.4 字符串函數(shù)
3.5.5 轉(zhuǎn)換函數(shù)
3.5.6 其他系統(tǒng)函數(shù)
本章小結(jié)
習題
第4章 查詢
4.1 引入查詢的目的
4.2 使用界面方式查詢設(shè)計器查詢
4.3 select語句
4.3.1 簡單查詢
4.3.2 選擇表中的若干記錄
4.3.3 對查詢結(jié)果排序
4.3.4 使用函數(shù)查詢
4.3.5 使用聚合函數(shù)查詢
4.3.6 分組查詢
4.3.7 使用into子句定義新表
4.4 連接查詢
4.4.1 內(nèi)連接查詢
4.4.2 自連接查詢
4.4.3 外連接查詢
4.4.4 交叉連接查詢
4.5 子查詢
4.5.1 簡單子查詢
4.5.2 帶in和not in的子查詢
4.5.3 帶exists和not exists的子查詢
4.5.4 帶any或all謂詞的子查詢
4.5.5 多重嵌套子查詢
*4.5.6 相關(guān)子查詢
*4.6 聯(lián)合查詢
本章小結(jié)
習題
第5章 視圖與索引
5.1 視圖
5.1.1 引入視圖的目的
5.1.2 使用視圖設(shè)計器創(chuàng)建、重命名和刪除視圖
5.1.3 使用T-SQL命令創(chuàng)建視圖和刪除視圖
5.1.4 利用視圖更新、插入和刪除記錄
5.2 索引
5.2.1 引入索引的目的
5.2.2 索引的類型
5.2.3 創(chuàng)建索引
5.2.4 查看、修改和刪除索引
本章小結(jié)
習題
第6章 T-SQL高級編程
6.1 學習T-SQL高級編程的目的
6.2 流程控制語句
6.2.1 begin…end塊語句
6.2.2 if…else語句
6.2.3 while循環(huán)語句
6.2.4 case多分支語句
6.2.5 goto、return語句
6.3 游標的使用
6.3.1 聲明游標
6.3.2 打開游標
6.3.3 讀取游標
6.3.4 關(guān)閉和釋放游標
6.3.5 定位、更新和刪除游標數(shù)據(jù)
本章小結(jié)
習題
第7章 存儲過程
7.1 引入存儲過程的目的
7.2 常用的系統(tǒng)存儲過程
7.3 存儲過程的創(chuàng)建
7.3.1 使用SQL Server的管理平臺創(chuàng)建存儲過程
7.3.2 使用SQL Server管理平臺的存儲過程模板創(chuàng)建存儲過程
7.3.3 使用T-SQL語句創(chuàng)建存儲過程
7.3.4 刪除存儲過程
7.3.5 存儲過程中的錯誤處理信息
本章小結(jié)
習題
第8章 觸發(fā)器
8.1 引入觸發(fā)器的目的
8.2 觸發(fā)器的基本概念
8.2.1 觸發(fā)器
8.2.2 觸發(fā)器的作用
8.2.3 inserted表與deleted表的作用
8.2.4 instead of和after觸發(fā)器
8.2.5 觸發(fā)器的執(zhí)行過程
8.3 創(chuàng)建觸發(fā)器
8.3.1 使用SQL Server管理平臺創(chuàng)建觸發(fā)器
8.3.2 使用SQL Server管理平臺實現(xiàn)表之間的級聯(lián)操作
8.3.3 使用T-SQL語句創(chuàng)建觸發(fā)器
8.4 觸發(fā)器的刪除
8.4.1 使用SQL Server管理平臺的界面方式刪除觸發(fā)器
8.4.2 使用T-SQL語句的命令方式刪除觸發(fā)器
本章小結(jié)
習題
第9章 數(shù)據(jù)庫備份和權(quán)限管理
9.1 數(shù)據(jù)庫備份
9.1.1 數(shù)據(jù)庫備份的種類
9.1.2 備份設(shè)備
9.1.3 移動數(shù)據(jù)庫
9.1.4 導(dǎo)入和導(dǎo)出數(shù)據(jù)
9.2 數(shù)據(jù)庫權(quán)限管理
9.2.1 安全身份驗證
9.2.2 創(chuàng)建登錄賬戶
9.2.3 用戶賬戶管理
9.2.4 權(quán)限管理
*9.2.5 角色管理
本章小結(jié)
習題
第10章 數(shù)據(jù)庫的設(shè)計與實現(xiàn)
10.1 規(guī)范數(shù)據(jù)庫設(shè)計
10.2 數(shù)據(jù)庫設(shè)計的步驟
10.2.1 需求分析階段的數(shù)據(jù)庫設(shè)計
10.2.2 繪制E-R圖
10.2.3 將E-R圖轉(zhuǎn)換為表
10.3 數(shù)據(jù)規(guī)范化
10.3.1 問題的提出
10.3.2 規(guī)范設(shè)計要求
10.3.3 規(guī)范化與數(shù)據(jù)冗余的關(guān)系
10.4 數(shù)據(jù)庫的實現(xiàn)
10.4.1 創(chuàng)建數(shù)據(jù)庫
10.4.2 創(chuàng)建數(shù)據(jù)庫表
10.4.3 創(chuàng)建視圖
10.4.4 創(chuàng)建存儲過程
10.4.5 創(chuàng)建觸發(fā)器
本章小結(jié)
習題
附錄A 實驗內(nèi)容
實驗一 注冊服務(wù)器與創(chuàng)建數(shù)據(jù)庫
實驗二 創(chuàng)建表
實驗三 表中數(shù)據(jù)的操作
實驗四 創(chuàng)建并執(zhí)行T-SQL腳本
練習1
練習2
練習3
練習4
練習5
實驗五 查詢數(shù)據(jù)庫(1)
實驗六 查詢數(shù)據(jù)庫(2)
實驗七 查詢數(shù)據(jù)庫(3)
實驗八 創(chuàng)建和使用視圖與索引
練習1
練習2
練習3
練習4
實驗九 實現(xiàn)存儲過程
練習1
練習2
練習3
練習4
實驗十 觸發(fā)器
練習1
練習2
練習3
參考文獻