20464: Developing Microsoft SQL Server Databases
This 5-day instructor-led course introduces SQL Server 2014 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. The curriculum includes content focused on Microsoft SQL Server 2014 and on earlier releases of SQL. This course helps you prepare for the Exam 70-464.
This course supersedes the previous course 10776.
Module 1: Introduction to Database Development
This module introduces database development and the key tasks that a database developer would typically perform.
- Introduction to the SQL Server Platform
- Working with SQL Server Tools
- Configuring SQL Server Services
Lab : Introduction to Database Development
- Start SQL Server Management Studio
Module 2: Designing and Implementing Tables
This module explains how to design, create, and alter tables. Also it focusses on working with schemas.
- Designing Tables
- Working with Schemas
- Creating and Altering Tables
Lab : Designing and Implementing Tables
- Improving the Design of Tables
- Creating a Schema
- Creating the Tables
Module 3: 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 Integrity.
- Enforcing Data Integrity
- Implementing Domain Integrity
- Implementing Entity and Referential Integrity
Lab : Ensuring Data Integrity through Constraints
- Designing Constraints
- Testing the constraints
Module 4: Introduction to Indexing
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.
- Core Indexing Concepts
- Single Column and Composite Indexes
- SQL Server Table Structures
- Working with Clustered Indexes
Lab : Creating Indexes
- Creating Tables with Clustered Indexes
- Improving Performance through Nonclustered Indexes
Module 5: Advanced Indexing
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.
- Execution Plan Core Concepts
- Common Execution Plan Elements
- Working with Execution Plans
- Designing Effective Nonclustered Indexes
- Performance Monitoring
Lab : Planning for SQL Server 2014 Indexing
- Exploring Existing Index Statistics
- Creating Covering Indexes
Module 6: Columnstore Indexes
This module explains columnstore indexes, introduces clustered and nonclustered columnstore indexes, and discusses considerations for using columnstore indexes.
- Columnstore Indexes
- Best Practices for Columnstore Indexes
Lab : Using In-Memory Database Capabilities
- Creating Columnstore Indexes
Module 7: Designing and Implementing Views
This module introduces Views, and explains how to create and manage Views. Also it focusses on the performance consideration for Views.
- Introduction to Views
- Creating and Managing Views
- Performance Considerations for Views
Lab : Designing and Implementing Views
- Designing, Implementing and Testing the WebStock Views
- Designing and Implementing the Contacts View
- Modifying the AvailableModels View
Module 8: 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
Lab : Designing and Implementing Stored Procedures
- Creating stored procedures
- Creating a parameterized stored procedure
- Altering the execution context of stored procedures
Module 9: Designing and Implementing User-Defined Functions
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.
- Overview of Functions
- Designing and Implementing Scalar Functions
- Designing and Implementing Table-Valued Functions
- Implementation Considerations for Functions
- Alternatives to Functions
Lab : Designing and Implementing User-Defined Functions
- Formatting Phone Numbers
- Modifying an Existing Function
- Resolving a Function-Related Performance Issue
Module 10: Responding to Data Manipulation via Triggers
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.
- Designing DML Triggers
- Implementing DML Triggers
- Advanced Trigger Concepts
Lab : Responding to Data Manipulation via Triggers
- Creating and Testing the Audit Trigger
- Improving the Audit Trigger
Module 11: 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
Lab : Using In-Memory Database Capabilities
- Working with Memory Optimized Tables
- Working with Natively Compiled Stored Procedures
Module 12: Implementing Managed Code in SQL Server
This module explains how to use CLR integrated code to create user-defined database objects that are managed by the .NET Framework.
- Introduction to SQL CLR Integration
- Importing and Configuring Assemblies
- Implementing SQL CLR Integration
Lab : Implementing Managed Code in SQL Server
- Assessing Proposed CLR Code
- Implementing a CLR Assembly
- Implementing a CLR User-defined Aggregate and CLR User-defined Data Type
Module 13: Storing and Querying XML Data in SQL Server
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.
- Introduction to XML and XML Schemas
- Storing XML Data and Schemas in SQL Server
- Implementing the XML Data Type
- Using the T-SQL FOR XML Statement
- Getting Started with XQuery
- Shredding XML
Lab : Storing and Querying XML Data in SQL Server
- 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
Module 14: Working with SQL Server Spatial Data
This module introduces Spatial Data, and explains how to work with SQL Server Spatial Data Types.
- Introduction to Spatial Data
- Working with SQL Server Spatial Data Types
- Using Spatial Data in Applications
Lab : Working with SQL Server Spatial Data
- Querying the Geometry Data Type
- Adding Spatial Data to an Existing Table
This course requires that you meet the following prerequisites:
- Knowledge of writing T-SQL queries.
- Knowledge of basic relational database concepts.