20761: Querying Data with Transact-SQL

Length: 4 days | Audience: IT Professionals | Format: Instructor-Led or Self-Paced

This four-day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL Server 2016 database. The course focuses on teaching individuals how to use SQL Server 2016 product features and tools related to developing a database.

Audience profile
The primary audience for this course is IT Professionals who want to become skilled on SQL Server 2016 product features and technologies for implementing a database.
The secondary audiences for this course are individuals who are developers from other product platforms looking to become skilled in the implementation of a SQL Server 2016 database.

After completing this course, students will be able to:

  • Design and Implement Tables.
  • Describe advanced table designs
  • Ensure Data Integrity through Constraints.
  • Describe indexes, including Optimized and Columnstore indexes
  • Design and Implement Views.
  • Design and Implement Stored Procedures.
  • Design and Implement User Defined Functions.
  • Respond to data manipulation using triggers.
  • Design and Implement In-Memory Tables.
  • Implement Managed Code in SQL Server.
  • Store and Query XML Data.
  • Work with Spatial Data.
  • Store and Query Blobs and Text Documents.

Module 1: Introduction to Database Development
This module is used to introduce the entire SQL Server platform and its major tools. It will cover editions, versions, basics of network listeners, and concepts of services and service accounts

Lessons

  • Introduction to the SQL Server Platform
  • SQL Server Database Development Tasks


Module 2: Designing and Implementing Tables
This module describes the design and implementation of tables. (Note: partitioned tables are not covered).

Lessons

  • Designing Tables
  • Data Types
  • Working with Schemas
  • Creating and Altering Tables

Module 3: Advanced Table Designs
This module describes more advanced table designs.

Lessons

  • Partitioning Data
  • Compressing Data
  • Temporal Tables

Module 5: Introduction to Indexes
This module describes the concept of an index and discusses selectivity, density and statistics. It covers appropriate data type choices and choices around composite index structures.

Lessons

  • Core Indexing Concepts
  • Data Types and Indexes
  • Heaps, Clustered, and Nonclustered Indexes
  • Single Column and Composite Indexes

Module 6: Designing Optimized Index Strategies
This module includes covering indexes and the INCLUDE clause, hints, padding / fillfactor, statistics. It also execution plans and the DTE Lessons.

Lessons

  • Index Strategies
  • Managing Indexes
  • Execution Plans
  • The Database Engine Tuning Advisor
  • Query Store


Module 7: Columnstore Indexes
This module introduces Columnstore indexes.

Lessons

  • Introduction to Columnstore Indexes
  • Creating Columnstore Indexes
  • Working with Columnstore Indexes


Module 8: Designing and Implementing Views
This module describes the design and implementation of views.

Lessons

  • Introduction to Views
  • Creating and Managing Views
  • Performance Considerations for Views


Module 9: Designing and Implementing Stored Procedures
This module describes the design and implementation of stored procedures.

Lessons

  • Introduction to Stored Procedures
  • Working with Stored Procedures
  • Implementing Parameterized Stored Procedures
  • Controlling Execution Context


Module 10: Designing and Implementing User-Defined Functions
This module describes the design and implementation of functions, both scalar and table-valued. (Also discusses where they can lead to performance issues).

Lessons

  • Overview of Functions
  • Designing and Implementing Scalar Functions
  • Designing and Implementing Table-Valued Functions
  • Considerations for Implementing Functions
  • Alternatives to Functions


Module 11: Responding to Data Manipulation via Triggers
This module describes the design and implementation of triggers.

Lessons

  • Designing DML Triggers
  • Implementing DML Triggers
  • Advanced Trigger Concepts


Module 12: Using In-Memory Tables
This module covers the creation of in-memory tables and native stored procedures. Furthermore, advantages of in-memory tables are discussed, for example the removal of transaction blocking.

Lessons

  • Memory-Optimized Tables
  • Natively Compiled Stored Procedures


Module 13: Implementing Managed Code in SQL Server
This module describes the implementation of and target use-cases for SQL CLR integration.

Lessons

  • Introduction to CLR Integration in SQL Server
  • Implementing and Publishing CLR Assemblies


Module 14: Storing and Querying XML Data in SQL Server
This module covers the XML data type, schema collections, typed and un-typed columns and appropriate use cases for XML in SQL Server.

Lessons

  • Introduction to XML and XML Schemas
  • Storing XML Data and Schemas in SQL Server
  • Implementing the XML Data Type
  • Using the Transact-SQL FOR XML Statement
  • Getting Started with XQuery
  • Shredding XML


Module 16: Storing and Querying BLOBs and Text Documents in SQL Server
This module covers full text indexes and queries.

Lessons

  • Considerations for BLOB Data
  • Working with FILESTREAM
  • Using Full-Text Search

This course requires that student meet the following prerequisites, including that they have:

  • Basic knowledge of the Microsoft Windows operating system and its core functionality.
  • Working knowledge of Transact-SQL.
  • Working knowledge of relational database