課程 20762-C: Developing SQL Databases

為期五天的教師指導課程提供學生開發 Microsoft SQL Server 資料庫的知識和技能。本課程側重於教導個人如何使用 SQL Server 產品功能和與開發資料庫相關的工具。

對象設定檔

本課程的主要對像是希望熟練 SQL Server 產品功能和實作資料庫技術的 IT 專業人員。

本課程的次要對象是來自其他產品平台的開發人員,希望熟練 SQL Server 資料庫的實作。

職務角色: 資料庫管理員

獲得的技能

  • 設計和實作資料表。
  • 描述進階資料表設計
  • 透過限制確保資料完整性。

必要條件

  • Microsoft Windows 作業系統及其核心功能的基本知識。
  • Transact-SQL 的工作知識。
  • 關聯式資料庫的工作知識。

課程大綱

模組 1: 資料庫開發簡介

在以開發或管理角色開始使用 Microsoft SQL Server 之前,了解 SQL Server 平台的範圍很重要。特別是,了解 SQL Server 不僅是資料庫引擎,還是管理企業資料的完整平台是很有用的。

除了提供一整套使開發更輕鬆,更可靠的工具外,SQL Server 還為各種規模的組織提供了一個健全的資料平台。

課程

  • SQL Server 平台簡介
  • SQL Server 數據庫開發任務

完成本模組後,您將能夠:

  • 描述 SQL Server 平台。
  • 使用 SQL Server 管理工具。

模組 2: 設計和實施表

在關聯式資料庫管理系統(RDBMS)中,使用者和系統資料儲存在資料表中。每個資料表由一組描述實體的資料列和一組保留實體屬性的資料行所組成。例如,客戶資料表可能具有諸如 CustomerName 和 CreditLimit 之類的資料行,並且每個客戶都有一資料列。在 Microsoft SQL Server 中,資料管理軟體資料表包含在架構中,這些架構在概念上與包含作業系統中檔案的資料夾非常相似。設計資料表是資料庫開發人員要執行的最重要的工作之一,因為不正確的資料表設計會導致無法有效查詢資料。

建立適當的設計後,重要的是要知道如何正確地實作設計。

課程

  • 設計資料表
  • 資料類型
  • 使用架構
  • 建立和變更資料表

實驗室: 設計和實作資料表

  • 設計資料表
  • 建立架構
  • 建立資料表

完成本模組後,您將能夠:

  • 使用正規化規則、主索引鍵和外部索引鍵設計資料表。
  • 使用識別資料行。
  • 了解內建和使用者資料類型。
  • 在資料庫設計中使用架構來組織數據和管理物件安全性。
  • 使用計算資料行和臨時資料表。

模組 3: 進階資料表設計

資料庫的實體設計可能會對於滿足利益相關者提出的儲存和效能要求的資料庫能力產生重大影響。設計實體資料庫實作包括計劃檔案群組,如何使用分割管理大型資料表以及使用壓縮來改進儲存和效能。時態表是 SQL Server 的一項新功能,提供一種直接的解決方案來收集對資料的變更。

課程

  • 對資料進行分割
  • 壓縮資料
  • 時態表

實驗室 : 使用進階資料表設計

  • 對資料進行分割
  • 壓縮資料

完成本模組後,您將能夠:

  • 描述在 SQL Server 資料庫中使用分割資料表的考量。
  • 計劃在 SQL Server 資料庫中使用資料壓縮。
  • 使用時態表儲存和查詢對資料的變更。

模組 4: 透過限制確保資料完整性。

資料庫中資料品質主要確定依賴於該資料庫的應用程式的實用性和有效性 - 組織或企業的成敗取決於資料庫。確保資料完整性是維護高品質資料的關鍵步驟。

從首次輸入或收集到儲存,您都應在應用程式的所有等級上強制執行資料完整性。Microsoft SQL Server 資料管理軟體提供一系列功能來簡化作業。

課程

  • 加強資料完整性
  • 實作資料網域完整性
  • 實作實體和參照完整性

實驗室 : 透過限制確保資料完整性

  • 新增限制
  • 測試限制

完成本模組後,您將能夠:

  • 描述用於強制執行資料完整性的選項以及他們應該套用的等級。
  • 透過諸如檢查、唯一和預設限制等選項實作網域完整性。
  • 透過主索引鍵和外部索引鍵限制實現引用完整性。

模組 5: 索引簡介

