本書是以工作過程為導(dǎo)向,以當(dāng)前流行的SQL Server 2012為平臺(也介紹了2016版)的實用教程,內(nèi)容包括:數(shù)據(jù)庫基礎(chǔ)知識、SQL Server 教程、SQL Server 實訓(xùn)項目和附錄。其主要介紹了數(shù)據(jù)庫的概念,關(guān)系數(shù)據(jù)模型的初步建立;SQL Server 的主要功能,建立管理數(shù)據(jù)庫、表(包括使用PD建立)、視圖、索引、用戶等,以及使用SQL Server完成查詢和建立簡單的存儲過程和觸發(fā)器,還有微軟云計算數(shù)據(jù)庫SQL Azure等;通過實訓(xùn)項目對主要內(nèi)容進行操作和編程訓(xùn)練;附錄部分給出了安裝SQL Server的步驟和完整的學(xué)校綜合管理數(shù)據(jù)庫系統(tǒng)示例。本教程提供免費下載電子教學(xué)課件、所有源文件、教學(xué)及實訓(xùn)數(shù)據(jù)庫。
數(shù)據(jù)庫技術(shù)是計算機科學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,已經(jīng)成為計算機信息應(yīng)用系統(tǒng)的核心技術(shù)。數(shù)據(jù)庫技術(shù)課程已是高職高專計算機類專業(yè)(非計算機類專業(yè)計算機等級考試)的主干必修課程。在數(shù)據(jù)庫領(lǐng)域,SQL Server系列產(chǎn)品在性能上可以和DB2、Oracle等媲美,并且其運行速度更快,在中小企業(yè)的市場占有率和學(xué)生學(xué)習(xí)的普及率方面是當(dāng)之無愧的NO.1。
寫作原則
本著高職高專教學(xué)突出理論知識的應(yīng)用和實踐能力的培養(yǎng),基礎(chǔ)理論以必需、夠用為度,專業(yè)教學(xué)加強針對性和實用性等原則,將本書的相關(guān)內(nèi)容分為第1部分(基礎(chǔ)篇)、第2部分(應(yīng)用篇)、第3部分(提高篇)和第4部分(附錄篇)。
本書力求通過簡明扼要、深入細致的講解和良好的文章結(jié)構(gòu)設(shè)計,充分平緩初學(xué)者的學(xué)習(xí)曲線。其目標(biāo)是讓數(shù)據(jù)庫的初學(xué)者在應(yīng)用最廣的版本SQL Server 2012領(lǐng)域易于上手、勇于探索,讓有一定基礎(chǔ)的學(xué)習(xí)者敢于深入、快速把握。基于此,本書在編寫時不求速度,只求精華,仔細推敲每段文字。第一版出版后深受讀者歡迎,實踐也證明了這些編寫原則的可行性。
內(nèi)容安排思路
從微觀來看,本書將SQL Server 的技術(shù)人文化,在章節(jié)安排過程中,十分注重各章節(jié)之間的聯(lián)系和學(xué)習(xí)曲線的平緩性。從數(shù)據(jù)庫開發(fā)的階段來看都是從需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫的物理實現(xiàn)、數(shù)據(jù)庫的實施和運行維護的過程。
寫作特色
在寫作的時候,我們特別重視本書與同類書相比的特色,綜合起來,在以下幾方面做了堅持不懈的努力。
(1)基于工作過程導(dǎo)向的教學(xué)方法是一種全新的模式,本書正是基于這一模式進行編寫,這是全體教師教學(xué)方法和經(jīng)驗的精粹。
(2)開創(chuàng)新的教材編寫體例,全書所有的講解和例題都基于一個完整的工作實例,貫穿全書。
(3)寓教于學(xué),學(xué)生在學(xué)習(xí)的同時可以自己開發(fā)實訓(xùn)項目,全書也提供了一個完整的項目引導(dǎo)學(xué)生實踐。
(4)多位一線教師的經(jīng)驗集萃,在新的基于工作過程導(dǎo)向模式下的總結(jié),讓教師的教學(xué)更高效,學(xué)生的興趣更高昂。
(5)圖文并茂,條理清晰,尤其是更注重細節(jié),增加了很多分析、思考、練習(xí)和注意事項等。
(6)免費下載本書電子課件、所有源文件、教學(xué)及實訓(xùn)數(shù)據(jù)庫。
與現(xiàn)在市場上介紹SQL Server 的教材相比,本書最大的優(yōu)點是除了在選題的考究、編寫過程下足工夫之外,還將知識的講解融入每個實例中,將全新的基于工作過程導(dǎo)向的教學(xué)方法融入教材中,使學(xué)生的學(xué)習(xí)更高效。另外,本書在介紹一般學(xué)習(xí)方法的同時也進行引申講解,稱得上是一本難得的好書。
學(xué)期和學(xué)時安排
本書可在第二學(xué)期使用,讀者最好有一點編程基礎(chǔ),或者直接開設(shè)本門課程作為數(shù)據(jù)庫技術(shù)。
建議授課學(xué)時為72學(xué)時 ,具體學(xué)時安排如下。
學(xué) 時 安 排
序 號 授 課 內(nèi) 容 講 課 實 踐
1 數(shù)據(jù)庫基礎(chǔ)知識 2 2
2 關(guān)系數(shù)據(jù)庫 2 2
3 SQL Server 系統(tǒng)概述 1 0
4 創(chuàng)建和管理數(shù)據(jù)庫 4 3
5 創(chuàng)建和管理表 6 6
6 數(shù)據(jù)檢索 6 8
7 索引和視圖 2 2
8 T-SQL編程基礎(chǔ) 2 2
9 存儲過程 6 6
10 觸發(fā)器 4 4
11 SQL Server安全管理 1 1
12 *數(shù)據(jù)庫并發(fā)控制及實現(xiàn)、云計算數(shù)據(jù)庫SQL Azure 可做選讀 0
總學(xué)時72 36 36
學(xué)習(xí)結(jié)構(gòu)圖
資源下載
本書中實例(灰色底紋)部分的代碼都是經(jīng)過調(diào)試的。另外,本書配套的電子課件、所有源文件、教學(xué)及實訓(xùn)數(shù)據(jù)庫,請讀者登錄華信教育資源網(wǎng)免費下載。
特別感謝
本書由劉勇軍、張麗、蔣文君擔(dān)任主編,由劉亞飛、王俊海、冉娜、林靜擔(dān)任副主編。其中,第1、5、11章由蔣文君編寫;第2章、第5.4節(jié)由林靜編寫;第3、4、6、12章的內(nèi)容由冉娜編寫;第7、8、10章和附錄C由王俊海編寫;第9章和附錄B的內(nèi)容由張麗編寫;第13章、2.4.2、3.3節(jié)和附錄A由劉亞飛編寫;劉勇軍、張麗、蔣文君對全書進行統(tǒng)稿,劉甫迎教授主審。
由于編者水平有限,加之編寫時間倉促,書中難免有不妥之處,歡迎讀者斧正。
編者
第1部分 基礎(chǔ)篇 (1)
第1章 數(shù)據(jù)庫基礎(chǔ)知識 (2)
1.1 數(shù)據(jù)庫技術(shù)概述 (3)
1.1.1 數(shù)據(jù)庫相關(guān)概念 (3)
1.1.2 數(shù)據(jù)庫技術(shù)的產(chǎn)生和發(fā)展 (4)
1.1.3 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu) (4)
1.2 數(shù)據(jù)模型 (5)
1.2.1 數(shù)據(jù)模型的組成要素 (5)
1.2.2 層次模型 (6)
1.2.3 網(wǎng)狀模型 (7)
1.2.4 關(guān)系模型 (7)
1.3 數(shù)據(jù)庫設(shè)計 (8)
1.3.1 概述 (8)
1.3.2 數(shù)據(jù)庫設(shè)計步驟 (8)
1.4 概念模型 (10)
1.4.1 基本概念 (10)
1.4.2 概念模型的表示(E-R建模) (11)
1.5 數(shù)據(jù)庫技術(shù)新發(fā)展 (12)
1.5.1 數(shù)據(jù)庫領(lǐng)域現(xiàn)狀 (12)
1.5.2 數(shù)據(jù)庫新技術(shù) (12)
1.6 本章小結(jié) (13)
1.7 思考與練習(xí) (13)
1.8 實訓(xùn)項目 (14)
第2章 關(guān)系數(shù)據(jù)庫 (17)
2.1 關(guān)系模型的概述 (18)
2.1.1 關(guān)系 (18)
2.1.2 關(guān)系術(shù)語 (19)
2.2 概念模型到關(guān)系模型的轉(zhuǎn)換 (19)
2.2.1 聯(lián)系 (19)
2.2.2 模型轉(zhuǎn)換 (20)
2.3 關(guān)系的完整性 (21)
2.3.1 實體完整性 (21)
2.3.2 域完整性 (21)
2.3.3 參照完整性 (21)
2.3.4 完整性檢查 (22)
2.4 函數(shù)依賴與規(guī)范化 (23)
2.4.1 函數(shù)依賴 (23)
2.4.2 規(guī)范化設(shè)計 (24)
2.5 本章小結(jié) (26)
2.6 思考與練習(xí) (26)
2.7 實訓(xùn)項目 (28)
第2部分 應(yīng)用篇 (31)
第3章 SQL Server系統(tǒng)概述 (32)
3.1 SQL Server簡介 (33)
3.2 SQL Server基本功能 (34)
3.2.1 易管理性 (34)
3.2.2 安全性 (35)
3.2.3 擴展語言的支持 (35)
3.2.4 開發(fā)工具 (36)
3.3 SQL Server 2016新增功能 (36)
3.4 體驗SQL Server Management Studio (38)
3.4.1 啟動SQL Server Management Studio (38)
3.4.2 配置SQL Server Management Studio環(huán)境 (39)
3.5 系統(tǒng)數(shù)據(jù)庫和示例數(shù)據(jù)庫 (41)
3.5.1 系統(tǒng)數(shù)據(jù)庫 (41)
3.5.2 示例數(shù)據(jù)庫 (42)
3.5.3 成績管理數(shù)據(jù)庫CJGL (42)
3.6 SQL Server工具簡介 (42)
3.6.1 執(zhí)行T-SQL語句 (42)
3.6.2 使用sqlcmd工具 (43)
3.7 本章小結(jié) (44)
3.8 思考與練習(xí) (44)
第4章 創(chuàng)建和管理數(shù)據(jù)庫 (45)
4.1 創(chuàng)建數(shù)據(jù)庫 (45)
4.2 管理數(shù)據(jù)庫 (48)
4.3 備份與恢復(fù) (50)
4.3.1 數(shù)據(jù)庫備份 (50)
4.3.2 數(shù)據(jù)庫還原 (51)
4.4 數(shù)據(jù)庫分離和附加 (52)
4.4.1 分離數(shù)據(jù)庫 (52)
4.4.2 附加數(shù)據(jù)庫 (52)
4.5 本章小結(jié) (53)
4.6 思考與練習(xí) (53)
4.7 實訓(xùn)項目 (54)
第5章 創(chuàng)建和管理表 (56)
5.1 表 (57)
5.1.1 表的基本概念 (57)
5.1.2 數(shù)據(jù)類型 (57)
5.1.3 創(chuàng)建表 (60)
5.1.4 管理表 (64)
5.2 表數(shù)據(jù)操作 (66)
5.2.1 操作表數(shù)據(jù) (66)
5.2.2 數(shù)據(jù)的導(dǎo)入/導(dǎo)出 (70)
5.3 表數(shù)據(jù)完整性的實現(xiàn) (74)
5.3.1 約束的概述 (74)
5.3.2 主鍵約束(PRIMARY KEY) (75)
5.3.3 唯一性約束(UNIQUE) (76)
5.3.4 檢查約束(CHECK) (76)
5.3.5 默認約束(DEFAULT) (78)
5.3.6 外鍵約束(FOREIGN KEY) (79)
5.4 用Power Designer建模創(chuàng)建表 (81)
5.4.1 Power Designer(PD)簡介 (81)
5.4.2 用PD建模創(chuàng)建庫表 (82)
5.5 本章小結(jié) (88)
5.6 思考與練習(xí) (88)
5.7 實訓(xùn)項目 (89)
第6章 數(shù)據(jù)檢索 (94)
6.1 SQL概述 (95)
6.2 使用SELECT語句的簡單查詢 (95)
6.2.1 SELECT子句 (95)
6.2.2 FROM子句 (99)
6.2.3 WHERE子句 (100)
6.2.4 GROUP BY子句 (102)
6.2.5 HAVING子句 (103)
6.2.6 ORDER BY子句 (105)
6.3 常用的其他關(guān)鍵字 (105)
6.3.1 LIKE關(guān)鍵字 (105)
6.3.2 NULL關(guān)鍵字 (107)
6.3.3 TOP關(guān)鍵字 (108)
6.3.4 BETWEEN…AND…關(guān)鍵字 (109)
6.3.5 CASE關(guān)鍵字 (110)
6.4 高級查詢 (111)
6.4.1 連接查詢 (111)
6.4.2 子查詢 (116)
6.4.3 聯(lián)合查詢 (118)
6.5 本章小結(jié) (120)
6.6 思考與練習(xí) (120)
6.7 實訓(xùn)項目 (121)
簡單查詢 (121)
高級查詢 (122)
第3部分 提高篇 (125)
第7章 索引和視圖 (126)
7.1 索引 (127)
7.1.1 索引基礎(chǔ)知識 (127)
7.1.2 建立索引 (128)
7.1.3 管理索引 (130)
7.1.4 索引分析和維護 (134)
7.2 視圖 (137)
7.2.1 視圖基礎(chǔ)知識 (138)
7.2.2 創(chuàng)建視圖 (138)
7.2.3 管理視圖 (145)
7.3 本章小結(jié) (152)
7.4 思考與練習(xí) (153)
7.5 實訓(xùn)項目 (153)
第8章 T-SQL編程基礎(chǔ) (155)
8.1 T-SQL基礎(chǔ)知識 (156)
8.1.1 用戶定義數(shù)據(jù)類型 (156)
8.1.2 規(guī)則和默認 (160)
8.1.3 索引基礎(chǔ)知識 (162)
8.2 函數(shù) (165)
8.2.1 常用系統(tǒng)函數(shù) (165)
8.2.2 自定義函數(shù) (169)
8.2.3 常用系統(tǒng)存儲過程 (171)
8.3 批處理和流程控制語句 (172)
8.3.1 語句注釋 (172)
8.3.2 批處理 (173)
8.3.3 流程控制語句 (173)
8.4 本章小結(jié) (176)
8.5 思考與練習(xí) (177)
8.6 實訓(xùn)項目 (177)
第9章 存儲過程 (179)
9.1 存儲過程概述 (180)
9.1.1 存儲過程的概念 (180)
9.1.2 存儲過程的優(yōu)點 (180)
9.1.3 存儲過程的類型 (180)
9.2 創(chuàng)建和執(zhí)行存儲過程 (181)
9.2.1 存儲過程的創(chuàng)建 (181)
9.2.2 執(zhí)行存儲過程 (184)
9.3 存儲過程中的參數(shù) (186)
9.3.1 在存儲過程中使用參數(shù) (186)
9.3.2 帶輸入?yún)?shù)的存儲過程 (186)
9.3.3 在存儲過程中使用默認參數(shù) (188)
9.3.4 帶輸出參數(shù)的存儲過程 (188)
9.4 存儲過程的管理 (189)
9.4.1 查看存儲過程 (189)
9.4.2 修改存儲過程 (191)
9.4.3 重命名存儲過程 (192)
9.4.4 刪除存儲過程 (193)
9.5 系統(tǒng)存儲過程和擴展存儲過程 (193)
9.5.1 常用的系統(tǒng)存儲過程 (194)
9.5.2 擴展存儲過程 (195)
9.6 游標(biāo) (196)
9.6.1 游標(biāo)的概念 (196)
9.6.2 游標(biāo)的基本操作 (196)
9.7 本章小結(jié) (199)
9.8 思考與練習(xí) (199)
9.9 實訓(xùn)項目 (200)
第10章 觸發(fā)器 (202)
10.1 觸發(fā)器 (203)
10.1.1 為何要使用觸發(fā)器 (203)
10.1.2 觸發(fā)器和外鍵約束 (203)
10.1.3 觸發(fā)器的分類和特點 (205)
10.1.4 inserted虛表和deleted虛表 (211)
10.2 管理觸發(fā)器 (215)
10.3 本章小結(jié) (221)
10.4 思考與練習(xí) (221)
10.5 實訓(xùn)項目 (222)
第11章 SQL Server安全管理 (223)
11.1 數(shù)據(jù)庫的安全性 (224)
11.1.1 安全性概述 (224)
11.1.2 SQL Server 安全機制 (224)
11.2 用戶管理 (225)
11.2.1 創(chuàng)建登錄 (225)
11.2.2 創(chuàng)建數(shù)據(jù)庫用戶 (228)
11.3 權(quán)限管理 (229)
11.3.1 權(quán)限范圍 (230)
11.3.2 授予權(quán)限 (231)
11.3.3 收回權(quán)限 (232)
11.4 本章小結(jié) (232)
11.5 思考與練習(xí) (232)
11.6 實訓(xùn)項目 (232)
第12章 數(shù)據(jù)庫并發(fā)控制及實現(xiàn) (234)
12.1 事務(wù) (235)
12.1.1 事務(wù)的概念和特性 (235)
12.1.2 事務(wù)操作 (235)
12.2 并發(fā)控制 (237)
12.2.1 并發(fā)操作與數(shù)據(jù)的不一致性 (237)
12.2.2 SQL Server 中的鎖 (239)
12.3 本章小結(jié) (239)
12.4 思考與練習(xí) (239)
12.5 實訓(xùn)項目 (240)
第13章 微軟云計算數(shù)據(jù)庫SQL Azure (241)
13.1 SQL Azure架構(gòu) (242)
13.2 SQL Azure的特點及優(yōu)勢 (242)
13.2.1 使用SQL Azure的理由 (242)
13.2.2 使用SQL Azure Database的好處 (243)
13.2.3 使用SQL Azure與SQL Server比較 (244)
13.3 SQL Azure的關(guān)鍵技術(shù) (246)
13.4 在應(yīng)用程序中使用SQL Azure (255)
13.5 本章小結(jié) (257)
13.6 思考與練習(xí) (257)
13.7 實訓(xùn)項目 (258)
附錄A 安裝SQL Server 2012 (259)
A.1 SQL Server 2012版本 (259)
A.2 安裝SQL Server 2012 (260)
A.2.1 安裝SQL Server 2012的軟件和硬件需求 (260)
A.2.2 SQL Server 2012的安裝步驟 (260)
附錄B 學(xué)校綜合管理數(shù)據(jù)庫系統(tǒng)示例 (266)
B.1 學(xué)校管理數(shù)據(jù)庫系統(tǒng)的需求分析 (266)
B.2 概念模型設(shè)計 (267)
B.3 邏輯模型 (267)
B.4 創(chuàng)建College數(shù)據(jù)庫的腳本文件 (269)
B.5 創(chuàng)建College中表的腳本文件 (270)
B.6 各表的參考數(shù)據(jù) (272)
附錄C 常用函數(shù)和系統(tǒng)存儲過程 (276)
C.1 常用函數(shù)列表 (276)
C.1.1 常用聚合函數(shù) (276)
C.1.2 日期和時間函數(shù) (277)
C.1.3 數(shù)學(xué)函數(shù) (277)
C.1.4 元數(shù)據(jù)函數(shù) (278)
C.1.5 行集函數(shù) (278)
C.1.6 安全函數(shù) (279)
C.1.7 字符串函數(shù) (279)
C.1.8 文本和圖像函數(shù) (280)
C.1.9 其他系統(tǒng)函數(shù) (280)
C.2 系統(tǒng)存儲過程 (281)