SQL數(shù)據(jù)庫培訓(xùn)
一、SQL 2012數(shù)據(jù)庫管理培訓(xùn)
1、數(shù)據(jù)庫基本管理:數(shù)據(jù)庫對象概述(數(shù)據(jù)庫對象,事務(wù)日志,基本的數(shù)據(jù)庫對象:表 ,模式,文件組,關(guān)系圖,視圖,存儲過程,用戶定義函數(shù),用戶和角色,規(guī)則,默認值,用戶定義數(shù)據(jù)類型)、SQL Server數(shù)據(jù)類型、SQL Server對象標識符。
2、數(shù)據(jù)庫高級管理:為數(shù)據(jù)完整性規(guī)則使用觸發(fā)器、觸發(fā)器的其他常見用途、其他觸發(fā)器問題、性能考慮、刪除觸發(fā)器、調(diào)試觸發(fā)器。
3、數(shù)據(jù)庫優(yōu)化及安排:保證SQL Server 2012的安全,包括SQL Server 2012身份驗證模式、訪問權(quán)限、用戶的設(shè)置、角色的分類、角色的設(shè)置、架構(gòu)以及如何確保數(shù)據(jù)庫服務(wù)器的安全。進行SQL Server自動化管理,如何創(chuàng)建與刪除作業(yè),如何啟用與禁用作業(yè),如何手動和自動執(zhí)行作業(yè),如何創(chuàng)建與刪除警報,
二、SQL 2012數(shù)據(jù)庫管理(提升)
模塊一
1、規(guī)劃數(shù)據(jù)模型策略:定義XML存儲數(shù)據(jù)的標準 ,規(guī)劃Schema方案,規(guī)劃Scale-Out策略。
2、設(shè)計Notifications Services的解決方案
3、規(guī)劃Source Control、Unit Testing和Deployment
4、設(shè)計Service Broker解決方案"
模塊二
1、高級查詢及XML技術(shù):CTE,Ranking查詢函數(shù) ,XML數(shù)據(jù)類型與關(guān)系型數(shù)據(jù)轉(zhuǎn)換策略。
2、規(guī)劃數(shù)據(jù)庫邏輯模型 :創(chuàng)建邏輯模型 ,設(shè)計OLTP應(yīng)用模型 ,設(shè)計數(shù)據(jù)倉庫應(yīng)用模型。
3、規(guī)劃物理模型:設(shè)計數(shù)據(jù)庫物理對象,設(shè)計數(shù)據(jù)庫安全 ,規(guī)劃數(shù)據(jù)庫和SQL Server選項
模塊三
1、使用MARS(Multiple Active Result Sets)來設(shè)計查詢策略
2、為數(shù)據(jù)庫應(yīng)用設(shè)計緩存策略 :SQL Server 2008 R2中的數(shù)據(jù)和查詢緩存,使用SQL Server外部緩存技術(shù) 。
3、調(diào)解數(shù)據(jù)庫查詢性能:查詢語句的邏輯順序 ,使用子查詢時需要考慮的問題
模塊四
1、查詢中的游標影響 :比較Cursor-Based和Result Set-Based操作,選擇適合的服務(wù)器端游標,使用PIVOT和CTE(Common Table Expressions)
2、使用索引策略:規(guī)劃數(shù)據(jù)庫優(yōu)化選項 ,使用索引需要考慮的問題,索引策略。
3、管理并發(fā):定義隔離級, 定義事務(wù)策略,規(guī)劃SQL Server事務(wù)處理策略,了解數(shù)據(jù)處理需求 。
數(shù)據(jù)庫,尤其是關(guān)系型數(shù)據(jù)庫,非常重要。那為什么要學(xué)習(xí)其原理呢?
對優(yōu)秀的工程師來說,只會用數(shù)據(jù)庫是遠遠不夠的。學(xué)習(xí)原理對于當CRUD BOY搬磚收益并不大,但當通用組件真的無解需要自己擼起袖子上時,沒有金坷垃怎么種莊稼?設(shè)計系統(tǒng)時,理解原理能讓你以少的復(fù)雜度代價寫出更可靠高效的代碼;遇到疑難雜癥需要排查時,理解原理能帶來精準的直覺與深刻的洞察。
數(shù)據(jù)庫是一個博大精深的領(lǐng)域,存儲I/O計算無所不包。其主要原理也可以粗略分為幾個部分:數(shù)據(jù)模型設(shè)計原理(應(yīng)用)、存儲引擎原理(基礎(chǔ))、索引與查詢優(yōu)化器的原理(性能)、事務(wù)與并發(fā)控制的原理(正確性)、故障恢復(fù)與復(fù)制系統(tǒng)的原理(可靠性)。 所有的原理都有其存在意義:為了解決實際問題。
例如數(shù)據(jù)模型設(shè)計中的范式理論,就是為了解決數(shù)據(jù)冗余這一問題而提出的,它是為了把事情做漂亮(可維護)。它是模型設(shè)計中一個很重要的設(shè)計權(quán)衡:通常而言,冗余少則復(fù)雜度小/可維護性強,冗余高則性能好。具體來說,冗余字段能加快特定類型的讀取(通過消除連接),但在寫入時就需要做更多的工作:維護多對象副本間的一致性,避免多對象事務(wù)并發(fā)執(zhí)行時發(fā)生踩踏。這就需要仔細權(quán)衡利弊,選擇合適的規(guī)范化等級。數(shù)據(jù)模型設(shè)計,就是生產(chǎn)中的數(shù)據(jù)結(jié)構(gòu)設(shè)計。不了解這些原理,就難以提取良好的抽象,其他工作也就無從談起。
而關(guān)系代數(shù)與索引的原理,則在查詢優(yōu)化中扮演重要的角色,它是為了把事情做得快(性能,可擴展)。當數(shù)據(jù)量越來越大,SQL寫的越來越復(fù)雜時,它的意義就會體現(xiàn)出來:怎樣寫出等價但是更高效的查詢?當查詢優(yōu)化器沒那么智能時,就需要人來干這件事。這種優(yōu)化往往有四兩撥千斤的效果,比如一個需要幾秒的KNN查詢,如果知道R樹索引的原理,就可以通過改寫查詢,創(chuàng)建GIST索引優(yōu)化到1毫秒內(nèi),千倍的性能提升。不了解索引與查詢設(shè)計原理,就難以充分發(fā)揮數(shù)據(jù)庫的性能。