

Implementing a Microsoft SQL Server 2008 R2
Database
Course 6232B: Five days;
Instructor-Led
Introduction
This five-day instructor-led course is
intended for Microsoft SQL Server database developers who are responsible for
implementing a database on SQL Server 2008 R2. In this course, students learn
the skills and best practices on how to use SQL Server 2008 R2 product features
and tools related to implementing a database server.
Audience
This course is intended for IT
Professionals who want to become skilled on SQL Server 2008 R2 product features
and technologies for implementing a database. To be successful in this course,
the student should have knowledge of basic relational database concepts and
writing T-SQL queries.
At
Course Completion
After
completing this course, students will be able to:
- Understand the product, its
components, and basic configuration.
- Work with the data types supported
by SQL Server.
- Design and implement tables and
work with schemas.
- Design and implement views and
partitioned views.
- Describe the concept of an index
and determine the appropriate data type for indexes and composite index
structures.
- Identify the appropriate table
structures and implement clustered indexes and heaps.
- Describe and capture execution
plans.
- Design and implement non-clustered
indexes, covering indexes, and included columns.
- Design and implement stored
procedures.
- Implement table types, table
valued parameters, and the MERGE statement.
- Describe transactions, transaction
isolation levels, and application design patterns for highly-concurrent
applications.
- Design and implement T-SQL error
handling and structured exception handling.
- Design and implement scalar and
table-valued functions.
- Design and implement constraints.
- Design and implement triggers.
- Describe and implement target use
cases of SQL CLR integration.
- Describe and implement XML data
and schema in SQL Server.
- Use FOR XML and XPath queries.
- Describe and use spatial data
types in SQL Server.
- Implement and query full-text
indexes.
Prerequisites
Before
attending this course, students must have:
- Working knowledge of Transact-SQL
(ability to write Transact-SQL queries) or Course 2778A: Writing Queries
Using Microsoft SQL Server 2008 Transact-SQL
- Working knowledge of relational
databases (database design skills).
- Core Windows Server skills.
- Basic programming language.
Course
Outline
Module
1: Introduction to SQL Server and its Toolset
This
module introduces you to the entire SQL Server platform and its major tools.
This module also covers editions, versions, basics of network listeners, and
concepts of services and service accounts.
Lessons
- Introduction to SQL Server Platform
- Working with SQL Server Tools
- Configuring SQL Server Services
Lab
: Introduction to SQL Server and its Toolset
- Verifying SQL Server Component Installation
- Altering Service Accounts for New Instance
- Enabling Named Pipes Protocol for Both
Instances
- Creating Aliases for AdventureWorks
and Proseware
- Ensuring SQL Browser is Disabled and Configure
a Fixed TCP/IP Port
After
completing this module, students will be able to:
- Describe the SQL Server Platform.
- Work with SQL Server Tools.
- Configure SQL Server Services.
Module 2: Working with
Data Types
This
module describes the data types supported by SQL Server and how to work with
them.
Lessons
- Using Data Types
- Working with Character Data
- Converting Data Types
- Working with Specialized Data Types
Lab
: Working with Data Types
- Choosing Appropriate Data Types
- Writing Queries With Data Type Conversions
- Designing and Creating Alias Data Types
After
completing this module, students will be able to:
- Work with data types.
- Work with character data.
- Convert between data types.
- Use specialized data types.
Module 3: Designing and
Implementing Tables
This
module describes the design and implementation of tables.
Lessons
- 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
After
completing this module, students will be able to:
- Design tables.
- Work with schemas.
- Create and alter tables.
Module 4: Designing and
Implementing Views
This
module describes the design and implementation of views.
Lessons
- 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
After
completing this module, students will be able to:
- Explain the role of views in database
development.
- Implement views.
- Describe the performance related impacts of
views.
Module 5: Planning for SQL
Server 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.
Lessons
- Core Indexing Concepts
- Data Types and Indexes
- Single Column and Composite Indexes
Lab
: Planning for SQL Server Indexing
- Exploring Existing Index Statistics
- Designing Column Orders for Indexes
After
completing this module, students will be able to:
- Explain core indexing concepts.
- Describe the effectiveness of each data type
common used in indexes.
- Plan for single column and composite indexes.
Module 6: Implementing
Table Structures in SQL Server
This
module covers clustered indexes and heaps.
Lessons
- SQL Server Table Structures
- Working with Clustered Indexes
- Designing Effective Clustered Indexes
Lab
: Implementing Table Structures in SQL
Server
- Creating Tables as Heaps
- Creating Tables with Clustered Indexes
- Comparing the Performance of Clustered Indexes
vs. Heaps
After
completing this module, students will be able to:
- Explain how tables can be structured in SQL
Server databases.
- Work with clustered indexes.
- Design effective clustered indexes
Module 7: Reading SQL
Server Execution Plans
This
module introduces the concept of reading execution plans.
Lessons
- Execution Plan Core Concepts
- Common Execution Plan Elements
- Working with Execution Plans
Lab
: Reading SQL Server Execution Plans
- Actual vs. Estimated Plans
- Identify Common Plan Elements
- Query Cost Comparison
After
completing this module, students will be able to:
- Explain the core concepts related to the use of
execution plans.
- Describe the role of the most common execution
plan elements.
- Work with execution plans.
Module 8: Improving
Performance through Nonclustered Indexes
This
module explains nonclustered indexes, covering
indexes and included columns.
Lessons
- Designing Effective Nonclustered
Indexes
- Implementing Nonclustered
Indexes
- Using the Database Engine Tuning Advisor
Lab
: Improving Performance through Nonclustered Indexes
- Reviewing Nonclustered
Index Usage
- Improving Nonclustered
Index Designs
- Using SQL Server Profiler and Database Engine
Tuning Advisor
- Nonclustered Index Design
After
completing this module, students will be able to:
- Design effective nonclustered
indexes.
- Implement nonclustered
indexes.
- Use the Database Engine Tuning Advisor to
design indexes.
Module 9: Designing and
Implementing Stored Procedures
This
module describes the design and implementation of stored procedures.
Lessons
- 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
After
completing this module, students will be able to:
- Describe the role of stored procedures and the
potential benefits of using them.
- Work with stored procedures.
- Implement parameterized stored procedures.
- Control the execution context of a stored
procedure.
Module 10: Merging Data
and Passing Tables
This
module covers table types, table valued parameters and the MERGE statement as
used in stored procedures.
Lessons
- Using the MERGE Statement
- Implementing Table Types
- Using Table Types as Parameters
Lab
: Merging Data and Passing Tables
- Creating a Table Type
- Using a Table Type Parameter
- Using a Table Type with MERGE
After
completing this module, students will be able to:
- Use the MERGE statement.
- Implement table types.
- Use TABLE types as parameters.
Module 11: Creating Highly
Concurrent SQL Server Applications
This
module covers transactions, isolation levels, and designing for concurrency.
Lessons
- Introduction to Transactions
- Introduction to Locks
- Management of Locking
- Transaction Isolation Levels
Lab
: Creating Highly Concurrent SQL Server
Applications
- Detecting Deadlocks
- Investigating Transaction Isolation Levels
After
completing this module, students will be able to:
- Describe the role of transactions.
- Explain the role of locks.
- Manage locking.
- Work with transaction isolation levels.
Module 12: Handling Errors
in T-SQL Code
This
module describes structured exception handling and gives solid examples of its
use within the design of stored procedures.
Lessons
- Designing T-SQL Error Handling
- Implementing T-SQL Error Handling
- Implementing Structured Exception Handling
Lab
: Handling Errors in T-SQL Code
- Replacing @@ERROR Based Error Handling With
Structured Exception Handling
- Adding Deadlock Retry Logic to the Stored
Procedure
After
completing this module, students will be able to:
- Design T-SQL error handling.
- Implement T-SQL error handling.
- Implement structured exception handling.
Module 13: Designing and
Implementing User-Defined Functions
This
module describes the design and implementation of functions, both scalar and
table-valued.
Lessons
- 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
After
completing this module, students will be able to:
- Design and implement scalar functions.
- Design and implement table-valued functions.
- Describe implementation considerations for
functions.
- Describe alternatives to functions.
Module 14: Ensuring Data
Integrity through Constraints
This
module describes the design and implementation of constraints.
Lessons
- Enforcing Data Integrity
- Implementing Domain Integrity
- Implementing Entity and Referential Integrity
Lab
: Ensuring Data Integrity through
Constraints
- Designing Constraint
- Testing the Constraints
After
completing this module, students will be able to:
- Explain the available options for enforcing
data integrity and the levels at which they should be applied.
- Describe how domain integrity can be
maintained.
- Describe how entity and referential integrity
can be maintained.
Module 15: Responding to
Data Manipulation via Triggers
This
module describes the design and implementation of triggers.
Lessons
•Designing
DML Triggers
•Implementing
DML Triggers
•Advanced
Trigger Concepts
Lab
: Responding to Data Manipulation via
Triggers
- Creating the Audit Trigger
- Improving the Audit Trigger
After
completing this module, students will be able to:
- Design DML triggers.
- Implement DML triggers.
- Explain advanced DML trigger concepts.
Module 16: Implementing
Managed Code in SQL Server
This
module describes the implementation of and target use-cases for SQL CLR
integration.
Lessons
- 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
User-defined Type
After
completing this module, students will be able to:
- Explain the importance of SQL Server CLR
Integration.
- Import and configure assemblies.
- Implement objects that have been created within
.NET assemblies.
Module 17: Storing XML
Data in SQL Server
This
module covers the XML data type, schema collections, typed and untyped columns and appropriate use cases for XML in SQL
Server.
Lessons
- Introduction to XML and XML Schemas
- Storing XML Data and Schemas in SQL Server
- Implementing the XML Data Type
Lab
: Storing XML Data in SQL Server
- Appropriate Usage of XML Data Storage in SQL
Server
- Investigating the Storage of XML Data in
Variables
- Investigating the Use of XML Schema Collections
- Investigating the Creation of Database Columns
Based on XML
After
completing this module, students will be able to:
- Describe XML and XML schemas.
- Store XML data and associated XML schemas in
SQL Server.
- Implement the XML data type within SQL Server
Module 18: Querying XML
Data in SQL Server
This
module covers the basics of FOR XML and XPath
Queries.
Lessons
- Using the T-SQL FOR XML Statement
- Getting Started with XQuery
- Shredding XML
Lab
: Querying XML Data in SQL Server
- Learning to Query SQL Server Data as XML
- Writing a Stored Procedure Returning XML
- Writing a Stored Procedure that Updates Using
XML
After
completing this module, students will be able to:
- Use the T-SQL FOR XML statement.
- Work with basic XQuery queries.
- Shred XML to a relational form.
Module 19: Working with
SQL Server Spatial Data
This
module describes spatial data and how this data can be implemented within SQL
Server.
Lessons
- Introduction to Spatial Data
- Working with SQL Server Spatial Data Types
- Using Spatial Data in Applications
Lab
: Working with SQL Server Spatial Data
- Familiarity With Geometry Data Type
- Adding Spatial Data to an Existing Table
- Business Application of Spatial Data
After
completing this module, students will be able to:
- Describe the importance of spatial data and the
industry standards related to it.
- Explain how to store spatial data in SQL
Server.
- Perform calculations on and query SQL Server
spatial data.
Module 20: Working with
Full-Text Indexes and Queries
This
module covers full text indexes and queries.
Lessons
- Introduction to Full-Text Indexing
- Implementing Full-Text Indexes in SQL Server
- Working with Full-Text Queries
Lab
: Working with Full-Text Indexes and Queries
- Implementing a Full-Text Index
- Implementing a Stoplist
- Creating a Stored Procedure to Implement a
Full-Text Search
After
completing this module, students will be able to:
- Describe why user interfaces in existing
applications are not sufficient for end user search needs.
- Implement full-text indexes in SQL Server.
- Query SQL Server using full-text queries.
Solutient Corporation of Ohio
www.solutient.com
6133 Rockside Road, Suite 100 –
Cleveland, OH 44131
FOR MORE INFORMATION, CALL 216-654-0025