跟韓老師學SQL Server數據庫設計與開發

跟韓老師學SQL Server數據庫設計與開發

作者: 韓立剛
出版社: 中國水利水電出版社
出版在: 2017-02-01
ISBN-13: 9787517051824
ISBN-10: 7517051822
裝訂格式: 平裝
總頁數: 276 頁





內容描述


《跟韓老師學SQL Server數據庫設計與開發》完整地講述了SQL語句中使用的變量、數據類型、註釋行、運算符、常用函數,以及流程控制語句。從單表查詢講起,講解使用WHERE篩選行將查詢的結果分組、排序,然後講解多表查詢和數據匯總,講解多表交叉聯結、內聯結、外聯結、自聯結,使用UNION合並查詢結果集,使用聚合函數匯總查詢結果,接著講解了子查詢、開窗函數和行列轉換技術,實現數據完整性,創建和使用索引優化性能,在數據庫中創建和使用視圖簡化查詢,使用存儲過程操作數據庫,創建用戶自定義函數,在SQL語句中使用自定義函數,使用觸發器實現復雜的業務邏輯,使用事務實現數據的完整性和一致性。


目錄大綱


前言
第1章關係數據庫
1.1關係模型基本概念
1.2E—R模型到關係模型的轉化
1.3數據庫設計規範
1.3.1第1範式(1NF)
1.3.2第二範式(2NF)
1.3.3第三範式( 3NF)
第2章Transact—SQL概述
2.1啟動SQLServerManagementStudio(SSMS)
2.2T—SQL語句的類型
2.2.1DDL語句
2.2.2DCL語句
2.2.3DML 
2.3T—SQL語法要素
2.3.1SQL語句的批處理符號GO 
2.3. 2EXEC 
2.3.3註釋符
2.3.4標識符
2.4變量
2.5數據類型
2.5.1字符串類型
2.5.2Unicode字符串類型
2.5.3日期時間類型
2.5.4數值類型
2.6運算符
2.6.1算術運算符
2.6. 2比較運算符
2.6.3邏輯運算符
2.6.4連接運算符
2.7常用函數
2.7.1聚合函數
2.7.2數值函數
2.7.3字符串函數
2.7.4日期時間函數
2.7.5數據類型轉換函數
2.7.6控制NULL的常用函數
2.8流程控制語句
2.8.1條件判斷語句IFELSE和CASE 
2.8.2循環語句
第3章查詢基礎
3.1簡單查詢邏輯處理過程
3.2數據庫對象的引用規則
3.3指定表的返回列來篩選列
3.4使用WHERE篩選行
3.4.1使用比較運算符過濾數據
3.4.2搜索範圍內的值
3.4.3使用IN指定列表搜索條件
3.4.4使用LIKE關鍵字進行模糊匹配
3.4.5使用NULL比較搜索條件
3.4.6篩選時影響性能的注意事項
3.5格式化結果集
3.5.1在選擇列表中使用常量、函數和表達式
3.5.2使用別名
3.5. 3使用ORDERBY子句對結果排序
3.5.4使用TOP限制結果集
3.5.5使用DISTINCT消除重複行
3.6使用GROUPBY子句和聚集函數進行分組計算
3.6.1在查詢中使用聚集函數
3.6.2GROUPBY使用基礎
3.6 .3使用HAVING子句篩選分組後的數據
第4章多表聯接查詢和數據匯總
4.1聯接基礎知識
4.1.1在FROM子句中聯接
4.1.2在WHERE子句中聯接
4.2交叉聯接
4.3內聯接
4.4外聯接
4.4.1左外聯接
4.4.2右外聯接
4.4.3完全外部聯接
4.5自聯接
4.5.1使用同一列進行自聯接
4.5. 2使用不同列進行自聯接
4.6聯接查詢的邏輯處理過程
4.7多表聯接查詢
4.8UNION合併結果集
4.8.1UNION和UNIONALL 
4.8.2對合併結果集進行排序
4.8.3結果集的合併順序
4.9匯總數據
4.9 .1ROLLUP 
4.9.2CUBE 
4.9.3使用GROUPINGSETS 
4.9.4GROUPING查看匯總行並區分NULL 
第5章子查詢
5.1獨立子查詢
5.1.1獨立標量子查詢
5.1.2獨立多值子查詢
5.2相關子查詢
5.3使用IN( NOTIN)和EXISTS(NOTEXISTS)謂詞
5.3.1IN和NOTIN 
5.3.2EXISTS和NOTEXISTS 
5.4表表達式
5.4.1派生表
5.4.2公用表表達式(CTE)
第6章開窗函數和行列轉換
6.1窗口和開窗函數
6.2排名窗口函數
6.2.1使用ROW_NUMBER()進行分區編號
6.2.2使用RANK()和DENSE_RANK()進行分區排名
6.2.3使用NTILE()進行數據分組
6.3聚合窗口函數
6.4行列轉換
6.4.1行轉列
6.4.2列轉行
第7章數據修改
7.1插入數據
7.1.1使用INSERT和VALUES插入數據
7.1.2使用SELECT INTO插入數據
7.1.3使用INSERT和SELECT插入數據
7.2刪除數據
7.2 .1使用DELETE刪除行
7.2.2使用TRUNCATETABLE刪除所有行
7.3更新數據
7.3.1使用SET和WHERE更新數據
7.3.2更新基於其他表的數據
7.4使用MERGE合併數據
7.5通過表表達式修改數據
第8章數據完整性
8.1數據完整性的類型和實現方式
8.1.1域完整性及實現方式
8.1.2實體完整性及實現方式
8.1.3參照完整性及實現方式
8.2實現實體完整性
8.2.1使用主鍵
8.2 .2使用UNIQUE約束
8.2.3使用自增列
8.3實現域完整性
8.3.1CHECK約束
8.3.2DEFAULT約束
8.3.3NOTNULL定義
8.4參照完整性
8.4.1實現表間列的參照完整性
8.4.2實現表內列的參照完整性
8.5使用關係圖實現參照完整性
8.6使約束失效
8.7使用圖形界面實現數據完整性
8.7.1添加主鍵
8.7.2設置UNIQUE約束
8.7.3設置CHECK約束
8.7.4設置默認值約束
8.7.5設置外鍵
8.7.6禁用約束
第9章索引
9.1數據的存儲方式
9.1.1頁(Page)
9.1.2區(Extent)
9.1.3索引分配映射頁(IAM頁)
9.1.4估算表的大小
9.2B樹(Balanced Tree)
9.3查看頁內容的工具
9.3.1DBCCIND 
9.3.2DBCCPAGE 
9.4堆(Heaps)
9.5聚集索引
9.5.1約束與索引的關係
9.5.2唯YI聚集索引的物理結構
9.5.3不唯YI聚集索引的物理結構
9.5.4使用聚集索引查找數據的
執行計劃
9.6非聚集索引及其物理結構
9.6.1在堆中的非聚集索引
9.6.2在聚集表中的非聚集索引
9.6.3使用非聚集索引查找數據的執行計劃
9.7修改數據對索引結構的影響
9.7 .1頁拆分和行移動現象
9.7.2插入行
9.7.3刪除行
9.7.4更新行
9.8碎片和索引維護
9.8.1碎片
9.8.2維護索引
9.9複合索引
9.10包含列索引
9.11索引交叉
9.12篩選索引
9.13全文搜索
9.13.1創建和修改全文目錄
9.13.2創建全文索引
9.13.3全文搜索的查詢方法
9.14統計信息
9.14.1了解統計信息的作用
9.14.2查看和分析統計信息
9.14.3創建統計信息
9.14.4更新統計信息
9.14.5同步和異步統計信息更新
9.15基於索引設計的考慮
第10章視圖
10.1視圖簡介
10.2使用標準視圖
10.2.1創建標準視圖
10.2.2通過視圖更新數據
10.2.3修改和刪除視圖
10.3視圖選項
10.3.1使用ENCRYPTION選項
10.3.2使用SCHEMABINDING選項
10.3.3使用CHECKOPTION選項
10.4使用索引視圖
10.4.1創建索引視圖
10.4.2索引視圖的性能
10.4.3更新索引視圖
10.5視圖的優點
第11章存儲過程
11.1存儲過程的類型
11.1.1系統存儲過程
11.1.2擴展存儲過程
11.1.3用戶自定義存儲過程
11.2SQL存儲過程
11.2.1創建無參數的存儲過程
11.2.2修改和刪除存儲過程
11.2.3創建帶參數的存儲過程
11.2.4獲取存儲過程的執行結果
11.3存儲過程示例分析
11.4存儲過程的解析特點
11.5存儲過程的編譯、重編譯
11.6使用存儲過程的優缺點
第12章用戶自定義函數
12.1UDF簡介
12.2標量UDF 
12.3內聯表值函數
12.4多語句表值函數
12.5UDF的修改和刪除
12.6UDF的調用分析
第13章觸發器
13.1角發器的概念和分類
13.2DML觸發器
13.2.1兩張特殊的臨時表
13.2.2insert觸發器
13.2.3delete觸發器
13.2.4update觸發器
13.2.5禁用和啟用觸發器
13.2.6檢測基於列修改的觸發器
13.2.7FIRST觸發器和LAST觸發器
13.3使用觸發器實現審核跟踪
13.4 DML觸發器的工作原理和事務控制
13.4.1觸發器的工作原理
13.4.2DML觸發器的事務控制
13.5DDL觸發器
13.5.1創建數據庫級別的DDL觸發器
13.5.2創建服務器級別的DDL觸發器
第14章事務和鎖
14.1事務
14.1.1顯式事務處理模式
14.1.2自動提交事務模式
14.1.3隱式事務處理模式
14.1.4嵌套事務的控制
14.1.5事務、事務日誌和檢查點
14.2並發訪問引起的問題
14.3鎖
14.3.1鎖的粒度和鎖升級
14.3.2鎖的類型和查看鎖
14.3.3鎖的兼容性
14.4設置事務隔離級別
14.4.1SQL標准定義的4種事務隔離級別
14.4.2行版本的事務隔離級別
14.5隔離級別、鎖和並發問題的關係
14.6死鎖


