SQL Server 資料庫設計
一、資料庫設計的必要性
二、什麼是資料庫設計
三、資料庫設計的重要
四、資料模型
實體-關係(E-R)資料模型
實體(Entity)
屬性(Attribute)
關係(Relationship)
五、資料庫設計步驟
1、 需求分析階段
2、 概要設計階段
3、 詳細設計階段
六、資料庫設計正常化
資料庫設計中經常出現的問題
規範設計
正常化和效能關係
SQL Server 資料庫基礎編程
Go批處理語句
使用、切換資料庫
建立、刪除資料庫
基礎資料型別 (Elementary Data Type)
精確數字類型
近似數字類型
日期時間類型
字串類型
Unicode字串類型
二進位字串類型
判斷表或其他對象及列是否存在
建立、刪除表
給表添加欄位、修改欄位、刪除欄位
添加、刪除約束
插入資料
查詢、修改、刪除資料
備份資料、表
利用預存程序查詢表資訊
SQL Server Transact-SQL 編程
變數
1、 局部變數(Local Variable)
2、 全域變數(Global Variable
輸出語句
邏輯控制語句
1、 if-else判斷語句
2、 while…continue…break迴圈語句
3、 case
4、 其他語句
SQL Server T-SQL進階查詢
基本常用查詢
嵌套子查詢
# from (select … table)樣本
# in, not in子句查詢樣本
# exists和not exists子句查詢樣本
# some、any、all子句查詢樣本
彙總查詢
1、 distinct去掉重複資料
2、 compute和compute by匯總查詢
3、 cube匯總
排序函數
# row_number函數
# rank函數函數
# dense_rank函數
# partition by分組子句
# ntile平均排序函數
集合運算
1、 union和union all進行並集運算
2、 intersect進行交集運算
3、 except進行減集運算
公式表運算式
串連查詢
1、 簡化串連查詢
2、 left join左串連
3、 right join右串連
4、 inner join內串連
5、 cross join交叉串連
6、 自串連(同一張表進行串連查詢)
函數
1、 彙總函式
2、 日期時間函數
3、 數學函數
4、 中繼資料
5、 字串函數
6、 安全函數
7、 系統函數
8、 配置函數
9、 系統統計函數
10、 使用者自訂函數
SQL Server 索引和視圖
索引
1、 什麼是索引
2、 索引分類
3、 建立索引
4、 適合的建立索引的列
5、 不適合建立索引的列
視圖
1、 什麼是視圖
2、 建立視圖準則
3、 建立視圖
4、 修改視圖
5、 加密視圖
SQL Server 預存程序
預存程序的概念
1、 預存程序的優點
A、 預存程序允許標準組件式編程
B、 預存程序能夠實現較快的執行速度
C、 預存程序減輕網路流量
D、 預存程序可被作為一種安全機制來充分利用
系統預存程序
使用者自訂預存程序
1、 建立文法
2、 建立不帶參數預存程序
3、 修改預存程序
4、 帶參預存程序
5、 帶萬用字元參數預存程序
6、 帶輸出參數預存程序
7、 不緩衝預存程序
8、 加密預存程序
9、 帶遊標參數預存程序
10、 分頁預存程序
Raiserror
SQL Server 事務、異常和遊標
事務
1、 事務的特點
原子性
一致性
隔離性
持久性
2、 事務的模式
a、 顯示事務
b、 自動認可事務
c、 隱含交易
3、 交易處理
a、 begin transaction語句
b、 commit transaction語句
c、 rollback transaction語句
4、 事務的樣本
異常
# 樣本:用異常處理錯誤資訊
# 樣本:異常能處理的錯誤資訊
# 樣本:無法提交的事務
# 樣本:處理異常日誌資訊
遊標
1、遊標實際功能
2、遊標的基本操作
A、 定義遊標
B、 開啟遊標
C、 檢索遊標
D、 關閉遊標
E、 刪除遊標
3、遊標操作樣本
SQL Server 觸發器
什麼是觸發器
DML觸發器分為:
1、 after觸發器(之後觸發)
a、 insert觸發器
b、 update觸發器
c、 delete觸發器
2、 instead of 觸發器 (之前觸發)
建立觸發器
# 建立insert類型觸發器
# 建立delete類型觸發器
# 建立update類型觸發器
# update更新列級觸發器
# instead of類型觸發器
# 建立instead of觸發器
# 顯示自訂訊息raiserror
# 修改觸發器
# 啟用、禁用觸發器
# 查詢建立的觸發器資訊
# 樣本,驗證插入資料
# 樣本,動作記錄
SQL Server 資料庫安全