《SQL Server 2005實用教程(第3版)》是根據教育部提出的高等學校計算機基礎教學“技能—能力—思維”三個層次要求組織編寫的。本書主要講述大型數據庫管理系統SQL Server 2005的功能、操作和實用開發技術。
《SQL Server 2005實用教程(第3版)》以SQL Server 2005為平臺,用一個實例貫穿全書來詳細講解SQL Server 2005的安裝和配置、數據庫的創建與管理、表、T-SQL語言、視圖、索引、存儲過程、數據庫的備份恢復與導入導出、SQL Server的安全管理。除最后一章外,每章后均配有實訓內容,以強化學生的實踐能力。第13章介紹SQL Server項目開發,將全書所學內容與.NET編程語言相結合,進行了系統化、整體化的提升,并利用Visual C#與SQL Server 2005開發設計了學生選課系統,供學生學習和參考。
《SQL Server 2005實用教程(第3版)》具有由淺入深、理論聯系實際的特點,在保證教材系統性和科學性的同時,注重實踐性和操作性。
《SQL Server 2005實用教程(第3版)》既可以作為高職高專院校計算機及相關專業的教材和教學參考書,也可以作為數據庫應用系統開發人員的參考書。
《SQL Server 2005實用教程(第3版)》在前兩版的基礎上進行了修訂,調整了部分內容,增加了實例和習題內容,并結合當今主流系統開發的需求,將第13章“SQL Server開發與編程”進行了全面的修改,采用Visual C#與SQL Server 2005相結合的方式進行開發設計,以求能更好地突出教學內容的重點和難點,增強本書的實用性。
《SQL Server 2005實用教程(第3版)》共有13章。第1章主要介紹數據庫相關知識;第2章介紹SQL Server 2005的安裝和配置;第3、4章介紹SQL Server數據庫和表;第5章介紹數據庫的數據完整性;第6章介紹數據查詢;第7、8章介紹視圖及索引的應用;第9章介紹T-SQL語言;第10章介紹存儲過程和觸發器;第11章介紹備份恢復與導入導出;第12章介紹SQL Server的安全管理;第13章介紹SQL Server項目開發。除最后一章外,每一章都配有實訓內容,所有實訓內容均圍繞一個大的實例展開,具有系統性和整體性的特點,在項目開發中采用了Visual C#與SQL Server 2005相結合的開發技術,有助于學生對新知識、新技術的了解和學習。
《SQL Server 2005實用教程(第3版)》概念清晰、敘述準確、重點突出,理論與實踐緊密結合,注重操作技能的培養,圖文并茂,提供了豐富的實例,有助于讀者對所學內容的掌握,便于自學。
前 言
數據庫技術是計算機技術領域中發展最快的技術之一,也是應用最為廣泛的技術之一,它已經成為計算機信息系統的核心技術和重要基礎。
2005年11月,微軟公司發布了其數據庫軟件的又一個升級版本SQL Server 2005。從SQL Server 2000到SQL Server 2005,不僅僅是數據庫系統具有更高的性能、更強的處理能力,新版本的系統還帶來了許多新的、在舊版本中從未出現的特性。而這些新特性也都是和現代數據庫的發展方向相一致的。例如,對XML的支持、在SQL語言中嵌入高級語言支持等。在企業環境中,更注重安全性、高可用性、集成的管理工具等。目前SQL Server雖然已經出現了許多更新版本,如SQL Server 2012、SQL Server 2016等,但是仍有許多院校及企業在使用SQL Server 2005。在眾多的數據庫系統中,SQL Server以其滿足對大型數據庫技術的要求和易于實現、容易理解和掌握等特點,被許多院校列為必修課程。
本書第1版和第2版分別于2008年9月、2011年3月由清華大學出版社出版發行,受到廣大讀者的歡迎。在使用過程中,許多專家和師生給予了大力的支持并提出了一些很好的意見和建議,因此,我們對《SQL Server 2005實用教程》在前兩版的基礎上進行了修訂,調整了部分內容,增加了實例和習題內容,并結合當今主流系統開發的需求,將第13章“SQL Server開發與編程”進行了全面的修改,采用Visual C#與SQL Server 2005相結合的方式進行開發設計,以求能更好地突出教學內容的重點和難點,增強本書的實用性。
全書共有13章。第1章主要介紹數據庫相關知識;第2章介紹SQL Server 2005的安裝和配置;第3、4章介紹SQL Server數據庫和表;第5章介紹數據庫的數據完整性;第6章介紹數據查詢;第7、8章介紹視圖及索引的應用;第9章介紹T-SQL語言;第10章介紹存儲過程和觸發器;第11章介紹備份恢復與導入導出;第12章介紹SQL Server的安全管理;第13章介紹SQL Server項目開發。除最后一章外,每一章都配有實訓內容,所有實訓內容均圍繞一個大的實例展開,具有系統性和整體性的特點,在項目開發中采用了Visual C#與SQL Server 2005相結合的開發技術,有助于學生對新知識、新技術的了解和學習。
本書概念清晰、敘述準確、重點突出,理論與實踐緊密結合,注重操作技能的培養,圖文并茂,提供了豐富的實例,有助于讀者對所學內容的掌握,便于自學。
本書由李巖、韓勁松任主編,張瑞雪、李康樂任副主編。參加編寫的人員還有王旭、張玉芬、徐宏偉、賀曉光、于洪鵬。其中,第1、2章由王旭編寫;第3、4由韓勁松編寫;第5、6、7章由張瑞雪編寫;第8、9由李康樂編寫;第10、11章由李巖編寫;第12、13章由張玉芬編寫,全書由李巖統稿。書中代碼及文字校對等工作由于洪鵬、徐宏偉、賀曉光參與完成,在此衷心地向他們表示感謝。
由于編者水平有限,時間倉促,書中難免存在缺點和不足,衷心希望廣大讀者批評指正。
編 者
收起全部↑
目 錄
第1章 數據庫概述 1
1.1 數據庫的基本概念及數據庫系統 1
1.1.1 數據庫的基本概念 1
1.1.2 數據庫系統的組成 2
1.1.3 數據庫系統的特點 3
1.2 數據模型概述 3
1.2.1 信息世界的數據描述 4
1.2.2 數據模型 4
1.3 關系數據庫的基本原理 9
1.3.1 關系模型 9
1.3.2 關系運算 11
1.3.3 關系數據庫的標準語言 14
1.3.4 關系模型的規范化 15
本章實訓 18
本章小結 19
習題 20
第2章 SQL Server 2005概述 22
2.1 SQL Server 2005簡介 22
2.1.1 SQL Server 2005的發展
及特點 22
2.1.2 SQL Server 2005的環境 23
2.2 SQL Server的結構 25
2.2.1 SQL Server的系統結構 25
2.2.2 SQL Server 2005的體系
結構 25
2.3 SQL Server的安裝和配置 26
2.3.1 SQL Server的應用環境設計 26
2.3.2 安裝預備軟件 27
2.3.3 安裝SQL Server部件 27
2.4 SQL Server 2005的主要管理工具 32
2.4.1 SQL Server管理控制臺 32
2.4.2 商業智能開發工具 33
2.4.3 SQL Server分析器 34
2.4.4 SQL Server配置管理器 35
2.4.5 數據庫引擎優化顧問 35
2.5 配置SQL Server 2005 36
2.5.1 啟動、停止、暫停和重新啟動
SQL Server服務 36
2.5.2 配置服務的啟動模式 37
2.5.3 注冊服務器 38
2.5.4 創建服務器組 40
本章實訓 41
本章小結 42
習題 42
第3章 SQL Server數據庫 43
3.1 SQL Server數據庫概述 43
3.1.1 數據庫文件 43
3.1.2 數據庫文件組 44
3.2 系統數據庫概述 44
3.2.1 數據庫對象 45
3.2.2 系統數據庫 45
3.3 創建數據庫 47
3.3.1 用SQL Server Management
Studio創建數據庫 47
3.3.2 用SQL 命令創建數據庫 49
3.3.3 事務日志 52
3.4 管理和維護數據庫 53
3.4.1 打開數據庫 53
3.4.2 查看數據庫信息 53
3.4.3 用SQL Server Management
Studio修改數據庫配置 54
3.4.4 用T-SQL命令修改數據庫
配置 54
3.4.5 刪除數據庫 55
本章實訓 56
本章小結 59
習題 60
第4章 數據庫中的表 62
4.1 創建表 62
4.1.1 數據類型 62
4.1.2 使用SQL Server Management
Studio創建表 64
4.1.3 使用SQL命令方式創建表 65
4.2 表的管理和維護 66
4.2.1 查看表的屬性 66
4.2.2 修改表結構 68
4.2.3 刪除數據表 70
4.3 表數據的操作 71
4.3.1 圖形界面方式操作表數據 71
4.3.2 使用INSERT命令向表中添加
數據 72
4.3.3 使用UPDATE命令修改表中
的數據 73
4.3.4 使用DELETE或TRANCATE
TABLE命令刪除表中的數據 73
4.3.5 常用系統數據表 74
本章實訓 75
本章小結 78
習題 79
第5章 數據完整性 81
5.1 數據完整性的基本概念 81
5.2 約束 82
5.2.1 主鍵約束 82
5.2.2 唯一鍵約束 84
5.2.3 檢查約束 86
5.2.4 默認值約束 89
5.2.5 外鍵約束 91
5.3 默認值 93
5.3.1 創建默認值 93
5.3.2 綁定和解綁默認值 93
5.3.3 刪除默認值 94
5.4 規則 95
5.4.1 創建規則 95
5.4.2 綁定和解綁規則 95
5.4.3 刪除規則 96
5.5 標識列 96
5.6 自定義數據類型 97
5.6.1 創建自定義數據類型 97
5.6.2 刪除用戶自定義數據類型 99
本章實訓 99
本章小結 101
習題 102
第6章 數據查詢 104
6.1 簡單SELECT語句 105
6.1.1 SELECT的語法格式 105
6.1.2 基本的SELECT語句 106
6.1.3 INTO子句 109
6.1.4 WHERE子句 111
6.1.5 ORDER BY子句 114
6.2 SELECT語句的統計功能 115
6.2.1 集合函數 115
6.2.2 GROUP BY子句 116
6.2.3 COMPUTE子句 117
6.3 SELECT語句中的多表連接 119
6.3.1 交叉連接 119
6.3.2 內連接 120
6.3.3 外連接 121
6.3.4 自連接 123
6.3.5 合并查詢 123
6.4 子查詢 124
6.4.1 嵌套子查詢 124
6.4.2 相關子查詢 126
6.4.3 使用子查詢向表中添加多條
記錄 128
本章實訓 128
本章小結 132
習題 133
第7章 視圖及其應用 135
7.1 視圖概述 135
7.1.1 視圖的基本概念 135
7.1.2 視圖的優點及注意事項 135
7.2 視圖的創建和查詢 136
7.2.1 在SQL Server Management
Studio中創建視圖 136
7.2.2 使用CREATE VIEW命令創建
視圖 138
7.2.3 使用視圖查詢數據 138
7.3 視圖的管理和維護 139
7.3.1 查看視圖的定義信息 139
7.3.2 查看視圖與其他對象的依賴
關系 140
7.3.3 視圖的修改 141
7.3.4 視圖的刪除 142
7.4 通過視圖修改表數據 142
本章實訓 143
本章小結 145
習題 146
第8章 索引及其應用 147
8.1 索引概述 147
8.1.1 索引的作用 147
8.1.2 索引的分類 148
8.2 創建索引 149
8.2.1 系統自動創建索引 149
8.2.2 在SQL Server Management
Studio中創建索引 150
8.2.3 使用CREATE INDEX語句創建索引 153
8.3 管理和維護索引 154
8.3.1 查看和維護索引信息 155
8.3.2 刪除索引 155
8.3.3 索引的分析與維護 156
本章實訓 159
本章小結 161
習題 161
第9章 T-SQL語言 163
9.1 批處理、腳本和注釋 163
9.1.1 批處理 163
9.1.2 腳本 164
9.1.3 注釋 165
9.2 常量、變量和表達式 165
9.2.1 常量 165
9.2.2 變量 167
9.2.3 運算符與表達式 169
9.3 流程控制語句 172
9.3.1 BEGIN…END語句塊 172
9.3.2 IF…ELSE語句 172
9.3.3 CASE表達式 173
9.3.4 無條件轉移語句GOTO 176
9.3.5 WAITFOR語句 176
9.3.6 WHILE語句 176
9.3.7 RETURN語句 177
9.4 系統內置函數 178
9.4.1 行集函數 178
9.4.2 聚合函數 179
9.4.3 標量函數 180
9.5 用戶自定義函數 190
9.5.1 用戶自定義函數的創建
與調用 190
9.5.2 修改與刪除用戶自定義
函數 193
9.6 游標及其使用 193
9.6.1 聲明游標 194
9.6.2 打開游標 194
9.6.3 數據處理 195
9.6.4 關閉游標 199
9.6.5 釋放游標 199
本章實訓 199
本章小結 202
第3章 SQL Server數據庫
SQL Server 2005數據庫是所涉及的對象以及數據的集合。它不僅反映數據本身的內容,而且反映對象以及數據之間的聯系。對數據庫的操作是開發人員的一項重要工作。
本章主要介紹SQL Server 2005數據庫的基本概念,以及創建、刪除、修改數據庫等基本操作。
通過學習本章,讀者應掌握以下內容:
* 數據庫及其對象
* 文件和文件組及事務日志
* 創建數據庫系統的幾個階段和原則
* 創建和管理數據庫的方法
3.1 SQL Server數據庫概述
SQL Server 2005將數據庫映射為一組操作系統文件。數據庫中的數據和日志信息分別保存在不同的文件中,而且各文件僅在一個數據庫中使用。文件組是命名的文件集合,用于幫助數據布局和管理任務,如備份和還原操作。
3.1.1 數據庫文件
1.數據庫文件分類
SQL Server 2005數據庫具有以下3種類型的文件。
(1) 主數據文件。是數據庫的起點,指向數據庫中的其他文件。每個數據庫都有且僅有一個主數據文件。主數據文件的推薦文件擴展名是.mdf。
(2) 次要數據文件。除主數據文件以外的所有其他數據文件都是次要數據文件。某些數據庫可能不包含任何次要數據文件,而有些數據庫則含有多個次要數據文件。次要數據文件的推薦文件擴展名是.ndf。
(3) 日志文件。包含用于恢復數據庫的所有日志信息。每個數據庫必須至少有一個日志文件,當然也可以有多個。日志文件的推薦文件擴展名是.ldf。
SQL Server 2005不強制使用.mdf、.ndf和.ldf文件擴展名,但使用它們有助于標識文件的各種類型和用途。
在SQL Server 2005中,數據庫中所有文件的位置都記錄在數據庫的主數據文件和master數據庫中。大多數情況下,數據庫引擎使用master數據庫中的文件位置信息。
2.邏輯文件名和物理文件名
SQL Server 2005?的文件擁有兩個名稱,即邏輯文件名和物理文件名。當使用?T-SQL命令語句訪問某個文件時,必須使用該文件的邏輯名。物理文件名是文件實際存儲在磁盤上的文件名,包含完整的磁盤目錄路徑。
(1) 邏輯文件名(logical_file_name):它是所有T-SQL語句引用物理文件時使用的名稱。邏輯文件名必須符合SQL Server標識符規則,而且在數據庫中的邏輯文件名必須是唯一的。
(2) 物理文件名(os_file_name):它是包括目錄路徑在內的文件全名,必須符合操作系統的文件命名規則。
3.文件大小
SQL Server 2005的文件大小有初始大小size、最大值maxsize和增量filegrowth三個參數。文件的大小可以從最初指定的初始大小size開始按增量filegrowth來增長,當文件增量超過最大值maxsize時將出錯,文件無法正常建立,也就是數據庫無法創建。
如果沒有指定最大值,文件可以一直增長到用完磁盤上的所有可用空間。如果SQL Server作為數據庫嵌入某個應用程序,而該應用程序的用戶無法迅速與系統管理員聯系,則不應指定文件的最大值,用戶可以使文件根據需要自動增長,以減輕監視數據庫中的可用空間和手動分配額外空間的管理負擔。