Developing Microsoft SQL Server Databases

Course Code: 20464

Course Description

This 5-day instructor-led course introduces SQL Server 2014 and describes logical table design, indexing and query plans. It also focuses on the creation of database objects including views, stored procedures, along with parameters, and functions. Other common aspects of procedure coding, such as indexes, concurrency, error handling, and triggers are also covered in this course. Also this course helps you prepare for the Exam 70-464.

Course Outcomes

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.
Determine appropriate data types to be used when designing tables, convert data between data types, and create alias data types.
Be aware of good design practices regarding SQL Server tables and be able to create tables using T-SQL. (Note: partitioned tables are not covered).
Implement PRIMARY KEY, FOREIGN KEY, DEFAULT, CHECK and UNIQUE constraints, and investigate cascading FOREIGN KEY constraints.
Determine appropriate single column and composite indexes strategies.
Create tables as heaps and tables with clustered indexes. Also consider the design of a table and suggest an appropriate structure.
Read and interpret details of common elements from execution plans.
Design effective non-clustered indexes.
Design and implement views.
Design and implement stored procedures.
Work with table types, table valued parameters and use the MERGE statement to create stored procedures that update data warehouses.
Design and implement functions, both scalar and table-valued. (Also describe where they can lead to performance issues).
Perform basic investigation of a deadlock situation and learn how transaction isolation levels affect application concurrency.
Use both traditional T-SQL error handling code and structured exception handling.
Design and implement DML triggers.
Learn appropriate uses for SQL CLR integration and implement an existing .NET assembly within SQL Server.
Store XML data and schemas in SQL Server.
Perform basic queries on XML data in SQL Server.
Work with the GEOGRAPHY and GEOMETRY data types.
Implement and query a full-text index.

Course Modules

This module introduces database development and the key tasks that a database developer would typically perform.

This module explains how to enforce data integrity, and implement domain integrity to maintain high quality data. Also it focusses on implementing Entity and Referential Integrity.

This module explains covering indexes and the INCLUDE clause as well as the use of padding, hints and statistics. The module also covers the use of the Database Engine Tuning Advisor and index-related dynamic management views to assess indexing strategies.

This module introduces Views, and explains how to create and manage Views. Also it focusses on the performance consideration for Views.

This module explains how to design and implement user-defined functions that enforce business rules or data consistency, and modify and maintain existing functions written by other developers.

This module covers the creation of in-memory tables and native stored procedures and discusses the advantages and disadvantages of using in-memory tables.

This module introduces XML and shows how XML data can be stored within SQL Server and then queried, including queries written in a language called XQuery.

This module explains how to design, create, and alter tables. Also it focusses on working with schemas.

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.

This module explains columnstore indexes, introduces clustered and nonclustered columnstore indexes, and discusses considerations for using columnstore indexes.

This module describes the potential advantages of the use of stored procedures along with guidelines on creating them.

This module, explains what DML triggers are and how they enforce data integrity. Also it focusses on the different types of triggers available, and how to define triggers in a database.

This module explains how to use CLR integrated code to create user-defined database objects that are managed by the .NET Framework.

This module introduces Spatial Data, and explains how to work with SQL Server Spatial Data Types.


This course requires knowledge of writing T-SQL queries and knowledge of basic relational database concepts.

Next Steps

Designing Database Solutions for Microsoft SQL Server (20465)

Course Labs

Start SQL Server Management Studio

Designing Constraints Testing the constraints

Exploring Existing Index Statistics Creating Covering Indexes

Designing, Implementing and Testing the WebStock Views Designing and Implementing the Contacts View Modifying the AvailableModels View

Formatting Phone Numbers Modifying an Existing Function Resolving a Function-Related Performance Issue

Working with Memory Optimized Tables Working with Natively Compiled Stored Procedures

Assessing appropriate Use of XML Data in SQL Server Testing XML Data Storage in Variables Retrieving Information about XML Schema Collections Querying SQL Server Data as XML Write a Stored Procedure Returning XML

Improving the Design of Tables Creating a Schema Creating the Tables

Creating Tables with Clustered Indexes Improving Performance through Nonclustered Indexes

Creating Columnstore Indexes

Creating stored procedures Creating a parameterized stored procedure Altering the execution context of stored procedures

Creating and Testing the Audit Trigger Improving the Audit Trigger

Assessing Proposed CLR Code Implementing a CLR Assembly Implementing a CLR User-defined Aggregate and CLR User-defined Data Type

Querying the Geometry Data Type Adding Spatial Data to an Existing Table

Questions about this course?