《SQL Server數據庫管理、開發與實踐》作為SQL Server技術課程的教材,系統全面地介紹了有關SQL Server及SQL語言的各類知識,并分別結合Visual Basic、ASP.NET和JSP這3種語言講述了SQL Server數據庫在實際開發中的應用。全書共分16章,內容包括數據庫基礎、認識SQL Server 2008、Transact-SQL語法基礎、數據庫和表、SQL查詢、視圖操作、索引與數據完整性、SQL常用函數、存儲過程和觸發器、游標的使用、事務與鎖、SQL Server 2008的維護、SQL Server 2008數據庫安全、綜合案例——圖書綜合管理系統、課程設計——ASP.NET+SQL Server 2008實現圖書館管理系統、課程設計——JSP+SQL Server 2008實現博客網站。全書每章內容都與實例緊密結合,有助于學生對知識點的理解和應用,達到學以致用的目的。
本書附有配套DVD光盤,光盤中提供有本書所有實例、綜合實例、實驗、綜合案例和課程設計的源代碼、制作精良的電子課件PPT及教學錄像。其中,源代碼全部經過精心測試,能夠在Windows XP、Windows 2003、Windows 7系統下編譯和運行。
本書可作為應用型本科計算機類專業、軟件學院、高職軟件專業及相關專業的教材,同時也適合SQL Server愛好者以及初、中級的程序開發人員參考使用。
第1章 數據庫基礎
1.1 數據庫系統簡介
1.1.1 數據庫技術的發展
1.1.2 數據庫系統的組成
1.2 數據模型
1.2.1 數據模型的概念
1.2.2 常見的數據模型
1.2.3 關系數據庫的規范化
1.2.4 關系數據庫的設計原則
1.2.5 實體與關系
1.3 數據庫的體系結構
1.3.1 數據庫三級模式結構
1.3.2 三級模式之間的映射
知識點提煉
習題
第2章 SQL Server 2008概述
2.1 初識SQL Server 2008
2.1.1 SQL Server 2008的簡介
2.1.2 SQL Server 2008的特點
2.2 SQL Server 2008的安裝
2.2.1 SQL Server 2008安裝必備
2.2.2 SQL Server 2008的安裝
2.2.3 SQL Server 2008的卸載
2.3 SQL Server 2008的服務
2.3.1 后臺啟動SQL Server 2008
2.3.2 通過SQL Server配置管理器啟動SQL Server2008
2.4 注冊SQL Server 2008服務器
2.4.1 服務器組的創建與刪除
2.4.2 服務器的注冊與刪除
知識點提煉
習題
第3章 Transact-SQL語法基礎
3.1 T-SQL概述
3.1.1 T-SQL語言的組成
3.1.2 T-SQL語句結構
3.2 常量
3.2.1 字符串常量
3.2.2 二進制常量
3.2.3 bit常量
3.2.4 日期和時間常量
3.3 變量
3.3.1 局部變量
3.3.2 全局變量
3.4 注釋符、運算符與通配符
3.4.1 注釋符(Annotation)
3.4.2 運算符(Operator)
3.4.3 通配符(Wildcard)
3.5 流程控制
3.5.1 BEGIN...END
3.5.2 IF
3.5.3 IF…ELSE
3.5.4 CASE
3.5.5 WHILE
3.5.6 WHILE…CONTINUE…BREAK
3.5.7 RETURN
3.5.8 GOTO
3.5.9 WAITFOR
3.6 綜合實例--修改數據庫中的表
知識點提煉
習題
實驗:附加單文件數據庫
實驗目的
實驗內容
實驗步驟
第4章 數據庫和表
4.1 認識數據庫
4.1.1 數據庫基本概念
4.1.2 數據庫常用對象
4.1.3 數據庫組成
4.1.4 系統數據庫
4.2 SQL Server的命名規范
4.2.1 標識符
4.2.2 對象命名規則
4.2.3 實例命名規則
4.3 數據庫操作
4.3.1 創建數據庫
4.3.2 修改數據庫
4.3.3 刪除數據庫
4.4 數據表操作
4.4.1 以界面方式創建、修改和刪除數據表
4.4.2 使用CREATE TABLE語句創建表
4.4.3 創建、修改和刪除約束
4.4.4 使用ALTER TABLE語句修改表結構
4.4.5 使用DROP TABLE語句刪除表
4.5 數據操作
4.5.1 使用INSERT語句添加數據
4.5.2 使用UPDATE語句修改指定數據
4.5.3 使用DELETE語句刪除指定數據
4.6 表與表之間的關聯
4.6.1 一對一關系
4.6.2 一對多關系
4.6.3 多對多關系
4.7 綜合實例--批量插入數據
知識點提煉
習題
實驗:刪除表中相同行數據
實驗目的
實驗內容
實驗步驟
第5章 SQL查詢
5.1 SELECT檢索數據
5.1.1 SELECT語句的基本結構
5.1.2 WITH子句
5.1.3 SELECT…FROM子句
5.1.4 INTO子句
5.1.5 WHERE子句
5.1.6 GROUP BY子句
5.1.7 HAVING子句
5.1.8 ORDER BY子句
5.1.9 COMPUTE子句
5.1.10 DISTINCT關鍵字
5.1.11 TOP關鍵字
5.2 UNION合并多個查詢結果
5.2.1 UNION與聯接之間的區別
5.2.2 使用UNION ALL合并表
5.2.3 UNION中的order by子句
5.2.4 UNION中的自動數據類型轉換
5.2.5 使用UNION合并不同類型的數據
5.2.6 使用UNION合并有不同列數的兩個表
5.2.7 使用UNION進行多表合并
5.3 子查詢與嵌套查詢
5.3.1 什么是子查詢
5.3.2 什么是嵌套查詢
5.3.3 簡單的嵌套查詢
5.3.4 帶IN的嵌套查詢
5.3.5 帶NOT IN的嵌套查詢
5.3.6 帶SOME的嵌套查詢
5.3.7 帶ANY的嵌套查詢
5.3.8 帶ALL的嵌套查詢
5.3.9 帶EXISTS的嵌套查詢
5.4 聯接查詢
5.4.1 內部聯接
5.4.2 外部聯接
5.4.3 交叉聯接
5.4.4 聯接多表的方法
5.5 綜合實例--按照升序排列前三的數據
知識點提煉
習題
實驗:利用模糊查詢進行區間查詢
實驗目的
實驗內容
實驗步驟
第6章 視圖操作
6.1 視圖概述
6.1.1 以界面方式操作視圖
6.1.2 使用CREATE VIEW語句創建視圖
6.1.3 使用ALTER VIEW語句修改視圖
6.1.4 使用DROP VIEW語句刪除視圖
6.2 視圖中的數據操作
6.2.1 從視圖中瀏覽數據
6.2.2 向視圖中添加數據
6.2.3 修改視圖中的數據
6.2.4 刪除視圖中的數據
6.3 綜合實例--使用視圖過濾些數據
知識點提煉
習題
實驗:視圖定義文本加密
實驗目的
實驗內容
實驗步驟
第7章 索引與數據完整性
7.1 索引的概念
7.2 索引的優缺點
7.2.1 索引的優點
7.2.2 索引的缺點
7.3 索引的分類
7.3.1 聚集索引
7.3.2 非聚集索引
7.4 索引的操作
7.4.1 索引的創建
7.4.2 查看索引信息
7.4.3 索引的修改
7.4.4 索引的刪除
7.4.5 設置索引的選項
7.5 索引的分析與維護
7.5.1 索引的分析
7.5.2 索引的維護
7.6 全文索引
7.6.1 使用企業管理器啟用全文索引
7.6.2 使用Transact-SQL語句啟用全文索引
7.6.3 使用Transact-SQL語句刪除全文索引
7.6.4 全文目錄
7.6.5 全文目錄的維護
7.7 數據完整性
7.7.1 域完整性
7.7.2 實體完整性
7.7.3 引用完整性
7.7.4 用戶定義完整性
7.8 綜合實例--Transact-SQL維護全文索引
知識點提煉
習題
實驗:對格式化的二進制數據進行全文索引
實驗目的
實驗內容
實驗步驟
第8章 SQL常用函數
8.1 聚合函數
8.1.1 聚合函數概述
8.1.2 SUM(求和)函數
8.1.3 AVG(平均值)函數
8.1.4 MIN(最小值)函數
8.1.5 MAX(最大值)函數
8.1.6 COUNT(統計)函數
8.1.7 DISTINCT(取不重復記錄)函數
8.1.8 查詢重復記錄
8.2 數學函數
8.2.1 數學函數概述
8.2.2 ABS(絕對值)函數
8.2.3 PI(圓周率)函數
8.2.4 POWER(乘方)函數
8.2.5 RAND(隨機浮點數)函數
8.2.6 ROUND(四舍五入)函數
8.2.7 SQUARE(平方)函數和SQRT(平方根)函數
8.2.8 三角函數
8.3 字符串函數
8.3.1 字符串函數概述
8.3.2 ASCII(獲取ASCII碼)函數
8.3.3 CHARINDEX(返回字符串的起始位置)函數
8.3.4 LEFT(取左邊指定個數的字符)函數
8.3.5 RIGHT(取右邊指定個數的字符)函數
8.3.6 LEN(返回字符個數)函數
8.3.7 REPLACE(替換字符串)函數
8.3.8 REVERSE(返回字符表達式的反轉)函數
8.3.9 STR函數
8.3.10 SUBSTRING(取字符串)函數
8.4 日期和時間函數
8.4.1 日期和時間函數概述
8.4.2 GETDATE(返回當前系統日期和時間)函數
8.4.3 DAY(返回指定日期的天)函數
8.4.4 MONTH(返回指定日期的月)函數
8.4.5 YEAR(返回指定日期的年)函數
8.4.6 DATEDIFF(返回日期和時間的邊界數)函數
8.4.7 DATEADD(添加日期時間)函數
8.5 轉換函數
8.5.1 轉換函數概述
8.5.2 CAST函數
8.5.3 CONVERT函數
8.6 元數據函數
8.6.1 元數據函數概述
8.6.2 COL_LENGTH函數
8.6.3 COL_NAME函數
8.6.4 DB_NAME函數
8.7 綜合實例--查看商品信息表中價格最貴的記錄
知識點提煉
習題
實驗:顯示商品信息表中的平均價格
實驗目的
實驗內容
實驗步驟
第9章 存儲過程和觸發器
9.1 存儲過程概述
9.1.1 存儲過程的概念
9.1.2 存儲過程的優點
9.2 存儲過程的創建與管理
9.2.1 使用向導創建存儲過程
9.2.2 使用CREATE PROC語句創建存儲過程
9.2.3 執行存儲過程
9.2.4 查看存儲過程
9.2.5 修改存儲過程
9.2.6 重命名存儲過程
9.2.7 刪除存儲過程
9.3 觸發器概述
9.3.1 觸發器的概念
9.3.2 觸發器的優點
9.3.3 觸發器的種類
9.4 觸發器的創建與管理
9.4.1 創建DML觸發器
9.4.2 創建DDL觸發器
9.4.3 創建登錄觸發器
9.4.4 查看觸發器
9.4.5 修改觸發器
9.4.6 重命名觸發器
9.4.7 禁用和啟用觸發器
9.4.8 刪除觸發器
9.5 綜合實例--使用觸發器向MingRiBook數據庫的user表中添加數據
知識點提煉
習題
實驗:使用T-SQL語句創建存儲過程并執行
實驗目的
實驗內容
實驗步驟
第10章 游標的使用
10.1 游標的概述
10.1.1 游標的實現
10.1.2 游標的類型
10.2 游標的基本操作
10.2.1 聲明游標
10.2.2 打開游標
10.2.3 讀取游標中的數據
10.2.4 關閉游標
10.2.5 釋放游標
10.3 使用系統過程查看游標
10.3.1 sp_cursor_list
10.3.2 sp_describe_cursor
10.4 綜合實例--利用游標在商品表中返回指定商品行數據
知識點提煉
習題
實驗:關閉釋放游標
實驗目的
實驗內容
實驗步驟
第11章 事務與鎖
11.1 事務的概念
11.2 顯式事務與隱式事務
11.2.1 顯式事務
11.2.2 隱式事務
11.2.3 API中控制隱式事務
11.2.4 事務的COMMIT和ROLLBACK
11.3 使用事務
11.3.1 開始事務
11.3.2 結束事務
11.3.3 回滾事務
11.3.4 事務的工作機制
11.3.5 自動提交事務
11.3.6 事務的并發問題
11.3.7 事務的隔離級別
11.4 鎖
11.4.1 SQL Server鎖機制
11.4.2 鎖模式
11.4.3 鎖的粒度
11.4.4 查看鎖
11.4.5 死鎖
11.5 分布式事務處理
11.5.1 分布式事務簡介
11.5.2 創建分布式事務
11.5.3 分布式處理協調器
11.6 綜合實例--使用事務對表進行添加和查詢操作
知識點提煉
習題
實驗:使用事務完成對表的修改和刪除操作
實驗目的
實驗內容
實驗步驟
第12章 SQL Server 2008的維護
12.1 分離和附加數據庫
12.1.1 分離數據庫
12.1.2 附加數據庫
12.2 導入導出數據
12.2.1 導入SQL Server數據表
12.2.2 導入其他數據源的數據
12.3.3 導出SQL Server數據表
12.3 備份和恢復數據庫
12.3.1 備份類型
12.3.2 恢復模式
12.3.3 備份數據庫
12.3.4 恢復數據庫
12.4 收縮數據庫和文件
12.4.1 自動收縮數據庫
12.4.2 手動收縮數據庫
12.5 生成與執行SQL腳本
12.5.1 將數據庫生成SQL腳本
12.5.2 將數據表生成SQL腳本
12.5.3 執行SQL腳本
12.6 綜合實例--查看用戶創建的所有數據庫
知識點提煉
習題
實驗:查看硬盤分區
實驗目的
實驗內容
實驗步驟
第13章 SQL Server 2008數據庫安全
13.1 數據庫安全概述
13.2 登錄管理
13.2.1 驗證模式
13.2.2 創建與刪除登錄名
13.2.3 更改登錄用戶驗證方式
13.2.4 密碼策略
13.3 用戶及權限管理
13.3.1 創建與刪除數據庫用戶
13.3.2 設置服務器角色權限
13.4 綜合實例--設置數據庫的訪問權限
知識點提煉
習題
實驗:創建數據庫用戶賬戶
實驗目的
實驗內容
實驗步驟
第14章 綜合案例--圖書綜合管理系統
14.1 需求分析
14.2 總體設計
14.2.1 系統目標
14.2.2 構建開發環境
14.2.3 系統功能結構
14.2.4 業務流程圖
14.3 數據庫設計
14.3.1 數據庫概要說明
14.3.2 數據庫E-R圖
14.3.3 數據表結構
14.4 公共模塊設計
14.4.1 函數準備
14.4.2 控件準備
14.4.3 公共模塊設計
14.5 主要模塊開發
14.5.1 系統登錄設計
14.5.2 程序主窗體
14.5.3 圖書類別管理
14.5.4 讀者信息管理
14.5.5 入庫管理
14.5.6 入庫查詢
14.5.7 庫存上下限設置
14.5.8 銷量分析
14.5.9 添加操作員
14.5.10 庫存打印報表
14.6 程序調試
14.6.1 如何鎖定DataGrid表格的指定列
14.6.2 數據批量錄入
14.6.3 字段長度問題導致數據添加失敗
14.6.4 ADO控件記錄源命令類型設置錯誤出現的問題
第15章 課程設計--ASP.NET+SQL Server 2008實現圖書館管理系統
15.1 課程設計目的
15.2 功能描述
15.3 總體設計
15.3.1 構建開發環境
15.3.2 網站功能結構
15.3.3 業務流程圖
15.4 數據庫設計
15.4.1 實體E-R圖
15.4.2 數據表設計
15.4.3 視圖設計
15.5 實現過程
15.5.1 母版頁設計
15.5.2 圖書館管理系統首頁設計
15.5.3 圖書館信息頁設計
15.5.4 查看圖書信息頁設計
15.5.5 添加/修改圖書信息頁設計
15.5.6 圖書借閱頁設計
15.5.7 圖書歸還頁設計
15.6 調試運行
15.7 課程設計總結
第16章 課程設計--JSP+SQL Server 2008實現博客網站
16.1 課程設計目的
16.2 功能描述
16.3 總體設計
16.3.1 構建開發環境
16.3.2 網站功能結構
16.3.3 業務流程圖
16.4 數據庫設計
16.4.1 實體E-R圖
16.4.2 數據表設計
16.5 實現過程
16.5.1 系統配置
16.5.2 系統登錄模塊設計
16.5.3 用戶注冊模塊設計
16.5.4 文章管理模塊設計
16.5.5 相冊管理模塊設計
16.6 調試運行
16.7 課程設計總結