本書全面系統(tǒng)地介紹了SQL Server 2012的管理操作和應用開發(fā),以學生成績數據庫為主線,將基礎知識和實際應用有機結合起來,全書共分15章,分別介紹數據庫系統(tǒng)和數據庫設計、SQL Server概述、創(chuàng)建數據庫、創(chuàng)建和使用表、數據查詢、視圖、索引、數據完整性、T-SQL程序設計、存儲過程、觸發(fā)器、系統(tǒng)安全管理、備份和恢復、事務和鎖、Java EE和SQL Server學生成績管理系統(tǒng)開發(fā)等內容。本書可作為大學本科、高職高專及培訓班課程的教學用書,適于計算機應用人員和計所算機愛好者自學參考。本書特色為:培養(yǎng)學生掌握數據庫理論知識和SQL Server 數據庫管理、操作和編程能力。教學和實驗配套,各章的內容與該章實驗的內容相對應。深化實驗課教學,各個實驗分為驗證性實驗和設計性實驗兩個階段。介紹大數據、NoSQL等前沿內容。著重培養(yǎng)學生畫出合適的E-R圖的能力、編寫查詢語句的能力、編程的能力和開發(fā)能力。 本版所做重要修訂如下:(1)增加實驗內容。(2)配套資料齊全,提供教學大綱,教學課件、教學進度表、所有實例的源代碼、習題參考答案等。(3)為使取材合理、重點突出,適當精簡部分內容。
為了適應數據庫技術的新進展,反映數據庫教學的實踐經驗,保持本書的先進性和實用性,本書自2014年出版以來,于2017年出版第2版,現在對第2版進行修訂。
在第3版中,主要修改內容如下。
(1) 教學和實驗配套,各章(除第14章、第15章)都增加一節(jié)有關實驗的內容,方便課程教學和實驗課教學。
(2) 深化實驗課的教學,實驗分為驗證性實驗和設計性實驗兩個階段。
階段給出實現實驗題目的步驟和方法,供學生熟悉、借鑒和參考有關實驗題目的設計和實現。例如,給出實驗題目的SQL語句,供學生進行SQL語句調試的借鑒和參考。
第二階段引導學生獨立設計和實現實驗題目的步驟和方法。例如,培養(yǎng)學生獨立設計、編寫和調試SQL語句以達到實驗題目的要求的能力。
(3) 以應用廣泛的SQL Server 2012作為平臺介紹數據庫技術和應用。
(4) 培養(yǎng)學生掌握數據庫理論知識和運用SQL Server數據庫進行管理、操作和編程的能力。
(5) 著重培養(yǎng)學生畫出合適的ER圖的能力、編寫查詢語句的能力和數據庫語言編程的能力,培養(yǎng)學生開發(fā)簡單的數據庫應用系統(tǒng)的能力。
本書可作為大學本科、高職高專及培訓班課程的教學用書,也可作為計算機應用人員和計算機愛好者的自學參考書。
本書由趙明淵主編,參加本書編寫的還有
周亮宇、程小菊、蔡露、袁育廷、李姣。在此對于幫助完成基礎工作的同志,表示衷心的感謝!
為方便教學,本書提供教學大綱、教學課件、授課計劃、所有實例的源代碼,讀者可在清華大學出版社官網下載,也可掃描封底的書圈二維碼下載。每章章末都配有習題,附錄A提供了習題參考答案。
由于編者水平有限,書中難免存在疏漏之處,敬請讀者批評指正。
編者2022年1月
第1章數據庫系統(tǒng)和數據庫設計
1.1數據庫系統(tǒng)介紹
1.1.1數據庫、數據庫管理系統(tǒng)
1.1.2數據模型
1.1.3關系數據庫
1.1.4數據庫系統(tǒng)
1.2數據庫設計
1.2.1需求分析
1.2.2概念結構設計
1.2.3邏輯結構設計
1.2.4物理結構設計
1.2.5數據庫實施
1.2.6數據庫運行和維護
1.3小結
習題1
實驗1ER圖畫法與概念模型向邏輯模型的轉換
第2章SQL Server概述
2.1SQL Server簡介
2.2SQL Server 2012的安裝
2.3SQL Server服務器組件和管理工具
2.3.1SQL Server服務器組件
2.3.2SQL Server管理工具
2.4SQL Server Management Studio環(huán)境
2.5SQL和TSQL
2.5.1SQL概述
2.5.2TSQL概述
2.6小結
習題2
實驗2SQL Server 2012的安裝和運行
第3章創(chuàng)建數據庫
3.1SQL Server數據庫的基本概念
3.1.1邏輯數據庫
3.1.2物理數據庫
3.2以圖形界面方式創(chuàng)建SQL Server數據庫
3.3以命令方式創(chuàng)建SQL Server數據庫
3.3.1創(chuàng)建數據庫
3.3.2修改數據庫
3.3.3刪除數據庫
3.4小結
習題3
實驗3創(chuàng)建數據庫
第4章創(chuàng)建和使用表
4.1表的基本概念
4.1.1表和表結構
4.1.2系統(tǒng)數據類型
4.1.3表結構設計
4.2以命令方式創(chuàng)建SQL Server表
4.2.1創(chuàng)建表
4.2.2修改表
4.2.3刪除表
4.3以圖形界面方式創(chuàng)建SQL Server表
4.4以命令方式操作SQL Server表數據
4.4.1插入語句
4.4.2修改語句
4.4.3刪除語句
4.5以圖形界面方式操作SQL Server表數據
4.6小結
習題4
實驗4創(chuàng)建和使用表
實驗4.1創(chuàng)建表
實驗4.2使用表
第5章數據查詢
5.1投影查詢
5.2選擇查詢
5.3分組查詢和統(tǒng)計計算
5.4排序查詢
5.5連接查詢
5.5.1連接謂詞
5.5.2以JOIN為關鍵字指定的連接
5.6子查詢
5.6.1IN子查詢
5.6.2比較子查詢
5.6.3EXISTS子查詢
5.7SELECT查詢的其他子句
5.8綜合訓練
5.9小結
習題5
實驗5數據查詢
實驗5.1數據查詢1
實驗5.2數據查詢2
第6章視圖
6.1創(chuàng)建視圖
6.2查詢視圖
6.3更新視圖
6.3.1可更新視圖
6.3.2插入數據
6.3.3修改數據
6.3.4刪除數據
6.4修改視圖定義和重命名視圖
6.4.1修改視圖定義
6.4.2重命名視圖
6.5查看視圖信息
6.6刪除視圖
6.7小結
習題6
實驗6視圖
第7章索引
7.1索引的分類
7.2索引的創(chuàng)建
7.3修改和查看索引屬性
7.3.1使用TSQL語句修改索引屬性
7.3.2使用系統(tǒng)存儲過程查看索引屬性
7.4索引的刪除
7.5小結
習題7
實驗7索引
第8章數據完整性
8.1數據完整性概述
8.2實體完整性
8.2.1PRIMARY KEY約束
8.2.2UNIQUE約束
8.3參照完整性
8.3.1定義表間參照關系的步驟
8.3.2FOREIGN KEY約束
8.4域完整性
8.4.1CHECK約束
8.4.2DEFAULT約束
8.5綜合訓練
8.6小結
習題8
實驗8數據完整性
第9章TSQL程序設計
9.1SQL數據類型
9.1.1系統(tǒng)數據類型
9.1.2用戶自定義數據類型
9.1.3用戶自定義表數據類型
9.2標識符、常量、變量
9.2.1標識符
9.2.2常量
9.2.3變量
9.3運算符與表達式
9.3.1算術運算符
9.3.2位運算符
9.3.3比較運算符
9.3.4邏輯運算符
9.3.5字符串連接運算符
9.3.6賦值運算符
9.3.7一元運算符
9.3.8運算符優(yōu)先級
9.4流程控制語句
9.4.1BEGIN…END語句
9.4.2IF…ELSE語句
9.4.3WHILE、BREAK和CONTINUE語句
9.4.4GOTO語句
9.4.5RETURN語句
9.4.6WAITFOR語句
9.4.7TRY…CATCH語句
9.5系統(tǒng)內置函數
9.6用戶定義函數
9.6.1用戶定義函數的定義和調用
9.6.2用戶定義函數的刪除
9.7游標
9.7.1游標的概念
9.7.2游標的基本操作
9.7.3使用游標
9.8綜合訓練
9.9小結
習題9
實驗9TSQL程序設計
第10章存儲過程
10.1存儲過程概述
10.2存儲過程的創(chuàng)建
10.3存儲過程的使用
10.3.1存儲過程的執(zhí)行
10.3.2存儲過程的參數
10.4存儲過程的管理
10.4.1查看存儲過程
10.4.2修改存儲過程
10.4.3重命名存儲過程
10.4.4刪除存儲過程
10.5綜合訓練
10.6小結
習題10
實驗10存儲過程
第11章觸發(fā)器
11.1觸發(fā)器概述
11.2創(chuàng)建DML觸發(fā)器
11.3使用DML觸發(fā)器
11.3.1使用AFTER觸發(fā)器
11.3.2使用INSTEAD OF觸發(fā)器
11.4創(chuàng)建和使用DDL觸發(fā)器
11.4.1創(chuàng)建DDL觸發(fā)器
11.4.2使用DDL觸發(fā)器
11.5觸發(fā)器的管理
11.5.1查看觸發(fā)器
11.5.2修改觸發(fā)器
11.5.3刪除觸發(fā)器
11.5.4啟用或禁用觸發(fā)器
11.6綜合訓練
11.7小結
習題11
實驗11觸發(fā)器
第12章系統(tǒng)安全管理
12.1SQL Server安全機制和身份驗證模式
12.1.1SQL Server安全機制
12.1.2SQL Server身份驗證模式
12.2服務器登錄名管理
12.2.1創(chuàng)建登錄名和密碼
12.2.2修改登錄名和密碼
12.2.3刪除登錄名
12.3數據庫用戶管理
12.3.1創(chuàng)建數據庫用戶
12.3.2修改數據庫用戶
12.3.3刪除數據庫用戶
12.4角色
12.4.1服務器角色
12.4.2數據庫角色
12.5權限管理
12.5.1登錄名權限管理
12.5.2數據庫用戶權限管理
12.6綜合訓練
12.7小結
習題12
實驗12系統(tǒng)安全管理
第13章備份和恢復
13.1備份和恢復概述
13.2創(chuàng)建備份設備
13.2.1使用存儲過程創(chuàng)建和刪除命名備份設備
13.2.2使用TSQL語句創(chuàng)建臨時備份設備
13.2.3使用圖形界面方式創(chuàng)建和刪除命名備份設備
13.3備份數據庫
13.3.1使用TSQL語句備份數據庫
13.3.2使用圖形界面方式備份數據庫
13.4恢復數據庫
13.4.1使用TSQL語句恢復數據庫
13.4.2使用圖形界面方式恢復數據庫
13.5復制數據庫
13.6分離和附加數據庫
13.6.1分離數據庫
13.6.2附加數據庫
13.7小結
習題13
實驗13備份和恢復
第14章事務和鎖
14.1事務
14.1.1事務原理
14.1.2事務類型
14.1.3事務模式
14.1.4事務處理語句
14.2鎖定
14.2.1并發(fā)影響
14.2.2可鎖定資源和鎖模式
14.2.3死鎖
14.3小結
習題14
第15章基于Java EE和SQL Server的學生成績管理系統(tǒng)開發(fā)
15.1創(chuàng)建學生成績管理系統(tǒng)數據庫和表
15.2搭建系統(tǒng)框架
15.2.1層次劃分
15.2.2搭建項目框架
15.3持久層開發(fā)
15.4業(yè)務層開發(fā)
15.5表示層開發(fā)
15.6小結
習題15
附錄A習題參考答案
附錄B學生成績數據庫stsc的表結構和樣本數據
參考文獻