索引是與資料表關聯的頁面的集合。索引用於改進查詢效能或強制執行唯一性。在學習實作索引之前,了解它們的工作原理,在索引中使用不同資料類型的效率以及如何從多重資料行建構索引將很有幫助。本模組討論沒有索引的資料表結構以及 Microsoft SQL Server 中可用的不同索引類型。

課程

  • 核心索引概念
  • 資料類型和索引
  • 堆積索引,叢集索引和非叢集索引
  • 單一資料行和復合索引

實驗室: 實作索引

  • 建立堆積索引
  • 建立叢集索引
  • 建立涵蓋索引

完成本模組後,您將能夠:

  • 說明核心索引概念。
  • 評估用於不同資料類型的索引。
  • 描述單一資料行索引和復合列索引之間的區別。

模組 6: 設計最佳化的索引策略

索引在使 SQL Server 快速有效地從資料庫擷取資料中起著重要作用。本模組討論進階索引主題,包括索引,INCLUDE 子句,查詢提示,填補和填滿因數,統計資料,使用 DMO,資料庫調整建議程式和查詢存放區。

課程

  • 索引策略
  • 管理索引
  • 執行計劃
  • 資料庫引擎建議程式
  • 查詢存放區

實驗室: 最佳化索引

  • 使用查詢存放區
  • 堆積索引和叢集索引
  • 建立涵蓋索引

完成本模組後,您將能夠:

  • 什麼是涵蓋索引,以及何時使用。
  • 管理索引所涉及的問題。
  • 實際和估計的執行計劃。
  • 如何使用資料庫調整建議程式來改進查詢效能。
  • 如何使用查詢存放區來改進查詢效能。

模組 7: Columnstore 索引

在 Microsoft SQL Server 2012 中引入的資料行存放區索引被許多組織用於大型資料倉儲解決方案中。本模組強調顯示在大型資料集上使用這些索引的好處; SQL Server 2016 中對資料行存放區索引的改進; 以及在解決方案中有效使用資料行存放區索引所需的考量。

課程

  • Columnstore 索引簡介
  • 建立 Columnstore 索引
  • 使用 Columnstore 索引

實驗室: 使用 Columnstore 索引

  • 建立資料行存放區索引
  • 建立記憶體最佳化 Columnstore 資料表

完成本模組後,您將能夠:

  • 描述資料行存放區索引並識別適合其使用的案例。
  • 建立叢集和非叢集的資料行存放區索引。
  • 描述使用資料行存放區索引的考量。

模組 8: 設計和實作檢視表

本模組描述檢視表的設計和實作。檢視表是一種特殊的查詢類型 —可以儲存,並且可以在其他查詢中使用—就像資料表一樣。從檢視表來看,只有查詢定義儲存在磁碟上; 不是結果集。唯一的例外是索引檢視表,此時結果集也像資料表一樣儲存在磁盤上。

檢視表透過提供抽象層並隱藏資料表連結的複雜性來簡化資料庫的設計。檢視表也是透過授予使用者使用檢視表的權限而不授予他們對基礎物件的權限來保護資料的一種方法。這意味著資料可以保密,並且只能由適當的使用者檢視。

課程

  • 檢視表簡介
  • 建立和管理檢視表
  • 檢視表的效能考量

實驗室: 設計和實作檢視表

  • 建立標準檢視表
  • 建立可更新的檢視表

完成本模組後,您將能夠:

  • 了解檢視表在資料庫設計中的角色。
  • 建立和管理檢視表。
  • 使用檢視表了解效能考量。

模組 9: 設計和實作儲存的程序

本模組描述儲存的程序設計和實作。

課程

  • 儲存的程序導論
  • 使用儲存的程序
  • 實作參數化儲存的程序
  • 控制執行內容

實驗室: 設計和實作儲存的程序

  • 建立儲存的程序
  • 建立參數化儲存的程序
  • 變更儲存的程序執行內容

完成本模組後,您將能夠:

  • 了解什麼是儲存的程序,以及它們有什麼好處。
  • 設計,建立和變更儲存的程序。
  • 控制儲存的程序執行內容。
  • 實作使用參數的儲存的程序。

模組 10: 設計和實現使用者定義的函數

函數是用於封裝頻繁執行邏輯的常式。代碼不必在很多地方重複函數邏輯,而是可以呼叫函數。這使代碼更具可維護性,並且更易於偵錯。

在本模組中,您將學習設計和實作強制執行商務規則或資料一致性的使用者定義函數(UDF)。您還將學習如何修改和維護現有函數。

