Developing for Microsoft SQL Server databases

This 5-day instructor-led course introduces Microsoft SQL Server and describes logical table design, indexing and query plans. It also focusses on the creation of database objects including views, stored procedures, along with parameters, and functions. Other common aspects of procedure coding, such as transactions, concurrency, error handling, triggers, and SQL CLR are also covered in this course.

At the end of the course, students will be able to:

  • Introduce the entire SQL Server platform and its major tools.
  • 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.
  • Implement PRIMARY KEY, FOREIGN KEY, DEFAULT, CHECK and UNIQUE constraints.
  • Determine appropriate single column and composite indexes strategies.
  • Create tables as heaps and tables with clustered indexes.
  • Read and interpret details of common elements from execution plans.
  • Design and implement effective non-clustered indexes, views, stored procedures, and functions.
  • 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
  • Store XML data and schemas in SQL Server and perform basic queries on XML data in SQL Server.


No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please let us know.

Intended for

IT Professionals who want to become skilled on SQL Server product features and technologies for implementing a database.


Before attending this course, students must have a basic knowledge of the Microsoft Windows operating system and its core functionality. A level of understanding as covered in the course SQL and relational databases fundamentals is required, i.e., the writing of basic SQL statements and having insight in relational systems. You can test yourself to see if you have enough background by filling in the online self-test.

Main topics

  • Introduction to MS SQL Server and its Toolset
  • Introduction to the SQL Server Platform
  • Working with SQL Server Tools
  • Configuring SQL Server Services
  • Working with Data Types
  • Using Data Types
  • Working with Character Data
  • Converting Data Types
  • Specialized Data Types
  • Designing and Implementing Tables
  • Designing Tables
  • Working with Schemas
  • Creating and Altering Tables
  • Ensuring Data Integrity through Constraints
  • Enforcing Data Integrity
  • Implementing Domain Integrity
  • Implementing Entity and Referential Integrity
  • Planning for SQL Server Indexing
  • Core Indexing Concepts
  • Data Types and Indexes
  • Single Column and Composite Indexes
  • Implementing Table Structures in SQL Server
  • SQL Server Table Structures
  • Working with Clustered Indexes
  • Designing Effective Clustered Indexes
  • Reading SQL Server Execution Plans
  • Execution Plan Core Concepts
  • Common Execution Plan Elements
  • Working with Execution Plans
  • Improving Performance through Nonclustered Indexes
  • Designing Effective Nonclustered Indexes
  • Implementing Nonclustered Indexes
  • Using the Database Engine Tuning Advisor
  • Designing and Implementing Views
  • Introduction to Views
  • Creating and Managing Views
  • Performance Considerations for Views
  • Designing and Implementing Stored Procedures
  • Introduction to Stored Procedures
  • Working With Stored Procedures
  • Implementing Parameterized Stored Procedures
  • Controlling Execution Context
  • Merging Data and Passing Tables
  • Using the MERGE Statement
  • Implementing Table Types
  • Using TABLE Types As Parameters
  • Designing and Implementing User-Defined Functions
  • Overview of Functions
  • Designing and Implementing Scalar Functions
  • Designing and Implementing Table-Valued Functions
  • Implementation Considerations for Functions
  • Alternatives to Functions
  • Creating Highly Concurrent SQL Server Applications
  • Introduction to Transactions
  • Introduction to Locks
  • Management of Locking
  • Transaction Isolation Levels
  • Handling Errors in T-SQL Code
  • Understanding T-SQL Error Handling
  • Implementing T-SQL Error Handling
  • Implementing Structured Exception Handling
  • Responding to Data Manipulation via Triggers
  • Designing DML Triggers
  • Implementing DML Triggers
  • Advanced Trigger Concepts
  • Implementing Managed Code in SQL Server
  • Introduction to SQL CLR Integration
  • Importing and Configuring Assemblies
  • Implementing SQL CLR Integration
  • Storing XML Data in SQL Server
  • Introduction to XML and XML Schemas
  • Storing XML Data and Schemas in SQL Server
  • Implementing the XML Data Type
  • Querying XML Data in SQL Server
  • Using the T-SQL FOR XML Statement
  • Getting Started with XQuery
  • Shredding XML
  • Working with SQL Server Spatial Data
  • Introduction to Spatial Data
  • Working with SQL Server Spatial Data Types
  • Using Spatial Data in Applications
  • Working with Full-Text Indexes and Queries
  • Introduction to Full-Text Indexing
  • Implementing Full-Text Indexes in SQL Server
  • Working with Full-Text Queries

Training method

Class training alternated with exercises.


5 days.

Course leader

Peter ter Braake (TrainSQL)