Developing SQL Databases - M20762 Course Outline

(5 Days) - Learning Credits Accepted

Overview

About This Course

This five-day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL Server 2016 database. The course focuses on teaching individuals how to use SQL Server 2016 product features and tools related to developing a database

Audience Profile

Audience Profile

The primary audience for this course is IT Professionals who want to become skilled on SQL Server 2016 product features and technologies for implementing a database.

The secondary audiences for this course are individuals who are developers from other product platforms looking to become skilled in the implementation of a SQL Server 2016 database.

Prerequisites

Prerequisites

  • Basic knowledge of the Microsoft Windows operating system and its core functionality.
  • Working knowledge of Transact-SQL.
  • Working knowledge of relational databases.

At Course Completion

At Course Completion

After completing this course, students will be able to:

  • Design and Implement Tables.
  • Describe advanced table designs
  • Ensure Data Integrity through Constraints.
  • Describe indexes, including Optimized and Columnstore indexes
  • Design and Implement Views.
  • Design and Implement Stored Procedures.
  • Design and Implement User Defined Functions.
  • Respond to data manipulation using triggers.
  • Design and Implement In-Memory Tables.
  • Implement Managed Code in SQL Server.
  • Store and Query XML Data.
  • Work with Spatial Data.
  • Store and Query Blobs and Text Documents.

Course Outline

Course Outline

Module 1: Introduction to Database Development

Before beginning to work with Microsoft SQL Server in either a development or an administration role, it is important to understand the scope of the SQL Server platform. In particular, it is useful to understand that SQL Server is not just a database engine—it is a complete platform for managing enterprise data. SQL Server provides a strong data platform for all sizes of organizations, in addition to a comprehensive set of tools to make development easier, and more robust.

Lessons

  • Introduction to the SQL Server Platform
  • SQL Server Database Development Tasks

After completing this module, you will be able to:

  • Describe the SQL Server platform.
  • Use SQL Server administration tools.

Module 2: Designing and Implementing Tables

In a relational database management system (RDBMS), user and system data is stored in tables. Each table consists of a set of rows that describe entities and a set of columns that hold the attributes of an entity. For example, a Customer table might have columns such as CustomerName and CreditLimit, and a row for each customer. In Microsoft SQL Server data management software tables are contained within schemas that are very similar in concept to folders that contain files in the operating system. Designing tables is one of the most important tasks that a database developer undertakes, because incorrect table design leads to the inability to query the data efficiently. After an appropriate design has been created, it is important to know how to correctly implement the design.

Lessons

  • Designing Tables
  • Data Types
  • Working with Schemas
  • Creating and Altering Tables

Lab : Designing and Implementing Tables

  • Designing Tables
  • Creating Schemas
  • Creating Tables

After completing this module, you will be able to:

  • Design tables using normalization, primary and foreign keys.
  • Work with identity columns.
  • Understand built-in and user data types.
  • Use schemas in your database designs to organize data, and manage object security.
  • Work with computed columns and temporary tables.

Module 3: Advanced Table Designs

The physical design of a database can have a significant impact on the ability of the database to meet the storage and performance requirements set out by the stakeholders. Designing a physical database implementation includes planning the filegroups, how to use partitioning to manage large tables, and using compression to improve storage and performance. Temporal tables are a new feature in SQL Server 2016 and offer a straightforward solution to collecting changes to your data.

Lessons

  • Partitioning Data
  • Compressing Data
  • Temporal Tables

Lab : Using Advanced Table Designs

  • Partitioning Data
  • Compressing Data

After completing this module, you will be able to:

  • Describe the considerations for using partitioned tables in a SQL Server database.
  • Plan for using data compression in a SQL Server database.
  • Use temporal tables to store and query changes to your data.

Module 4: Ensuring Data Integrity through Constraints

The quality of data in your database largely determines the usefulness and effectiveness of applications that rely on it—the success or failure of an organization or a business venture could depend on it. Ensuring data integrity is a critical step in maintaining high-quality data. You should enforce data integrity at all levels of an application from first entry or collection through storage. Microsoft SQL Server data management software provides a range of features to simplify the job.

Lessons

  • Enforcing Data Integrity
  • Implementing Data Domain Integrity
  • Implementing Entity and Referential Integrity

Lab : Using Data Integrity Through Constraints

  • Add Constraints
  • Test the Constraints

After completing this module, you will be able to:

  • Describe the options for enforcing data integrity, and the levels at which they should be applied.
  • Implement domain integrity through options such as check, unique, and default constraints.
  • Implement referential integrity through primary and foreign key constraints.

Module 5: Introduction to Indexes

An index is a collection of pages associated with a table. Indexes are used to improve the performance of queries or enforce uniqueness. Before learning to implement indexes, it is helpful to understand how they work, how effective different data types are when used within indexes, and how indexes can be constructed from multiple columns. This module discusses table structures that do not have indexes, and the different index types available in Microsoft SQL Server.

Lessons

  • Core Indexing Concepts
  • Data Types and Indexes
  • Heaps, Clustered, and Nonclustered Indexes
  • Single Column and Composite Indexes

Lab : Implementing Indexes

  • Creating a Heap
  • Creating a Clustered Index
  • Creating a Covered Index

After completing this module, you will be able to:

  • Explain core indexing concepts.
  • Evaluate which index to use for different data types.
  • Describe the difference between single and composite column indexes.

Module 6: Designing Optimized Index Strategies

Indexes play an important role in enabling SQL Server to retrieve data from a database quickly and efficiently. This module discusses advanced index topics including covering indexes, the INCLUDE clause, query hints, padding and fill factor, statistics, using DMOs, the Database Tuning Advisor, and Query Store.

Lessons

  • Index Strategies
  • Managing Indexes
  • Execution Plans
  • The Database Engine Tuning Advisor
  • Query Store

Lab : Optimizing Indexes

  • Using Query Store
  • Heaps and Clustered Indexes
  • Creating a Covered Index

After completing this module, you will be able to:

  • What a covering index is, and when to use one.
  • The issues involved in managing indexes.
  • Actual and estimated execution plans.
  • How to use Database Tuning Advisor to improve the performance of queries.
  • How to use Query Store to improve query performance.

Module 7: Columnstore Indexes

Introduced in Microsoft SQL Server 2012, columnstore indexes are used in large data warehouse solutions