課程

  • 函數概觀
  • 設計和實作純量函數
  • 設計和實作資料表值函數
  • 實作函數的考量
  • 函數的替代方案

實驗室: 設計和實作使用者定義的函數

  • 格式化電話號碼
  • 修改現有函數

完成本模組後,您將能夠:

  • 描述不同類型的函數。
  • 設計和實現純量函數。
  • 設計和實作資料資料表值函數(TVF)。
  • 描述實作函數的考量。
  • 描述函數的替代方案。

模組 11: 透過觸發程序回應資料操作

資料操作語言(DML)觸發程序是功能強大的工具,可用於強制執行網域,實體,參考資料完整性和商務邏輯。完整性的強制可以幫助您建置可靠的應用程式。在本模組中,您將學習什麼是 DML 觸發程序,它們如何強制執行資料完整性,您可以使用的不同類型的觸發程序以及如何在資料庫中定義。

課程

  • 設計 DML 觸發程序
  • 實現 DML 觸發程序
  • 高級觸發程序的概念

實驗室 : 透過使用觸發程序回應資料操作

  • 建立和測試稽核觸發程序
  • 改進稽核觸發程序

完成本模組後,您將能夠:

  • 設計 DML 觸發程序
  • 實作 DML 觸發程序
  • 說明進階 DML 觸發程序概念,例如巢狀和遞迴。

模組 12: 使用記憶體內部的資料表

Microsoft SQL Server 2014 資料管理軟體引入記憶體內部線上交易處理(OLTP)功能特色,以提高 OLTP 工作負載的效能。SQL Server 新增一些增強功能,例如更改記憶體最佳化資料表而不重新建立的能力。記憶體最佳化資料表主要儲存在記憶體中,透過減少對硬碟的存取來提高效能。

與傳統解譯的 Transact-SQL 相比,原生編譯儲存程序進一步提高效能。

課程

  • 記憶體最佳化資料表
  • 原生編譯之儲存程序

實驗室 : 使用記憶體內部資料庫功能

  • 使用記憶體最佳化資料表
  • 使用原生編譯之儲存程序

完成本模組後,您將能夠:

  • 使用記憶體最佳化資料表以改進閂鎖綁定工作負載的效能
  • 使用原生編譯之儲存程序。

模組 13: 在 SQL Server 中實作受控碼

作為 SQL Server 專業人員,可能會要求您建立滿足商務需求的資料庫。使用 Transact-SQL 可以滿足大多數要求。但是,有時您可能需要使用通用語言執行平台(CLR)代碼才能滿足的其他功能。

隨著函數新增到每個新版次的 SQL Server ,使用受控碼的必要性降低。但是,有時您可能需要建立彙總,儲存程序,觸發程序,使用者定義的函數或使用者定義的類型。您可以使用任何 .NET Framework 語言來開發這些物件。

在本模組中,您將學習如何使用 CLR 受控碼為 SQL Server 建立使用者定義的資料庫物件。

課程

  • SQL Server 中的 CLR 整合簡介
  • 實作和發佈 CLR 組件

實驗室 : 在 SQL Server 中實作受控碼

  • 評估建議的 CLR 代碼
  • 建立純量值 CLR 函數
  • 創建表值CLR函數

完成本模組後,您將能夠:

  • 說明在 SQL Server 中 CLR 整合的重要性。
  • 使用 SQL Server 資料工具(SSDT)實施和發佈 CLR 組件。

模組 14: 在 SQL Server 中存儲和查詢 XML 數據

XML 提供用於以電腦可讀取形式對檔案進行編碼的規則。已成為表示資料結構而不是傳送非結構化文建的一種廣泛採用的標準。執行 Microsoft SQL Server 資料管理軟體的伺服器通常需要使用 XML 與其他系統交換資料。 許多 SQL Server 工具提供 XML 的介面。 SQL Server 為儲存和查詢提供 XML 的廣泛處理。本模組介紹 XML,說明如何在 SQL Server 中儲存 XML 資料,並說明如何查詢 XML 資料。

直接查詢 XML 資料的能力避免在執行結構化查詢語言(SQL)查詢之前將資料擷取為關聯式格式的需要。為了有效處理 XML,您需要能夠以多種方式查詢 XML 資料。 以 XML 的形式返回現有的關聯式資料,並查詢已經是 XML 的資料。

課程

  • XML 和 XML 架構導論
  • 在 SQL Server 中存儲 XML 數據和架構
  • 實作 XML 資料類型
  • 使用 Transact-SQL FOR XML 語句
  • XQuery 入門
  • 切碎 XML

