內容簡介
本書是采用“工作過程導向”模式規范編寫的教材,共14章,可分為兩大部分:數據庫的創建和數據庫的管理。本書的內容組織以關系數據庫的理論知識為基礎,注重操作技能的培養和實際問題的解決,旨在使學生掌握Microsoft SQL Server 2012的使用和管理。本書以創建“學生管理系統”數據庫為工作任務,具體內容包括設計數據庫、創建數據庫、創建表、更新和查詢記錄、T-SQL語言、視圖和索引、用戶自定義函數、存儲過程、觸發器、管理數據庫安全、備份和還原數據庫、導入和導出數據庫中的數據。最后一章介紹了學生管理系統應用程序的設計和實施,從而創建一個完整的數據庫系統。本書注重實踐,結構合理,內容豐富,操作方便。
本書作為Microsoft SQL Server 2012的入門類教材,既可以作為高等職業教育計算機及相關專業的教材,也可以作為等級考試、職業資格考試或認證考試等各種培訓班的培訓教材,還可用于讀者自學。
前 言
為適應高職院校應用型人才培養迅速發展的趨勢,培養以就業市場為導向的、具備"職業化"特征的高級應用型人才,"任務驅動、項目導向"已成為高職院校主流的教學模式。本書以Microsoft SQL Server 2012(以下一般簡稱為SQL Server 2012)為數據庫管理系統,通過創建一個完整的學生管理系統,引導學生掌握SQL Server 2012的使用和管理。
本書不僅將使用的軟件平臺從第一版的Microsoft SQL Server 2008升級為第二版的Microsoft SQL Server 2012,而且對第一版中的錯誤進行了修正,對案例和習題進行了優化。
本書特色
本書采用最新的"工作過程導向"編寫模式,以"工作場景導入"→"知識講解"→"回到工作場景"→"工作實訓營"→"習題"為主線推進學習進程。每章均針對數據庫設計和實施中的一個工作過程環節來傳授相關的課程內容,實現實踐技能與理論知識的整合,將工作環境與學習環境有機地結合在一起。本書內容簡明扼要,結構清晰,通過工作過程的講解將關系數據庫的理論知識和SQL Server 2012的使用方法有機地結合在一起,示例眾多,步驟明確,講解細致,突出可操作性和實用性,再輔以豐富的實訓和課后練習,可以使學生得到充分的訓練,具備使用SQL Server 2012解決實際問題的能力。
本書是由高職院校的優秀教師在其已有教學成果的基礎上整合編寫而成的,作者擁有豐富的開發案例和教學經驗。
本書主要內容
本書共14章,需要授課60個課時,用一學期進行學習。
第 1 章介紹學生管理數據庫的設計。通過本章任務的完成,主要學習數據庫的基本概念、發展歷史、系統結構,數據庫的需求分析、概念模型設計、邏輯模型設計、物理模型設計,了解SQL Server 2012組件,為后面使用SQL Server 2012做準備。
第2章講解如何創建學生管理數據庫。通過本章任務的完成,主要掌握SQL Server數據庫的分類和組成的文件,了解SQL Server數據庫中數據的存儲方式,掌握創建數據庫的方法,掌握文件組的概念、作用和創建的方法。
第3章介紹如何創建學生管理數據庫中的五個表,設置表的數據完整性,并在表中錄入記錄。通過本章任務的完成,掌握使用SQL Server系統數據類型和創建用戶定義數據類型的方法,創建、修改、刪除表的方法,在表中錄入記錄的方法,以及數據完整性的概念、分類和具體實施方法。
第4章通過在學生管理數據庫的表中使用T-SQL語句插入、更新和刪除記錄,學習插入單個記錄和多個記錄的方法、更新記錄(包括根據子查詢更新記錄)的方法、刪除記錄(包括根據子查詢刪除記錄)的方法、清空表的方法。
第5章講解如何查詢學生管理數據庫中的記錄,學習簡單查詢、多表連接和子查詢。
第6章介紹三個任務,第一個任務是判斷閏年,講解T-SQL語言的基礎知識,包括T-SQL 語法要素、T-SQL程序;第二個任務是帶錯誤信息提示的單語句插入記錄操作,介紹T-SQL語言中的錯誤信息處理;第三個任務是帶錯誤信息提示的多語句更新記錄操作,介紹事務的概念、屬性、分類和使用。
第7章介紹四個任務,前三個任務是創建、使用和修改可以查詢所有學生的姓名、課程名稱和成績的視圖,學習視圖的概念、分類、創建和使用;第四個任務是在學生表上分別創建兩個索引,學習索引的概念、分類、創建、設計和優化。
第8章通過統計學生的學期課程門數及成績,以及各門課程的最高分和最低分,來學習用戶自定義函數的概念、作用、分類和使用。
第9章通過講解創建存儲過程用于重復的查詢任務,學習存儲過程的概念、分類和作用,創建和使用存儲過程的方法,存儲過程中輸入參數和輸出參數的使用方法。
第10章介紹四個任務,前三個任務是根據學生表的學生記錄的插入、更新和刪除操作來修改班級表中該班級的人數,第四個任務是防止數據庫中成績表的結構被隨意修改。通過本章任務的完成,學習觸發器的概念、分類、工作原理、創建和使用。
第11章通過控制數據庫管理員、教師用戶、學生用戶對學生管理數據庫和成績表的操作權限,來講解SQL Server 2012的安全機制和驗證模式,介紹登錄、用戶、權限的創建與管理,角色的概念、分類、創建和使用。
第12章講解學生管理數據庫的備份和還原,包括備份和還原的概念,備份的類型,創建完整數據庫備份、事務日志備份、差異備份和文件或文件組備份的方法,以及還原各種備份的方法。
第13章通過導入和導出學生管理數據庫中學生的個人信息,學習SSIS的作用和工作方式,掌握創建和執行SSIS包來導入和導出數據庫中數據的方法。
第14章設計并完成基于Windows的學生管理系統和基于Web的學生管理系統。通過本章任務的完成,學習Windows應用程序的創建方法、Web應用程序的創建方法、注冊和登錄頁面的設計方法,以及學生信息查詢功能的實現方法。
讀者對象
本書作為Microsoft SQL Server 2012入門類教材,既可以作為高等職業教育計算機及相關專業的教材,也可以作為等級考試、職業資格考試或認證考試等各種培訓班的培訓教材,還可用于讀者自學。
本書讀者
本書由高云(南京信息職業技術學院)任主編,崔艷春(南京信息職業技術學院)任副主編,其中第1~7章由高云編寫,第8~14章由崔艷春編寫,由高云負責統稿。全書框架結構由何光明擬定。另外,本書的編寫得到陳海燕、王珊珊、吳濤濤、趙梨花、張伍榮、李海、趙明、吳婷、許勇、姚昌順、戴仕明等同志的大力支持和幫助,在此表示感謝。限于作者水平,書中難免存在不當之處,懇請廣大讀者批評指正。
編 者
目 錄
第1章 設計數據庫 11.1 工作場景導入 21.2 數據庫概述 21.2.1 數據庫的基本概念 21.2.2 數據庫的發展歷史 31.2.3 數據庫系統的結構 31.3 需求分析 41.3.1 需求分析的任務 41.3.2 需求分析的方法 41.3.3 需求分析的成果 41.4 概念模型設計 51.4.1 數據模型 51.4.2 概念模型 51.4.3 概念模型設計的任務 51.4.4 概念模型設計的方法 51.4.5 概念模型設計的成果 51.4.6 實體-聯系模型 61.5 邏輯模型設計 71.5.1 邏輯模型 71.5.2 關系模型的概念 71.5.3 邏輯模型設計的任務 81.5.4 關系模型設計的方法 81.6 物理模型設計 101.6.1 物理模型設計的任務 101.6.2 物理模型設計的方法 101.7 數據庫的實現、運行和維護 101.8 SQL Server 2012簡介 101.8.1 SQL Server 2012產品性能 101.8.2 SQL Server 2012產品版本 111.8.3 SQL Server 2012管理工具 121.9 回到工作場景 141.10 工作實訓營 161.10.1 訓練實例 161.10.2 工作實踐常見問題解析 161.11 習題 16第2章 創建數據庫 192.1 工作場景導入 202.2 SQL Server數據庫 202.2.1 SQL Server數據庫類型 202.2.2 數據庫的文件組成 212.2.3 事務和事務日志 212.2.4 數據存儲方式 222.3 數據庫的創建與操作 222.3.1 創建數據庫 222.3.2 查看數據庫 242.3.3 修改數據庫 242.3.4 刪除數據庫 262.4 文件組及其創建與使用 272.4.1 文件組 272.4.2 創建指定文件組的數據庫 272.4.3 添加文件組 302.5 回到工作場景 312.6 工作實訓營 352.6.1 訓練實例 352.6.2 工作實踐常見問題解析 362.7 習題 36第3章 創建和管理表 393.1 工作場景導入 403.2 數據類型 413.2.1 SQL Server數據類型 413.2.2 用戶定義數據類型 433.2.3 創建用戶定義數據類型 443.3 表的創建與操作 453.3.1 創建表 453.3.2 在表中錄入記錄 473.3.3 修改表 473.3.4 刪除表 483.4 數據完整性 493.4.1 數據完整性的分類 493.4.2 PRIMARY KEY約束 503.4.3 UNIQUE約束 523.4.4 DEFAULT 定義 553.4.5 CHECK約束 573.4.6 FOREIGN KEY約束 593.5 回到工作場景 623.6 工作實訓營 673.6.1 訓練實例 673.6.2 工作實踐常見問題解析 673.7 習題 68第4章 插入、更新和刪除記錄 714.1 工作場景導入 724.2 插入記錄 744.2.1 插入單個記錄 744.2.2 插入多個記錄 744.3 更新記錄 754.3.1 單表更新記錄 754.3.2 跨表更新記錄 754.4 刪除記錄 764.4.1 單表刪除記錄 764.4.2 清空記錄 764.4.3 跨表刪除記錄 774.5 回到工作場景 774.6 工作實訓營 794.6.1 訓練實例 794.6.2 工作實踐常見問題解析 814.7 習題 82第5章 查詢 875.1 工作場景導入 885.2 簡單查詢 925.2.1 結果集字段列表 925.2.2 查詢的篩選條件 935.2.3 結果集格式 965.2.4 分組匯總 985.3 多表連接 1005.3.1 表的別名 1005.3.2 內連接 1015.3.3 外連接 1025.3.4 交叉連接 1035.3.5 自連接 1045.3.6 多表連接 1045.4 子查詢 1055.4.1 子查詢用作單個值 1055.4.2 子查詢用作集合 1055.5 回到工作場景 1075.6 工作實訓營 1135.6.1 訓練實例 1135.6.2 工作實踐常見問題解析 1145.7 習題 114第6章 使用T-SQL語言 1176.1 工作場景導入 1186.2 T-SQL 語言 1186.3 T-SQL語法要素 1186.3.1 標識符 1186.3.2 數據類型 1196.3.3 常量 1196.3.4 變量 1196.3.5 運算符 1206.3.6 表達式 1206.3.7 函數 1226.3.8 注釋 1246.3.9 保留關鍵字 1246.4 T-SQL程序 1246.4.1 控制流 1246.4.2 批處理 1276.4.3 腳本 1286.5 錯誤信息處理 1286.5.1 TRY...CATCH 1286.5.2 @@ERROR系統函數 1306.6 事務 1306.6.1 事務的概念及其屬性 1306.6.2 事務的分類及其使用 1316.7 回到工作場景 1326.8 工作實訓營 1346.8.1 訓練實例 1346.8.2 工作實踐常見問題解析 1346.9 習題 135第7章 使用視圖和索引優化查詢 1377.1 工作場景導入 1387.2 視圖 1387.2.1 視圖及其分類 1387.2.2 創建視圖 1397.2.3 使用視圖 1417.2.4 修改視圖 1427.2.5 刪除視圖 1427.3 索引 1447.3.1 索引及其分類 1447.3.2 創建索引 1457.3.3 修改索引 1477.3.4 刪除索引 1487.3.5 設計和優化索引 1497.4 回到工作場景 1507.5 工作實訓營 1537.5.1 訓練實例 1537.5.2 工作實踐常見問題解析 1547.6 習題 154第8章 用戶自定義函數 1578.1 工作場景導入 1588.2 用戶自定義函數介紹 1588.2.1 標量值函數 1588.2.2 內聯表值函數 1598.2.3 多語句表值函數 1598.3 創建用戶自定義函數 1598.3.1 創建標量值函數 1598.3.2 創建內聯表值函數 1618.3.3 創建多語句表值函數 1628.4 使用用戶自定義函數 1638.4.1 使用標量值函數 1648.4.2 使用內聯表值函數 1658.4.3 使用多語句表值函數 1658.5 修改用戶自定義函數 1668.6 刪除用戶自定義函數 1668.7 回到工作場景 1678.8 工作實訓營 1708.8.1 訓練實例 1708.8.2 工作實踐常見問題解析 1708.9 習題 171第9章 存儲過程 1739.1 工作場景導入 1749.2 存儲過程介紹 1749.3 不帶參數的存儲過程 1759.3.1 創建存儲過程 1759.3.2 使用存儲過程 1769.3.3 修改存儲過程 1789.3.4 刪除存儲過程 1809.4 帶參數的存儲過程 1819.4.1 帶輸入參數的存儲過程 1819.4.2 帶輸出參數的存儲過程 1839.5 回到工作場景 1849.6 工作實訓營 1869.6.1 訓練實例 1869.6.2 工作實踐常見問題解析 1879.7 習題 187第10章 觸發器 18910.1 工作場景導入 19010.2 觸發器介紹 19010.2.1 INSERT觸發器 19110.2.2 DELETE觸發器 19110.2.3 UPDATE觸發器 19110.2.4 INSTEAD OF觸發器 19110.3 創建觸發器 19210.3.1 創建DML觸發器 19210.3.2 創建DDL觸發器 19510.4 使用觸發器 19610.5 修改觸發器 19710.6 刪除觸發器 19810.7 回到工作場景 20010.8 工作實訓營 20310.8.1 訓練實例 20310.8.2 工作實踐常見問題解析 20410.9 習題 204第11章 管理數據庫安全 20711.1 工作場景導入 20811.2 SQL Server 2012的安全機制 20811.3 SQL Server 2012的驗證模式 20911.3.1 Windows身份驗證 20911.3.2 混合身份驗證 20911.4 Windows登錄 21111.4.1 創建Windows登錄 21211.4.2 創建SQL Server登錄 21411.4.3 管理登錄名 21511.5 數據庫用戶 21711.5.1 創建數據庫用戶 21711.5.2 管理數據庫用戶 21911.6 權限 22111.6.1 權限類型 22111.6.2 設置用戶權限 22111.7 角色 22511.7.1 角色分類 22511.7.2 創建角色 22611.7.3 指派角色 22711.8 回到工作場景 22711.9 工作實訓營 23111.9.1 訓練實例 23111.9.2 工作實踐常見問題解析 23211.10 習題 232第12章 備份和還原數據庫 23312.1 工作場景導入 23412.2 備份和還原 23412.2.1 備份 23412.2.2 還原 23512.3 完整數據庫備份 23512.3.1 創建備份 23612.3.2 還原備份 23912.4 事務日志備份 24112.4.1 創建備份 24112.4.2 還原備份 24212.5 差異備份 24412.5.1 創建備份 24412.5.2 還原備份 24512.6 文件或文件組備份 24612.6.1 創建備份 24612.6.2 還原備份 24712.7 回到工作場景 24812.8 工作實訓營 25012.8.1 訓練實例 25012.8.2 工作實踐常見問題解析 25112.9 習題 251第13章 導入和導出數據庫中的數據 25313.1 工作場景導入 25413.2 使用SQL Server導入和導出向導 25413.3 SSIS概述 25913.3.1 SSIS介紹 25913.3.2 SSIS的工作方式 25913.4 使用SSIS 26013.4.1 創建SSIS包 26013.4.2 執行SSIS包 26513.5 回到工作場景 26613.6 工作實訓營 26713.6.1 訓練實例 26713.6.2 工作實踐常見問題解析 26813.7 習題 268第14章 學生管理系統案例 26914.1 工作場景導入 27014.2 程序設計介紹 27014.2.1 Microsoft Visual Studio 2015集成環境 27014.2.2 C#語言 27114.2.3 ASP.NET 27114.3 回到工作場景 27214.3.1 基于Windows的學生管理系統 27214.3.2 基于Web的學生管理系統 27614.4 工作實訓營 282附錄 各章習題參考答案 284參考文獻 298