Introduction to Database Development
This module introduces database development and the key tasks that a database developer
would typically perform. Also the most common tools (Management Studio and SQL Server Data Tools within Visual Studio) are introduced.
- Introduction to the SQL Server Platform
- Working with SQL Server Tools
- Configuring SQL Server Services
Designing and Implementing Tables
Tables are the basis of every database. This module explains how to design tables (normalization), and how create and alter tables with both the graphical designers as well as with T-SQL statements. Also it focusses on
working with schemas: You're not going to put everything in the dbo schema, are you?
- Designing Tables
- Working with Schemas
- Creating and Altering Tables
Ensuring Data Integrity through Constraints
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
- Enforcing Data Integrity
- Implementing Domain Integrity
Entity and Referential Integrity
Introduction to Indexing
Indexes speed up SQL queries, but they can slow down data insertion. Because of this a compromise needs to be found. In this module you will learn about the 3 most commonly used data structures to store SQL Server data (heap, clustered index and non-clustered index) and the consequences they have on performance.
- Core Indexing Concepts
- Single Column and Composite Indexes
- SQL Server
- Working with Clustered Indexes
This module dives a bit deeper in the indexing topic: how does SQL Server decides which indexes to use, and how can we monitor this.
- Execution Plan Core Concepts
- Common Execution Plan Elements
with Execution Plans
- Designing Effective Non-clustered Indexes
Since SQL Server 2012 a new type of index has been added to SQL Server. This columnstore index is mainly beneficial for queries which retrieve many rows but only a few columns. In this module you will learn about the different types of ColumnStore indexes and how they differ from the traditional indexes.
- Columnstore Indexes
- Best Practices for Columnstore Indexes
Designing and Implementing Views
Abstraction layers shield applications from changes in a source system. In the same way you can create an abstraction layer on top of your tables, such that application developers do not need to worry when you want to redesign your tables. Views are one of the abstraction mechanisms in SQL Server. This module illustrates how to create them, their strong points and their limitations.
- Introduction to Views
- Creating and Managing Views
- Performance Considerations
Designing and Implementing Stored Procedures
This module describes the potential advantages of the use of stored procedures along
with guidelines on creating them.
- Introduction to Stored Procedures
- Working With Stored Procedures
- Implementing Parameterized Stored Procedures
- Controlling Execution Context
Designing and Implementing User-Defined Functions
User-defined functions allow for easy code-reuse amongst different queries. SQL Server distinguishes 3 different types of user-defined functions, all of which are discussed in this module.
- Overview of Functions
- Designing and Implementing Scalar Functions
- Designing and Implementing Table-Valued Functions
- Implementation Considerations
- Alternatives to Functions
Responding to Data Manipulation via Triggers
Triggers allow you to run arbitrary T-SQL code when data is inserted, updated or deleted in your database. This module shows you how to create both AFTER triggers and INSTEAD OF triggers.
- Designing DML Triggers
- Implementing DML Triggers
- Advanced Trigger
Using In-Memory Tables
This module covers the creation of in-memory tables and native stored procedures
and discusses the advantages and disadvantages of using in-memory tables.
- Memory-Optimized Tables
- Native Stored Procedures
Implementing Managed Code in SQL Server
T-SQL is not an advanced programming language: It lacks a large library of useful functions, the code is not compiled but interpreted, it has no inheritance or advanced error handling, ... . To overcome these limitations stored procedures, triggers and functions can be written in Managed .Net code (C# and VB.Net) as well. This module discusses the advantages and disadvantages of this, as well as how to get started with Managed code. It does not provide the basics of .Net coding itself.
- Introduction to SQL CLR Integration
- Importing and Configuring Assemblies
- Implementing SQL CLR Integration
Storing and Querying XML Data in SQL Server
Nowadays many files are really XML files: Whether its a .gpx files with GPS coordinates or a .pptx PowerPoint, they all hold structured data. With the xml data type in SQL Server, you can index and query these xml files from within your SQL Server.
- Introduction to XML and XML Schemas
- Storing XML Data and Schemas in SQL
- Implementing the XML Data Type
- Using the T-SQL FOR XML Statement
- Getting Started with XQuery
- Shredding XML
Working with SQL Server Spatial Data
This module introduces Spatial Data, and explains how to work with SQL Server Spatial
- Introduction to Spatial Data
- Working with SQL Server Spatial Data Types
- Using Spatial Data in Applications
This instructor-led course introduces SQL Server 2014 (or more recent) 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 indexes, concurrency, error handling,
and triggers are also covered in this course. Also this course helps you prepare
for the Exam 70-464.
Most skills learned in this course are also applicable when developing Azure SQL databases.