實驗室 : 在 SQL Server 中儲存和查詢 XML 資料

  • 確定何時使用XML
  • 在變數中測試 XML 資料儲存
  • 使用 XML 架構格式
  • 使用 FOR XML 查詢
  • 建立儲存程序以返回 XML

完成本模組後,您將能夠:

  • 描述 XML 和 XML 架構。
  • 在 SQL Server 中儲存 XML 資料和關聯的 XML 架構。
  • 在SQL Server 中實作 XML 索引。
  • 使用 Transact-SQL FOR XML語句。
  • 使用基本的 XQuery 查詢。

模組 15: 在 SQL Server 中儲存和查詢空間資料

此模塊描述空間資料以及如何在 SQL Server 中實作本資料。

課程

  • 空間資料簡介
  • 使用 SQL Server 空間資料類型
  • 在應用程序中使用空間資料

實驗室: 使用 SQL Server 空間資料

  • 熟悉幾何資料類型
  • 將空間資料新增到現有資料表
  • 尋找附近位置

完成本模組後,您將能夠:

  • 描述如何在 SQL Server 中存儲空間資料
  • 使用 GEOMETRY 和 GEOGRAPHY 資料類型的基本方法
  • 查詢包含空間資料的資料庫

模組 16: 在 SQL Server 中儲存和查詢 BLOB 和文字文件

傳統上,資料庫已用於以簡單實值(例如整數,日期和字串)的形式儲存資訊,而這些值與更複雜的資料格式(例如文件,試算表,影像檔案和視訊檔案)形成對比。隨著資料庫支援的系統變得越來越複雜,管理員已經發現有必要將這種更複雜的檔案資料與資料庫資料表中的結構化資料進行整合。例如,在產品資料庫中,將產品記錄與該產品的服務手冊或教學影片相關聯會很有幫助。SQL Server 提供幾種整合這些檔案的方法(通常稱為二進位大型物件(BLOB)),並使它們的內容能夠編入索引並包含在搜尋結果中。在本模組中,您將學習如何設計和最佳化包含 BLOB 的資料庫。

課程

  • BLOB 資料考量
  • 使用 FILESTREAM
  • 使用全文檢索

實驗室 : 在 SQL Server 中儲存和查詢 BLOB 和文字文件

  • 啟用和使用 FILESTREAM 資料行
  • 啟用和使用檔案資料表
  • 使用全文檢索索引

完成本模組後,您將能夠:

  • 描述設計包含 BLOB 資料的資料庫的考量。
  • 描述使用 FILESTREAM 在 Windows 檔案系統上儲存 BLOB 資料的好處和設計考量。
  • 描述使用全文檢索索引和語意式搜尋的好處,並說明如何使用這些功能來搜尋 SQL Server 資料,包括非結構化資料

模組 17: SQL Server 並行

本模組說明如何命名,宣告,指派值以及使用變數。還描述如何在陣列中儲存資料。 並行控制是多使用者資料庫系統的關鍵功能。 當許多使用者同時修改資料時,它使資料維持一致性。本模組涵蓋 Microsoft SQL Server 中的並行實作。您將了解 SQL Server 如何實作並行控制,以及設定和使用並行設定的不同方式。

課程

  • 並行和交易
  • 鎖定內部

實驗室 : SQL Server 並行

  • 實作快照集隔離
  • 實作分割等級鎖定

完成本模組後,您將能夠:

  • 描述 SQL Server 中的並行和交易。
  • 描述 SQL Server 鎖定。

模組 18: 效能與監視

本模組說明如何命名,宣告,指派值以及使用變數。還描述如何在陣列中儲存資料。 本模組了解如何測量和監視 SQL Server 資料庫的效能。前兩個課程介紹 SQL Server 擴充事件,這是建置於 Microsoft SQL Server 資料庫引擎中的彈性,輕量的事件處理系統。這些課程側重於架構概念,疑難排解策略和使用方式情節。

課程

  • 擴充事件
  • 使用擴充事件
  • 即時查詢統計
  • 最佳化資料庫檔案設定
  • 計量

實驗室 : 監視,追蹤和基準

  • 使用擴充事件收集和分析資料
  • 實作基準方法

完成本模組後,您將能夠:

  • 了解擴充事件以及如何使用。
  • 使用擴充事件。
  • 了解實況查詢統計。
  • 最佳化資料庫檔案設定
  • 使用 DMV 和 Performance Monitor 建立基準並收集效能計量。