1 – Introduction to Database Development
- 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
2 – Designing and Implementing Tables
- 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
3 – Ensuring Data Integrity through Constraints
- Enforcing Data Integrity
- Implementing Domain Integrity
- Implementing Entity and Referential Integrity
- Lab : Ensuring Data Integrity through Constraints
- Designing Constraints
- Testing the constraints
4 – Introduction to Indexing
- 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
5 – Advanced Indexing
- 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
6 – Columnstore Indexes
- Columnstore Indexes
- Best Practices for Columnstore Indexes
- Lab : Using In-Memory Database Capabilities
- Creating Columnstore Indexes
7 – Designing and Implementing 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
8 – Designing and Implementing Stored Procedures
- 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
9 – 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
- Lab : Designing and Implementing User-Defined Functions
- Formatting Phone Numbers
- Modifying an Existing Function
- Resolving a Function-Related Performance Issue
10 – Responding to Data Manipulation via Triggers
- 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
11 – 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
12 – Implementing Managed Code in SQL Server
- 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
13 – Storing and Querying XML Data in SQL Server
- 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
14 – Working with SQL Server Spatial Data
- 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