作者介紹


韓立剛,微軟MVP,超過10年微軟、思科技術培訓及企業實踐經驗現任河北師範大學一線授課講師51CTO視頻學院金牌講師,聽課人數達到數百萬。錄有完整的IT技術視頻課程體系,現已錄製共49套課程,總時長超過3萬分鐘在IT教育領域倡導“視頻教學+QQ答疑”和“終身師徒關係”教學模式韓老師的課程,學生的普遍感受是學得輕鬆、學得透徹、學得管用,在找工作或換工作時心裡真正有底氣。原因有四:1.一是著力解決大學生在傳統數據庫教材中不易吃透的、似是而非的、似懂非懂問題。2.二是著力解決普通數據庫技術教材中理論不易實踐的問題。3.三是著力解決普通數據庫教材中知識點與企業實際需求脫節的問題。4.四是著力解決怎樣才能讓學生學得輕鬆、學得生動、學得深刻的問題。




相關書籍

PostgreSQL技術內幕:查詢優化深度探索

作者 張樹傑

2017-02-01

SQL Server 2017 Query Performance Tuning: Troubleshoot and Optimize Query Performance

作者 Grant Fritchey

2017-02-01

SQL 指令語法速查索引手冊 (支援 Oracle、SQL Server、Mysql、PostgreSQL、Access)

作者 酆士昌

2017-02-01