具體描述
編輯推薦
本書提供瞭極為豐富的學習資源,清單如下:本書學習資源清單:
1.配套自學視頻86集
幾乎覆蓋全書所有實例,先聽視頻講解,再仿照書中實例實踐,會大幅提高學習效率。
2.編程實例分析3247個
各類一應俱全,無論學習哪一章節,都可從中找到相關實例加以練習,相信對深入學習極有幫助。
3.典型模塊分析15類
既可作為綜閤應用實例學習,又可將模塊移植到相關應用中,從而避免重復勞動,提高工作效率。
4.項目案例分析15套
從需求分析、係統設計、模塊分解到代碼實現,幾乎展現瞭項目開發的整個過程。
5.實踐訓練任務701項
大都是實踐型任務,用於訓練和提高熟練度,網站還提供瞭相關答案。
6.數學及邏輯思維能力、麵試能力、編程英語能力測試596項
用以讀者自我測試,為就業做準備。
7.編程人生23個
精選的IT成功人士經曆,希望成為讀者不斷進取、勇攀高峰的強大精神動力。
8.電子課件101節
為瞭方便教學使用,本書附帶瞭全套PPT電子課件。
9.全書實例源程序
提供瞭全書所有實例的源程序,讀者可以直接拷貝使用,避免錄入之苦。
10.《程序員求職麵試寶典》電子書1部
內容簡介
《軟件開發自學視頻教程:SQL Server自學視頻教程》以初學者為主要對象,全麵介紹瞭SQL Server 2012數據庫相關的各種技術。在內容排列上由淺入深,讓讀者循序漸進地掌握SQL Server 2012數據庫相關技術;在內容講解上結閤豐富的圖解和形象的比喻,幫助讀者理解"晦澀難懂"的技術;在內容形式上附有大量的注意、說明、技巧等欄目,夯實讀者理論技術,豐富管理與開發經驗。 《軟件開發自學視頻教程:SQL Server自學視頻教程》共分3篇15章,其中,第1篇為入門篇,主要包括數據庫基礎知識、搭建SQL Server 2012開發環境、數據庫和數據錶的使用、SQL Server基礎、查詢數據錶記錄、掌握數據庫視圖的使用等內容;第2篇為提高篇,主要包括為數據錶創建索引、利用存儲過程批處理SQL語句、應用觸發器優化查詢、遊標的使用、通過事務修改數據、數據庫的維護管理、數據庫的安全機製等內容;第3篇為實戰篇,主要包括企業人事管理係統、企業進銷存管理係統兩個實戰項目。另外本書光盤含: 12小時視頻講解/3247個編程實例/15個經典模塊分析/15個項目開發案例/701個編程實踐任務/596個能力測試題目(基礎能力測試、數學及邏輯思維能力測試、麵試能力測試、編程英語能力測試)/23個IT勵誌故事。 本書適用於SQL Server 2012數據庫的愛好者、初學者和中級開發人員,也可作為大中專院校和培訓機構的教材。
目錄
第1篇 入 門 篇
第1章 數據庫基礎知識
( 視頻講解:25分鍾)
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 三級模式之間的映射
1.4 介紹幾種關係數據庫
1.4.1 Access數據庫
1.4.2 SQL Server 2005數據庫
1.4.3 SQL Server 2008數據庫
1.4.4 SQL Server 2012數據庫
1.4.5 Oracle數據庫
1.5 本章小結
第2章 搭建SQL Server 2012開發環境
( 視頻講解:34分鍾)
2.1 簡述SQL Server 2012
2.1.1 SQL Server 2012的概貌
2.1.2 SQL Server 2012的特性
2.2 SQL Server 2012開發環境
2.2.1 為SQL Server 2012配置安裝
環境
2.2.2 安裝SQL Server 2012
2.2.3 卸載SQL Server 2012
2.3 啓動SQL Server 2012服務
2.3.1 後颱啓動服務
2.3.2 通過配置管理器啓動
2.4 注冊SQL Server 2012服務器
2.4.1 創建與刪除服務器組
2.4.2 注冊與刪除服務器
2.5 本章小結
第3章 數據庫和數據錶的使用
( 視頻講解:1小時42分鍾)
3.1 數據庫概述
3.1.1 幾個數據庫相關概念
3.1.2 常用數據庫對象
3.1.3 數據庫組成部分
3.1.4 4個係統數據庫
3.2 規範化SQL Server的命名
3.2.1 標識符命名規則
3.2.2 對象命名規則
3.2.3 實例命名規則
3.3 數據庫相關操作
3.3.1 創建數據庫
3.3.2 修改數據庫
3.3.3 刪除數據庫
3.4 使用數據錶
3.4.1 以界麵方式操作數據錶
3.4.2 使用CREATE TABLE語句
創建錶
3.4.3 創建、修改和刪除約束
3.4.4 使用ALTER TABLE語句
修改錶結構
3.4.5 使用DROP TABLE語句刪除錶
3.5 管理數據
3.5.1 使用INSERT語句添加數據
3.5.2 使用UPDATE語句修改數據
3.5.3 使用DELETE語句刪除數據
3.6 建立錶間對應關係
3.6.1 一對一關係
3.6.2 一對多關係
3.6.3 多對多關係
3.7 綜閤應用
3.7.1 批量插入數據
3.7.2 查看錶信息
3.8 本章常見錯誤
3.8.1 創建外鍵約束失敗
3.8.2 數據庫被使用導緻無法刪除
3.8.3 修改數據錶屬性失敗
3.9 本章小結
3.10 跟我上機
第4章 SQL Server基礎
( 視頻講解:1小時30分鍾)
4.1 T-SQL語言基礎
4.1.1 T-SQL語言的組成
4.1.2 T-SQL語句結構
4.2 SQL中的常量與變量
4.2.1 字符串常量
4.2.2 二進製常量
4.2.3 bit常量
4.2.4 日期和時間常量
4.2.5 定義局部變量
4.2.6 使用全局變量
4.3 注釋符、運算符與通配符
4.3.1 注釋符(Annotation)
4.3.2 運算符(Operator)
4.3.3 通配符(Wildcard)
4.4 控製程序執行流程
4.4.1 BEGIN...END語句
4.4.2 IF判斷
4.4.3 IF...ELSE選擇
4.4.4 CASE函數
4.4.5 WHILE循環
4.4.6 WHILE...CONTINUE...
BREAK
4.4.7 RETURN退齣
4.4.8 GOTO跳轉
4.4.9 WAITFOR掛起
4.5 調用聚閤函數
4.5.1 聚閤函數概述
4.5.2 SUM(求和)函數
4.5.3 AVG(平均值)函數
4.5.4 MIN(最小值)函數
4.5.5 MAX(最大值)函數
4.5.6 COUNT(統計)函數
4.5.7 DISTINCT(取不重復記錄)
函數
4.5.8 HAVING(查詢重復記錄)
函數
4.6 掌握數學函數的使用
4.6.1 數學函數概述
4.6.2 ABS(絕對值)函數
4.6.3 PI(圓周率)函數
4.6.4 POWER(乘方)函數
4.6.5 RAND(隨機浮點數)函數
4.6.6 ROUND(四捨五入)函數
4.6.7 SQUARE(平方)函數和
SQRT(平方根)函數
4.6.8 三角函數
4.7 字符串函數
4.7.1 字符串函數概述
4.7.2 ASCII(獲取ASCII碼)
函數
4.7.3 CHARINDEX(返迴字符串的
起始位置)函數
4.7.4 LEFT(取左邊指定個數的字符)
函數
4.7.5 RIGHT(取右邊指定個數的字符)函數
4.7.6 LEN(返迴字符個數)函數
4.7.7 REPLACE(替換字符串)
函數
4.7.8 REVERSE(返迴字符錶達式
的反轉)函數
4.7.9 STR函數
4.7.10 SUBSTRING(取字符串)
函數
4.8 日期和時間函數
4.8.1 日期和時間函數簡述
4.8.2 GETDATE(返迴當前係統
日期和時間)函數
4.8.3 DAY(返迴指定日期的天)
函數
4.8.4 MONTH(返迴指定日期的月)
函數
4.8.5 YEAR(返迴指定日期的年)
函數
4.8.6 DATEDIFF(返迴日期和時間
的邊界數)函數
4.8.7 DATEADD(添加日期時間)
函數
4.9 轉換函數
4.9.1 轉換函數概述
4.9.2 CAST函數
4.9.3 CONVERT函數
4.10 元數據函數
4.10.1 元數據函數簡介
4.10.2 COL_LENGTH函數
4.10.3 COL_NAME函數
4.10.4 DB_NAME函數
4.11 綜閤應用
4.11.1 查看商品信息錶中價格最貴
的記錄
4.11.2 使用GROUPING SETS組閤
多個分組結果集
4.12 本章常見錯誤
4.12.1 有約束衝突卻不提示
錯誤信息
4.12.2 T-SQL和SQL有什麼區彆
4.13 本章小結
4.14 跟我上機
第5章 查詢數據錶記錄
( 視頻講解:1小時12分鍾)
5.1 編寫SELECT語句
5.1.1 SELECT語句基本語法
5.1.2 指定公用錶錶達式
5.1.3 SELECT...FROM子句
5.1.4 INTO插入數據
5.1.5 指定搜索條件
5.1.6 GROUP BY子句
5.1.7 HAVING子句
5.1.8 指定排列順序
5.1.9 去掉重復的記錄
5.1.10 TOP顯示指定行
5.2 閤並多個查詢結果
5.2.1 區彆閤並與聯接
5.2.2 使用UNION ALL閤並錶
5.2.3 在UNION中使用order by
5.2.4 自動轉換數據類型
5.2.5 閤並不同類型的數據
5.2.6 閤並列數不同的錶
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 綜閤應用
5.5.1 學生信息錶中按學生的姓氏
筆畫重新排序
5.5.2 利用模糊查詢進行區間查詢
5.5.3 按照升序排列前三的數據
5.6 本章常見錯誤
5.6.1 在SELECT中使用
GROUP BY齣錯
5.6.2 區分NULL和0值
5.6.3 多錶連接時,注意要加
條件約束
5.6.4 注意指定字段的所屬錶
5.7 本章小結
5.8 跟我上機
第6章 掌握數據庫視圖的使用
( 視頻講解:15分鍾)
6.1 視圖概述
6.2 視圖的分類與操作
6.2.1 以界麵方式操作視圖
6.2.2 使用CREATE VIEW語句
創建視圖
6.2.3 使用ALTER VIEW語句
修改視圖
6.2.4 使用DROP VIEW語句
刪除視圖
6.2.5 使用存儲過程sp_rename
修改視圖
6.3 通過視圖操作數據
6.3.1 從視圖中瀏覽數據
6.3.2 嚮視圖中添加數據
6.3.3 修改視圖中的數據
6.3.4 刪除視圖中的數據
6.4 綜閤應用
6.4.1 使用視圖過濾數據
6.4.2 使用sp_helptext獲取視圖信息
6.5 本章常見錯誤
6.5.1 創建視圖失敗
6.5.2 創建視圖提示基錶無效
6.5.3 不能通過視圖來更新數據
有哪些原因
6.6 本章小結
6.7 跟我上機
第2篇 提 高 篇
第7章 為數據錶創建索引
( 視頻講解:56分鍾)
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 綜閤應用
7.8.1 使用視圖索引查詢數據
7.8.2 創建多字段非聚集索引
檢索數據
7.9 本章常見錯誤
7.9.1 創建聚集索引齣錯
7.9.2 混淆全文索引和全文目錄
7.10 本章小結
7.11 跟我上機
第8章 利用存儲過程批處理SQL語句
( 視頻講解:16分鍾)
8.1 存儲過程簡介
8.1.1 存儲過程分類
8.1.2 存儲過程的優點
8.1.3 存儲過程的分類
8.2 創建存儲過程
8.2.1 使用嚮導創建存儲過程
8.2.2 通過CREATE PROC語句
創建存儲過程
8.3 管理存儲過程
8.3.1 執行一個存儲過程
8.3.2 查看存儲過程
8.3.3 修改存儲過程
8.3.4 重命名存儲過程
8.3.5 刪除存儲過程
8.4 綜閤應用
8.4.1 在存儲過程中使用事務
8.4.2 創建加密存儲過程
8.5 本章常見錯誤
8.5.1 帶迴傳參數的存儲過程
沒有帶迴結果
8.5.2 創建存儲過程有哪些注意事項
8.6 本章小結
8.7 跟我上機
第9章 應用觸發器優化查詢
( 視頻講解:16分鍾)
9.1 觸發器概述
9.2 觸發器的優點與分類
9.2.1 觸發器的優點
9.2.2 觸發器的分類
9.3 創建觸發器
9.3.1 創建DML觸發器
9.3.2 建立DDL觸發器
9.3.3 創建登錄觸發器
9.4 管理觸發器
9.4.1 查看觸發器
9.4.2 修改觸發器
9.4.3 重命名觸發器
9.4.4 禁用和啓用觸發器
9.4.5 刪除觸發器
9.5 綜閤應用
9.5.1 創建遞歸觸發器,實現隻允許
一次刪除一條記錄
9.5.2 使用觸發器嚮數據庫的錶中
添加數據
9.6 本章常見錯誤
9.6.1 修改數據錶失敗,提示
未提交數據
9.6.2 觸發器的遞歸調用方式
9.7 本章小結
9.8 跟我上機
第10章 遊標的使用
( 視頻講解:12分鍾)
10.1 遊標簡介
10.1.1 遊標的實現過程
10.1.2 遊標分類
10.2 遊標的相關操作
10.2.1 聲明遊標
10.2.2 使用OPEN打開遊標
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 綜閤應用
10.4.1 利用遊標在商品錶中
返迴指定商品行數據
10.4.2 用索引改變遊標中
錶的行順序
10.5 本章常見錯誤
10.5.1 打開遊標使用之後忘記
關閉和釋放遊標
10.5.2 為什麼要避免使用遊標
10.6 本章小結
10.7 跟我上機
第11章 通過事務修改數據
( 視頻講解:28分鍾)
11.1 簡述事務
11.2 事務模式
11.2.1 定義顯式事務
11.2.2 設置隱式事務
11.2.3 在API中控製隱式事務
11.2.4 提交和迴滾事務
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 綜閤應用
11.6.1 使用事務對錶進行添加
和查詢操作
11.6.2 使用事務完成對錶的
修改操作
11.7 本章常見錯誤
11.7.1 無法迴滾,找不到該
事務或保存點
11.7.2 事務提交不起作用
11.7.3 事務讀取到的值與數據庫
的值不一緻
11.7.4 遇到死鎖情況怎麼辦
11.8 本章小結
11.9 跟我上機
第12章 數據庫的維護管理
( 視頻講解:30分鍾)
12.1 數據庫的脫機與聯機
12.1.1 實現數據庫脫機
12.1.2 使數據庫聯機
12.2 數據庫的分離和附加
12.2.1 分離數據庫
12.2.2 附加數據庫
12.3 導入/導齣數據
12.3.1 導入SQL Server數據錶
12.3.2 導入其他數據源的數據
12.3.3 導齣SQL Server數據錶
12.4 備份和恢復數據庫
12.4.1 有哪些備份類型
12.4.2 選擇恢復模式
12.4.3 創建數據庫備份
12.4.4 恢復數據庫
12.5 收縮數據庫和文件
12.5.1 自動收縮數據庫
12.5.2 手動收縮數據庫
12.6 SQL腳本的生成與執行
12.6.1 生成數據庫腳本文件
12.6.2 生成數據錶腳本文件
12.6.3 執行SQL腳本
12.7 數據庫維護計劃
12.8 綜閤應用
12.8.1 查看用戶創建的所有數據庫
12.8.2 備份數據庫
12.9 本章常見錯誤
12.9.1 數據庫恢復失敗
12.9.2 分離和附加數據庫時,
需要注意的問題
12.10 本章小結
12.11 跟我上機
第13章 數據庫的安全機製
( 視頻講解:12分鍾)
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 綜閤應用
13.4.1 創建數據庫用戶賬戶
13.4.2 設置數據庫的訪問權限
13.5 本章常見錯誤
13.5.1 數據庫附加失敗
13.5.2 服務器'XX'上的
MSDTC不可用
13.5.3 SQL Express無法連接
對象實例
13.6 本章小結
13.7 跟我上機
第3篇 實 戰 篇
第14章 SQL Server在C#開發中的應用--
企業人事管理係統
( 視頻講解:1小時26分鍾)
14.1 開發背景
14.2 需求分析
14.3 係統設計
14.3.1 係統目標
14.3.2 係統功能結構
14.3.3 係統預覽
14.3.4 業務流程圖
14.3.5 編碼規則
14.3.6 程序運行環境
14.3.7 數據庫設計
14.3.8 文件夾組織結構
14.4 公共類設計
14.4.1 MyMeans公共類
14.4.2 MyModule公共類
14.5 登錄模塊設計
14.5.1 登錄模塊概述
14.5.2 登錄模塊技術分析
14.5.3 登錄模塊實現過程
14.6 主窗體設計
14.6.1 主窗體概述
14.6.2 主窗體技術分析
14.6.3 主窗體實現過程
14.6.4 單元測試
14.7 人事檔案瀏覽模塊設計
14.7.1 人事檔案瀏覽窗體概述
14.7.2 人事檔案瀏覽技術分析
14.7.3 人事檔案瀏覽實現過程
14.7.4 單元測試
14.8 人事資料查詢模塊設計
14.8.1 人事資料查詢窗體概述
14.8.2 人事資料查詢窗體技術分析
14.8.3 人事資料查詢窗體實現過程
14.9 開發常見問題與解決
14.9.1 文本框隻能輸入數字
或單精度
14.9.2 在數據庫中存取圖片
14.10 本章總結
第15章 SQL Server在Java開發中的應用--
企業進銷存管理係統
( 視頻講解:1小時28分鍾)
15.1 需求分析
15.2 係統設計
15.2.1 係統目標
15.2.2 係統功能結構
15.2.3 係統業務流程圖
15.2.4 係統編碼規範
15.3 係統開發及運行環境
15.4 數據庫與數據錶設計
15.4.1 數據庫分析
15.4.2 創建數據庫
15.4.3 創建數據錶
15.5 係統文件夾組織結構
15.6 公共類設計
15.6.1 數據模型公共類
15.6.2 Dao公共類
15.7 登錄模塊設計
15.7.1 設計登錄布局文件
15.7.2 "密碼"文本框的迴車事件
15.7.3 "登錄"按鈕的事件處理
15.8 係統主窗體設計
15.8.1 設計菜單欄
15.8.2 設計工具欄
15.8.3 設計狀態欄
15.9 進貨單模塊設計
15.9.1 設計進貨單窗體
15.9.2 添加進貨商品
15.9.3 進貨統計
15.9.4 商品入庫
15.10 銷售單模塊設計
15.10.1 設計銷售單窗體
15.10.2 添加銷售商品
15.10.3 銷售統計
15.10.4 商品銷售
15.11 庫存盤點模塊設計
15.11.1 設計庫存盤點窗體
15.11.2 讀取庫存商品
15.11.3 統計損益數量
15.12 數據庫備份與恢復模塊設計
15.12.1 設計窗體
15.12.2 文件瀏覽
15.12.3 備份數據庫
15.12.4 恢復數據庫
15.13 運行項目
15.14 開發常見問題與解決
15.14.1 數據庫無法訪問
15.14.2 打包的JAR文件無法登錄
15.14.3 數據庫還原不成功
15.14.4 數據庫隻讀
15.14.5 無法打開內部窗體
15.14.6 "關於"界麵被
其他窗體覆蓋
15.14.7 打包JAR文件之後
無法運行
15.14.8 程序運行後沒有齣現
閃屏界麵
15.15 本章小結
精彩書摘
9.2.1觸發器的優點 觸發器的優點錶現在以下幾個方麵: (1)觸發器自動執行,對錶中的數據進行修改後,觸發器立即被激活。 (2)為瞭實現復雜的數據庫更新操作,觸發器可以調用一個或多個存儲過程,甚至可以通過調用外部過程(不是數據庫管理係統本身)完成相應的操作。 (3)觸發器能夠實現比CHECK約束更為復雜的數據完整性約束。在數據庫中,為瞭實現數據完整性約束,可以使用CHECK約束或觸發器。CHECK約束不允許引用其他錶中的列來完成檢查工作,而觸發器可以引用其他錶中的列。它更適閤在大型數據庫管理係統中用來約束數據的完整性。 (4)觸發器可以檢測數據庫內的操作,從而取消瞭數據庫未經許可的更新操作,使數據庫修改、更新操作更安全,數據庫的運行也更穩定。 (5)觸發器能夠對數據庫中的相關錶實現級聯更改。觸發器是基於一個錶創建的,但是可 以針對多個錶進行操作,實現數據庫中相關錶的級聯更改。 (6)就個錶中可以同時存在3個不同操作的觸發器(INSERT、UPDATE和DELETE)。 9.2.2觸發器的分類 SQLServer包括3種常規類型的觸發器:DML觸發器、DDL觸發器和登錄觸發器。 當數據庫中發生數據操作語言(DML)事件時將調用DML觸發器。DML事件包括在指定錶或視圖中修改數據的INSERT語句、UPDATE語句或DELETE語句。DML觸發器可以查詢其他錶,還可以包含復雜的Transact—SQL語句。 ……
前言/序言
本書編寫背景
為什麼一方麵很多畢業生不太容易找到工作,另一方麵很多企業卻招不到閤適的人纔?為什麼很多學生學習很刻苦,臨畢業瞭卻感到自己似乎什麼都不會?為什麼很多學生到企業之後,發現很多所學的知識用不上?......高校課程設置與企業應用嚴重脫節,高校所學知識得不到很好的實踐,本來是為瞭實際應用而學習卻變成瞭應付考試,是造成如上所述現象的主要原因。
為瞭能滿足社會需要,有些人不得不花費巨額費用、花費半年到一年時間到社會再培訓,浪費瞭巨大的人力物力。有沒有一種辦法讓學生在校就能學到企業應用的內容呢?--本書就是為此目的而來。本書從沒有編程基礎或稍有編程基礎的讀者層次開始,通過適閤自學的方式,從基礎知識到小型實例到綜閤實例到項目案例,讓學生在學校就能學到企業應用的內容,從而實現從學校所學到企業應用的重大跨越,架起從學校通嚮社會的橋梁。
本書特點
1.從基礎到項目實戰,快速鋪就就業之路
全書體例為:基礎知識+小型實例+綜閤實例+項目實戰,既符閤循序漸進的學習規律,也力求貼近項目實戰等實際應用。基礎知識是必備內容;小型實例則通過實例鞏固基礎知識;綜閤實例則是在進一步綜閤應用基礎知識的前提下,通過模塊的形式讓內容更加貼近實際應用;項目實戰則是展現項目開發的全過程,讓讀者對基本的項目開發有一個全麵的認識。
2.全程配套視頻講解,讓老師手把手教您
本書配書光盤含配套視頻講解,基本覆蓋全書內容,學習之前,先看、聽視頻講解,然後對照書模仿練習,相信會快速提高學習效率。
3.配套資源極為豐富,各類實例一應俱全
(1)實例資源庫:包括上韆個編程實例,各種類型一應俱全,無論學習這本書的哪一章節,都可以從中找到相關的多種實例加以實踐,相信對深入學習極有幫助。
(2)模塊資源庫:包括瞭最常用的十多個經典模塊分析,它們既可作為綜閤應用實例學習,又可移植到相關應用中,進而避免重復勞動,提高工作效率。
(3)項目(案例)資源庫:包括十多個項目開發案例,從需求分析、係統設計、模塊分析到代碼實現,幾乎全程展現瞭項目開發的整個過程。
(4)任務(訓練)資源庫:共計韆餘個實踐任務,讀者可以自行實踐練習,還可以到對應的網站上尋找答案。
(5)能力測試資源庫:列舉瞭幾百個能力測試題目,包括編程基礎能力測試、數學及邏輯思維能力測試、麵試能力測試、編程英語能力測試,便於讀者自我測試。
(6)編程人生:精選瞭二十多個IT勵誌故事,希望讀者朋友從這些IT成功人士的經曆中汲取精神力量,讓這些經曆成為您不斷進取、勇攀高峰的強大精神動力。
數據庫技術精粹:SQL Server實戰演練 前言: 在這個數據驅動的時代,掌握強大的數據庫技術已成為軟件開發人員的核心競爭力之一。SQL Server,作為微軟推齣的關係型數據庫管理係統,憑藉其卓越的性能、豐富的功能和廣泛的應用場景,在全球範圍內深受青睞。本書旨在為廣大有誌於深入理解和掌握SQL Server的開發者提供一份詳實、易懂且極具實踐價值的學習指南。我們不拘泥於理論的堆砌,而是將學習的重點聚焦於實際操作,通過大量的代碼示例、經典案例分析和常見問題解答,引導讀者一步步走進SQL Server的世界,從入門到精通,真正做到學以緻用。 第一章:SQL Server入門與基礎架構 本章將帶領讀者建立對SQL Server的初步認識,深入瞭解其核心概念和架構組成。 數據庫係統概述: 什麼是數據庫?什麼是關係型數據庫?SQL Server在數據庫領域扮演的角色。 SQL Server的安裝與配置: 詳細介紹SQL Server的安裝步驟,包括不同版本(Express, Standard, Enterprise)的選擇考量。涵蓋服務器實例的命名、身份驗證模式(Windows身份驗證與SQL Server身份驗證)的設置,以及重要的服務配置。 SQL Server Management Studio (SSMS) 詳解: SSMS作為SQL Server的管理和開發工具,其重要性不言而喻。本節將全麵介紹SSMS的界麵布局、常用功能,如對象資源管理器、查詢編輯器、活動監視器等,讓讀者能夠高效地進行數據庫管理和開發。 數據庫對象初探: 介紹SQL Server中最基本的數據庫對象,如數據庫(Database)、錶(Table)、視圖(View)、存儲過程(Stored Procedure)、函數(Function)、索引(Index)、約束(Constraint)等。初步理解它們的作用和相互關係。 SQL Server架構剖析: 深入理解SQL Server的內部架構,包括內存管理(Buffer Pool, Cache)、I/O子係統、查詢處理器(Query Processor)、存儲引擎(Storage Engine)等。理解這些底層原理有助於後續的性能優化。 第一個數據庫的創建與管理: 通過實際操作,創建第一個SQL Server數據庫,瞭解數據庫文件的組成(MDF, LDF),以及數據文件的自動增長和收縮等基本管理操作。 第二章:SQL查詢語言(T-SQL)核心精講 T-SQL(Transact-SQL)是SQL Server特有的SQL方言,是進行數據操作和管理的基石。本章將係統地講解T-SQL的各項語法和常用命令。 數據查詢(SELECT)的精髓: 基礎查詢: `SELECT`、`FROM`、`WHERE` 子句的使用,過濾和排序數據的技巧(`ORDER BY`, `TOP`, `OFFSET-FETCH`)。 多錶聯接(JOIN): `INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`, `FULL OUTER JOIN`, `CROSS JOIN` 的原理和應用場景,以及如何選擇閤適的聯接方式。 聚閤函數與分組(GROUP BY, HAVING): `COUNT()`, `SUM()`, `AVG()`, `MIN()`, `MAX()` 的應用,以及使用 `GROUP BY` 和 `HAVING` 進行數據分組和條件過濾。 子查詢(Subquery): 在 `WHERE`, `SELECT`, `FROM` 子句中使用子查詢,解決復雜的數據提取問題。 公共錶錶達式(CTE): 使用 `WITH` 語句創建CTE,提高查詢的可讀性和復雜查詢的構建效率。 窗口函數(Window Functions): 介紹 `ROW_NUMBER()`, `RANK()`, `DENSE_RANK()`, `LAG()`, `LEAD()`, `NTILE()` 等強大的窗口函數,實現更靈活的數據分析和統計。 數據操縱語言(DML): 插入數據(INSERT): `INSERT INTO ... VALUES` 和 `INSERT INTO ... SELECT` 的使用。 更新數據(UPDATE): `UPDATE ... SET ... WHERE` 的語法和注意事項。 刪除數據(DELETE): `DELETE FROM ... WHERE` 的用法,以及 `TRUNCATE TABLE` 和 `DELETE` 的區彆。 數據定義語言(DDL): 創建錶(CREATE TABLE): 定義錶結構,指定列名、數據類型、約束。 修改錶(ALTER TABLE): 添加、刪除、修改列,添加、刪除約束。 刪除錶(DROP TABLE): 安全地刪除錶及其所有數據。 創建和刪除視圖(CREATE VIEW, DROP VIEW): 視圖的概念、作用以及創建方法。 數據控製語言(DCL)入門: 簡要介紹 `GRANT`, `REVOKE` 等權限管理命令,為後續安全性章節打下基礎。 第三章:SQL Server數據類型與約束詳解 準確選擇和使用數據類型,並閤理設計約束,是保證數據完整性和一緻性的關鍵。 SQL Server數據類型全覽: 數值類型: `INT`, `BIGINT`, `SMALLINT`, `TINYINT`, `DECIMAL`, `NUMERIC`, `FLOAT`, `REAL`, `MONEY`, `SMALLMONEY` 等。 日期和時間類型: `DATE`, `TIME`, `DATETIME`, `DATETIME2`, `SMALLDATETIME`, `DATETIMEOFFSET` 等,以及它們之間的區彆和應用。 字符串類型: `VARCHAR`, `NVARCHAR`, `CHAR`, `NCHAR`, `TEXT`, `NTEXT` 等,以及固定長度和可變長度的區彆。 二進製類型: `BINARY`, `VARBINARY`, `IMAGE` 等。 其他重要類型: `UNIQUEIDENTIFIER`, `XML`, `GEOMETRY`, `GEOGRAPHY` 等。 選擇閤適數據類型的考量: 空間占用、性能、精度、錶示範圍。 約束(Constraints)的應用: 主鍵約束(PRIMARY KEY): 唯一標識錶中的每一行,不允許 NULL 值。 唯一約束(UNIQUE): 確保列中的所有值都是唯一的,但允許 NULL 值。 非空約束(NOT NULL): 確保列中不允許存儲 NULL 值。 外鍵約束(FOREIGN KEY): 建立錶與錶之間的關聯,維護數據的參照完整性。 檢查約束(CHECK): 限製列中允許存儲的值的範圍或條件。 默認約束(DEFAULT): 為列指定一個默認值,當插入新記錄時,如果沒有顯式提供該列的值,則使用默認值。 約束的設計原則: 保證數據完整性,提高數據質量。 第四章:SQL Server索引優化策略 索引是提高數據庫查詢性能的關鍵,本章將深入講解索引的工作原理和優化技巧。 索引的工作原理: B-tree結構,葉子節點存儲數據指針,非葉子節點用於快速查找。 聚集索引(Clustered Index)與非聚集索引(Non-clustered Index): 聚集索引: 決定瞭錶中數據的物理存儲順序,每個錶隻能有一個。 非聚集索引: 獨立於數據存儲,包含指嚮實際數據行的指針。 選擇閤適的索引類型: 何時使用聚集索引,何時使用非聚集索引。 索引的創建與管理: 創建索引: `CREATE INDEX` 語法,單列索引、復閤索引。 索引維護: `REBUILD`, `REORGANIZE` 的作用,以及碎片整理的必要性。 刪除索引: `DROP INDEX`。 索引優化實踐: 識彆慢查詢: 通過SQL Server Profiler或Extended Events捕獲慢查詢。 分析查詢執行計劃: 理解執行計劃中的操作符,找齣性能瓶頸。 選擇閤適的列創建索引: 考慮列的基數(Cardinality)、選擇性(Selectivity)、查詢的 `WHERE` 子句和 `JOIN` 條件。 覆蓋索引(Covering Index): 包含查詢所需所有列的索引,避免迴錶查詢。 過濾索引(Filtered Index): 隻對部分數據行建立索引,減小索引大小,提高效率。 避免不必要的索引: 過多的索引會增加寫操作的負擔。 索引維護的自動化: 定期執行索引重建和重組。 第五章:SQL Server存儲過程與函數深入 存儲過程和函數是SQL Server中用於封裝T-SQL代碼、提高代碼復用性和性能的重要工具。 存儲過程(Stored Procedures): 創建存儲過程: `CREATE PROCEDURE` 語法,參數的傳遞(輸入、輸齣、輸入輸齣參數)。 執行存儲過程: `EXECUTE` 或 `EXEC` 命令。 存儲過程的優勢: 提高性能(編譯一次,多次使用)、安全性(權限控製)、代碼復用、模塊化開發。 控製流語句: `IF...ELSE`, `WHILE`, `BEGIN...END` 等在存儲過程中的應用。 臨時錶與錶變量: 在存儲過程中使用臨時錶 (`temp`) 和錶變量 (`@table`) 進行中間數據存儲。 錯誤處理: `TRY...CATCH` 塊,`@@ERROR` 變量,`RAISERROR` 函數。 用戶定義函數(User-Defined Functions - UDFs): 標量函數(Scalar-Valued Functions): 返迴單個值的函數。 錶值函數(Table-Valued Functions - TVFs): 內聯錶值函數(Inline TVFs): 語法更簡潔,性能通常更好。 多語句錶值函數(Multi-statement TVFs): 允許更復雜的邏輯,但可能存在性能問題。 函數與存儲過程的區彆: 函數可以作為錶達式使用,而存儲過程不能。 函數的使用場景: 數據清洗、復雜計算、自定義聚閤。 第六章:SQL Server事務與並發控製 理解事務和並發控製是構建健壯、高可用數據庫應用的基礎。 事務(Transactions): ACID特性: 原子性(Atomicity)、一緻性(Consistency)、隔離性(Isolation)、持久性(Durability)的原理和重要性。 事務的開始與結束: `BEGIN TRANSACTION`, `COMMIT TRANSACTION`, `ROLLBACK TRANSACTION`。 保存點(Savepoint): 在事務中設置保存點,允許部分迴滾。 隔離級彆(Isolation Levels): Read Uncommitted: 允許讀取未提交的數據,可能齣現髒讀。 Read Committed: 隻讀取已提交的數據,避免髒讀,但可能齣現不可重復讀和幻讀。 Repeatable Read: 保證在同一個事務中多次讀取同一行數據時,數據不會改變,避免不可重復讀,但仍可能齣現幻讀。 Serializable: 最高隔離級彆,模擬事務串行執行,避免髒讀、不可重復讀和幻讀,但可能影響並發性能。 選擇閤適的隔離級彆: 平衡數據一緻性和並發性能。 鎖(Locking)機製: 鎖的類型: 共享鎖(Shared Lock)、排他鎖(Exclusive Lock)、更新鎖(Update Lock)、意嚮鎖(Intent Lock)。 鎖粒度: 行級鎖(Row-Level Lock)、頁級鎖(Page-Level Lock)、錶級鎖(Table-Level Lock)、數據庫級鎖(Database-Level Lock)。 死鎖(Deadlock): 死鎖的産生原因、檢測和解決方法(死鎖預防、死鎖偵測和迴滾)。 樂觀並發控製(Optimistic Concurrency Control): 使用版本控製或時間戳,適用於讀多寫少的場景。 悲觀並發控製(Pessimistic Concurrency Control): 通過加鎖來防止並發衝突,適用於寫多的場景。 第七章:SQL Server數據庫備份與恢復 數據備份和恢復是保障數據安全、防止數據丟失的關鍵環節。 備份策略的製定: 恢復模式(Recovery Model): Simple(簡單): 最小的日誌記錄,適閤開發和測試環境,不支持時間點恢復。 Full(完整): 記錄所有事務,支持時間點恢復,但日誌文件增長快。 Bulk-Logged(大容量日誌): 介於兩者之間,記錄大容量操作,性能較好,支持時間點恢復。 備份類型: 完整備份(Full Backup): 備份整個數據庫。 差異備份(Differential Backup): 備份自上次完整備份以來發生變化的數據。 事務日誌備份(Transaction Log Backup): 備份事務日誌文件,僅適用於Full和Bulk-Logged恢復模式。 備份操作詳解: 使用SSMS進行備份: 圖形化界麵的備份嚮導。 使用T-SQL命令進行備份: `BACKUP DATABASE`, `BACKUP LOG` 語法。 備份選項: `WITH COMPRESSION`, `WITH NORECOVERY`, `WITH RECOVERY`, `WITH CONTINUE_AFTER_ERROR` 等。 恢復操作詳解: 使用SSMS進行恢復: 圖形化界麵的恢復嚮導。 使用T-SQL命令進行恢復: `RESTORE DATABASE`, `RESTORE LOG` 語法。 恢復選項: `WITH RECOVERY`, `WITH NORECOVERY`, `WITH REPLACE`, `WITH STOPAT` 等。 不同恢復場景: 完整恢復、差異恢復、事務日誌恢復、從損壞備份恢復。 定期測試備份: 確保備份文件的可用性和有效性。 備份和恢復的最佳實踐: 異地備份、增量備份與差異備份的結閤使用。 第八章:SQL Server性能調優與故障排查 性能問題是數據庫應用開發中普遍存在且需要重點關注的挑戰。本章將提供一係列性能調優和故障排查的實用技巧。 性能調優基礎: 識彆性能瓶頸: CPU、內存、I/O、網絡、鎖、阻塞。 SQL Server性能監視工具: Activity Monitor: 實時查看服務器活動。 SQL Server Profiler: 捕獲和分析SQL Server事件。 Extended Events: 更靈活、更輕量級的事件跟蹤。 Dynamic Management Views (DMVs) 和 Dynamic Management Functions (DMFs): 查詢服務器內部狀態和性能指標。 查詢性能優化: 分析執行計劃: 理解查詢執行的每一步,找齣低效操作。 避免N+1查詢問題: 使用JOIN或CTE優化。 閤理使用JOIN: 選擇閤適的JOIN類型。 優化WHERE子句: 避免函數索引失效。 減少不必要的SELECT : 隻選擇需要的列。 參數化查詢(Parameterized Queries): 提高查詢效率,防止SQL注入。 索引性能優化: (本章對第四章內容進行補充和實踐應用) 索引碎片化分析與處理。 不常使用的索引識彆與刪除。 服務器配置優化: 內存配置: Max Server Memory。 I/O配置: RAID級彆、磁盤陣列、文件組。 並行處理(MAXDOP)。 故障排查: 阻塞(Blocking)與死鎖(Deadlock)的診斷與解決。 錯誤日誌(SQL Server Error Log)的分析。 性能計數器(Performance Counters)的使用。 數據庫完整性檢查(DBCC CHECKDB)。 第九章:SQL Server安全管理 保護數據庫免受未經授權的訪問和數據泄露是至關重要的。 身份驗證與授權: 服務器級彆身份驗證: Windows身份驗證與SQL Server身份驗證。 數據庫級彆身份驗證: 用戶(Users)、角色(Roles)、登錄(Logins)。 權限(Permissions): 服務器級彆權限、數據庫級彆權限、對象級彆權限。 用戶定義角色(User-Defined Roles): 提高權限管理的靈活性。 安全策略與最佳實踐: 最小權限原則: 隻授予用戶完成任務所需的最低權限。 密碼策略: 強製執行強密碼,定期更換。 禁用不必要的服務和登錄。 定期審計安全日誌。 SQL注入防護: 參數化查詢的強製使用。 避免動態SQL拼接。 加密(Encryption): 透明數據加密(Transparent Data Encryption - TDE): 對整個數據庫進行加密。 列級加密(Column-Level Encryption): 對敏感數據列進行加密。 Always Encrypted: 客戶端加密,服務器端不解密。 第十章:SQL Server高級特性與應用場景 本章將介紹一些SQL Server的進階特性,並探討其在實際應用中的價值。 SQL Server Agent: 自動化管理任務,如作業調度、警報、操作員。 維護計劃(Maintenance Plans): 自動執行備份、索引重組、統計信息更新等日常維護任務。 全文搜索(Full-Text Search): 為文本數據提供高效的搜索功能。 觸發器(Triggers): 在數據修改時自動執行預定義的T-SQL語句,用於數據審計、強製業務規則等。 遊標(Cursors): 逐行處理數據的機製,但在大多數情況下應盡量避免,因為它可能導緻性能問題。 SQL Server Integration Services (SSIS): 用於ETL(Extract, Transform, Load)過程的數據集成工具,實現不同數據源之間的數據遷移和轉換。 SQL Server Reporting Services (SSRS): 用於創建和管理報錶的工具。 SQL Server Analysis Services (SSAS): 用於構建聯機分析處理(OLAP)和數據挖掘解決方案。 高可用性與災難恢復(HA/DR)解決方案簡述: 鏡像(Mirroring)、故障轉移群集(Failover Clustering)、AlwaysOn 可用性組(AlwaysOn Availability Groups)。 附錄: SQL Server常用函數速查錶。 SQL Server錯誤代碼解釋。 數據庫設計最佳實踐總結。 結語: 學習SQL Server是一個循序漸進的過程,理論與實踐相結閤是掌握其精髓的最佳途徑。本書通過由淺入深、由點及麵的方式,力求為讀者打造一個全麵、實用且易於理解的學習框架。希望本書能夠成為您在SQL Server學習道路上的得力助手,幫助您構建高效、穩定且安全的數據庫應用,在軟件開發的旅程中更上一層樓。