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