20762C
20762C
20762C
At Course Completion
After completing this course, students will be able to:
Prerequisites
• Basic knowledge of the Microsoft Windows operating system and its
Academy IT Pty Ltd core functionality.
Harmer House • Working knowledge of Transact-SQL.
Level 2, 5 Leigh Street
• Working knowledge of relational databases.
ADELAIDE 5000
Email: [email protected]
Web: www.academyit.com.au
Module 1: Introduction to Database After completing this module, you will be able to:
Development
Before beginning to work with Microsoft SQL • Design tables using normalization,
Server in either a development or an primary and foreign keys.
administration role, it is important to understand • Work with identity columns.
the scope of the SQL Server platform. In • Understand built-in and user data types.
particular, it is useful to understand that SQL • Use schemas in your database designs to
Server is not just a database engine—it is a organize data, and manage object
complete platform for managing enterprise data. security.
SQL Server provides a strong data platform for all • Work with computed columns and
sizes of organizations, in addition to a temporary tables.
comprehensive set of tools to make development
easier, and more robust. Module 3: Advanced Table Designs
The physical design of a database can have a
Lessons significant impact on the ability of the database
• Introduction to the SQL Server Platform to meet the storage and performance
• SQL Server Database Development Tasks requirements set out by the stakeholders.
Designing a physical database implementation
After completing this module, you will be able to: includes planning the filegroups, how to use
partitioning to manage large tables, and using
• Describe the SQL Server platform. compression to improve storage and
• Use SQL Server administration tools. performance. Temporal tables are a new feature
in SQL Server and offer a straightforward solution
Module 2: Designing and Implementing Tables to collecting changes to your data.
In a relational database management system
(RDBMS), user and system data is stored in Lessons
tables. Each table consists of a set of rows that • Partitioning Data
describe entities and a set of columns that hold • Compressing Data
the attributes of an entity. For example, a • Temporal Tables
Customer table might have columns such as
CustomerName and CreditLimit, and a row for Lab : Using Advanced Table Designs
each customer. In Microsoft SQL Server data • Partitioning Data
management software tables are contained • Compressing Data
within schemas that are very similar in concept to
folders that contain files in the operating system. After completing this module, you will be able to:
Designing tables is one of the most important
tasks that a database developer undertakes, • Describe the considerations for using
because incorrect table design leads to the partitioned tables in a SQL Server
inability to query the data efficiently. After an database.
appropriate design has been created, it is • Plan for using data compression in a SQL
important to know how to correctly implement Server database.
the design. • Use temporal tables to store and query
changes to your data.
Lessons
• Designing Tables Module 4: Ensuring Data Integrity through
• Data Types Constraints
• Working with Schemas The quality of data in your database largely
• Creating and Altering Tables determines the usefulness and effectiveness of
applications that rely on it—the success or failure
Lab : Designing and Implementing Tables of an organization or a business venture could
• Designing Tables depend on it. Ensuring data integrity is a critical
• Creating Schemas step in maintaining high-quality data. You should
• Creating Tables enforce data integrity at all levels of an
application from first entry or collection through
Table of Contents
storage. Microsoft SQL Server data management After completing this module, you will be able to:
software provides a range of features to simplify
the job. • Explain core indexing concepts.
• Evaluate which index to use for different
Lessons data types.
• Enforcing Data Integrity • Describe the difference between single
• Implementing Data Domain Integrity and composite column indexes.
• Implementing Entity and Referential
Integrity Module 6: Designing Optimized Index Strategies
Indexes play an important role in enabling SQL
Lab : Using Data Integrity Through Constraints Server to retrieve data from a database quickly
• Add Constraints and efficiently. This module discusses advanced
• Test the Constraints index topics including covering indexes, the
INCLUDE clause, query hints, padding and fill
After completing this module, you will be able to: factor, statistics, using DMOs, the Database
Tuning Advisor, and Query Store.
• Describe the options for enforcing data
integrity, and the levels at which they Lessons
should be applied. • Index Strategies
• Implement domain integrity through • Managing Indexes
options such as check, unique, and • Execution Plans
default constraints. • The Database Engine Tuning Advisor
• Implement referential integrity through • Query Store
primary and foreign key constraints.
Lab : Optimizing Indexes
Module 5: Introduction to Indexes • Using Query Store
An index is a collection of pages associated with a • Heaps and Clustered Indexes
table. Indexes are used to improve the • Creating a Covered Index
performance of queries or enforce uniqueness.
Before learning to implement indexes, it is helpful After completing this module, you will be able to:
to understand how they work, how effective
different data types are when used within • What a covering index is, and when to
indexes, and how indexes can be constructed • The issues involved in managing indexes.
from multiple columns. This module discusses • Actual and estimated execution plans.
table structures that do not have indexes, and • How to use Database Tuning Advisor to
the different index types available in Microsoft improve the performance of queries.
SQL Server. • How to use Query Store to improve query
performance.
Lessons
• Core Indexing Concepts Module 7: Columnstore Indexes
• Data Types and Indexes Introduced in Microsoft SQL Server 2012,
• Heaps, Clustered, and Nonclustered columnstore indexes are used in large data
Indexes warehouse solutions by many organizations. This
• Single Column and Composite Indexes module highlights the benefits of using these
indexes on large datasets; the improvements
Lab : Implementing Indexes made to columnstore indexes in SQL Server 2016;
• Creating a Heap and the considerations needed to use
• Creating a Clustered Index columnstore indexes effectively in your solutions.
• Creating a Covered Index
Lessons
• Introduction to Columnstore Indexes
• Creating Columnstore Indexes
• Working with Columnstore Indexes
Table of Contents
Module 14: Storing and Querying XML Data in Module 15: Storing and Querying Spatial Data in
SQL Server SQL Server
XML provides rules for encoding documents in a This module describes spatial data and how this
machine-readable form. It has become a widely data can be implemented within SQL Server.
adopted standard for representing data
structures, rather than sending unstructured Lessons
documents. Servers that are running Microsoft • Introduction to Spatial Data
SQL Server data management software often • Working with SQL Server Spatial Data
need to use XML to interchange data with other Types
systems; many SQL Server tools provide an XML- • Using Spatial Data in Applications
based interface. SQL Server offers extensive
handling of XML, both for storage and querying. Lab : Working with SQL Server Spatial Data
This module introduces XML, shows how to store • Become Familiar with the Geometry Data
XML data within SQL Server, and shows how to Type
query the XML data. The ability to query XML • Add Spatial Data to an Existing Table
data directly avoids the need to extract data into • Find Nearby Locations
a relational format before executing Structured
Query Language (SQL) queries. To effectively After completing this module, you will be able to:
process XML, you need to be able to query XML
• Describe how spatial data can be stored
data in several ways: returning existing relational
in SQL Server
data as XML, and querying data that is already
XML. • Use basic methods of the GEOMETRY and
GEOGRAPHY data types
Lessons • Query databases containing spatial data
• Introduction to XML and XML Schemas
Module 16: Storing and Querying BLOBs and
• Storing XML Data and Schemas in SQL
Text Documents in SQL Server
Server
Traditionally, databases have been used to store
• Implementing the XML Data Type
information in the form of simple values—such as
• Using the Transact-SQL FOR XML
integers, dates, and strings—that contrast with
Statement
more complex data formats, such as documents,
• Getting Started with XQuery
spreadsheets, image files, and video files. As the
• Shredding XML systems that databases support have become
more complex, administrators have found it
Lab : Storing and Querying XML Data in SQL
necessary to integrate this more complex file
Server
data with the structured data in database tables.
• Determining when to use XML
For example, in a product database, it can be
• Testing XML Data Storage in Variables
helpful to associate a product record with the
• Using XML Schemas service manual or instructional videos for that
• Using FOR XML Queries product. SQL Server provides several ways to
• Creating a Stored Procedure to Return integrate these files—that are often known as
XML Binary Large Objects (BLOBs)—and enable their
content to be indexed and included in search
After completing this module, you will be able to:
results. In this module, you will learn how to
• Describe XML and XML schemas. design and optimize a database that includes
• Store XML data and associated XML BLOBs.
schemas in SQL Server
Lessons
• Implement XML indexes within SQL
Server. • Considerations for BLOB Data
• Use the Transact-SQL FOR XML • Working with FILESTREAM
statement. • Using Full-Text Search
• Work with basic XQuery queries.
Table of Contents
Lab : Storing and Querying BLOBs and Text first two lessons look at SQL Server Extended
Documents in SQL Server Events, a flexible, lightweight event-handling
• Enabling and Using FILESTREAM Columns system built into the Microsoft SQL Server
• Enabling and Using File Tables Database Engine. These lessons focus on the
• Using a Full-Text Index architectural concepts, troubleshooting strategies
and usage scenarios.
After completing this module, you will be able to:
Lessons
• Describe the considerations for designing • Extended Events
databases that incorporate BLOB data. • Working with extended Events
• Describe the benefits and design • Live Query Statistics
considerations for using FILESTREAM to • Optimize Database File Configuration
store BLOB data on a Windows file • Metrics
system.
• Describe the benefits of using full-text Lab : Monitoring, Tracing, and Baselining
indexing and Semantic Search, and • Collecting and Analyzing Data Using
explain how to use these features to Extended Events
search SQL Server data, including • Implementing Baseline Methodology
unstructured data
After completing this module, you will be able to:
Module 17: SQL Server Concurrency
This module explains how to name, declare, • Understand Extended Events and how to
assign values to, and use variables. It also use them.
describes how to store data in an array. • Work with Extended Events.
Concurrency control is a critical feature of • Understand Live Query Statistics.
multiuser database systems; it allows data to • Optimize the file configuration of your
remain consistent when many users are databases.
modifying data at the same time. This module • Use DMVs and Performance Monitor to
covers the implementation of concurrency in create baselines and gather performance
Microsoft SQL Server. You will learn about how metrics.
SQL Server implements concurrency controls, and
the different ways you can configure and work
with concurrency settings.
Lessons
• Concurrency and Transactions
• Locking Internals