TSQL 2008 - MSS350

In this course, you will learn about the features that are available in SQL Server like how to design and create a database, and how to build basic queries using Transact-SQL, the language of SQL Server. Then you will learn how to build effective views, stored procedures, triggers, and user-defined functions using Transact-SQL. You will learn how to use the Transact-SQL programming language for error handling and hierarchical queries, dealing with complex data structures and processes, and how to make your databases more scalable through partitioning. SQL Server 2008 includes a rich set of tools that go beyond the basics of querying and manipulating data. You will learn how to take advantage of the user-friendly management console that integrates both authoring and administrative tasks. You will learn how to take advantage of SQL Server tools for analyzing and tuning your databases.

Course ID: MSS350
Duration: 4 days
Audience: None
Prerequisites: None
Topics:

A Tour of SQL Server 2008

  • SQL Server 2008 Editions, Components, and Tools
  • Editions
  • Server Components
  • Management Tools
  • Documentation and Samples
  • SQL Server 2008 Feature Pack
  • Using SQL Server Management Studio (SSMS)
  • Connecting Management Studio
  • The Object Explorer
  • Database Objects
  • Monitoring Server Activity
  • Connecting to Other Servers
  • Customizing the User Interface
  • Working with Tables and Queries
  • Creating Tables
  • Creating a View
  • Generating Scripts
  • Viewing Table Rows
  • Business Intelligence Services
  • SQL Server Integration Services (SSIS)
  • SQL Server Business Intelligence Development Studio (BIDS)
  • Reporting Services
  • Analysis Services (SSAS)

Designing and Creating a Database

  • Relational Database Design Principles
  • The Origins of Relational Design
  • Data Normalization
  • Understanding Referential Integrity
  • Beyond Normalization
  • Implementing the Design
  • Database Storage
  • Creating Databases
  • Modifying Database Options
  • Creating Tables
  • Creating Constraints
  • Triggers
  • Creating Indexes
  • Using Database Diagrams

Working with SQL Server Management Studio

  • Getting Started with Management Studio
  • Connecting to a Server from Management Studio
  • Configuring Management Studio Options
  • Management Studio Toolbars
  • Overview of Management Studio Menu Options
  • T-SQL 2008
  • Configuring Management Studio Windows
  • Exploring the Object Explorer
  • Right-Click Menu Options
  • Server and Database Objects
  • Displaying and Filtering Objects
  • Finding Objects
  • Editing Database Objects in the Management Studio Designers
  • Working with the Query Editor
  • Displaying Multiple Code Windows
  • Formatting and Editing Code
  • Scripting with Management Studio
  • Executing Queries
  • Creating Projects and Solutions
  • Working Offline
  • Using SQL Server Books Online
  • Getting Help in Management Studio

Transact-SQL Programming

  • Overview of Transact-SQL
  • Transact-SQL Extensions
  • Batches and Scripts
  • Variables
  • Delimiters and Operators
  • Transact-SQL and Data Types
  • Using Built-In Functions
  • Working with Nulls
  • Handling Numbers
  • Manipulating Strings
  • Working with Date and Time Values
  • Using the @@ Functions
  • Controlling Flow
  • IF ELSE
  • BEGIN END
  • GOTO, RETURN, and Labels
  • CASE
  • WHILE
  • WAITFOR
  • Ranking Results

Transactions and Error Handling

  • Transaction Concepts
  • Passing the ACID Test
  • Transaction Types
  • Avoiding Blocked Transactions
  • Working around Deadlocks
  • Applications and Transactions
  • Designing Transactional Support
  • Understanding Compile and Runtime Errors
  • Creating Explicit Transactions
  • Explicit Transaction Syntax
  • Transact-SQL Error Handling in Transactions
  • Using TRY/CATCH Error Handling
  • TRY/CATCH Overview
  • Using TRY/CATCH in Stored Procedure
  • Handling Uncommittable Transactions in XACT_STATE

Data Selection Queries

  • Understanding Transact-SQL
  • Schemas and Naming in SQL Server 2008
  • The SELECT Statement
  • Selecting All Columns
  • Concatenating Columns
  • Naming Columns
  • Using DISTINCT to Limit Values
  • The WHERE Clause
  • Transact-SQL Comparison Operators
  • The LIKE Operator
  • The BETWEEN Operator
  • Using IS NULL to Test for Nulls
  • Multiple Conditions with AND, OR, and NOT
  • Operator Precedence
  • Using the IN Operator
  • Using ORDER BY to Sort Data
  • Sorting on a Single Column
  • Sorting by Multiple Columns
  • Sorting with Expressions
  • The GROUP BY Clause
  • Aggregate Functions
  • Counting Rows
  • Counting Column Data
  • Counting with a WHERE Clause
  • Using GROUP BY
  • Using ORDER BY with GROUP BY
  • Using HAVING with GROUP BY
  • TOP Values Queries
  • Joining Tables
  • Cross Joins (Cartesian Products)
  • The Use of Keys in Joining
  • T-SQL 2008
  • Join Notation
  • Inner Joins
  • Outer Joins
  • Combining Inner and Outer Joins
  • Self Joins

Advanced Data Types

  • The HierarchyID Data Type
  • Indexing a Hierarchy
  • Manipulating Hierarchies
  • Working with the Instructor Hierarchy
  • Exploring and Manipulating a Hierarchy
  • Sparse Columns and Column Sets
  • Restrictions on Sparse Columns
  • Column Sets
  • Recommendations
  • Working with Sparse Columns
  • Working with Column Sets
  • Filtered Indexes
  • FILESTREAM Storage
  • FILESTREAM Data Type
  • FILESTREAM Data Access Methods
  • Gotchas and Limitations
  • Using FILESTREAM
  • Spatial Data
  • Geometry vs. Geography
  • Spatial Data Standards
  • Types of Spatial Data
  • Using Spatial Data
  • Working with Spatial Data
  • Interactions Between Objects

Complex Querying

  • Working with NULL Values
  • SqlTypes and CLR Types
  • About the ANSI_NULLS Option
  • NULLs and SqlBoolean
  • Assigning NULL Values
  • Ranking Grouped Data
  • The ROW_NUMBER Function
  • The RANK Function
  • The DENSE_RANK Function
  • The NTILE Function
  • Writing Correlated Subqueries
  • Subquery Basics
  • What is a Correlated Subquery?
  • Using the WHERE Clause
  • Including the HAVING Clause
  • Correlated Subqueries and Updates
  • Comparing to Joins and Temp Tables
  • Using Common Table Expressions
  • When to Use CTEs
  • CTE Syntax
  • Recursive CTEs

Modifying Data

  • Modifying Data with Rransact-SQL
  • Inserting Data
  • Inserting a Single Value
  • Inserting Multiple Values
  • Inserting Multiple Rows
  • Creating a New Table with SELECT INTO
  • Temporary Tables
  • Using Bulk Copy to Insert Data
  • Updating Data
  • Updating a Single Row
  • Updating Multiple Rows and Columns
  • Updating from Another Table
  • Updating with TOP
  • Updating Large Value Types with UPDATE.WRITE
  • Deleting Data
  • Deleting a Single Row
  • Deleting Multiple Rows
  • Understanding Transaction Isolation
  • Isolation Levels
  • Blocking and Deadlocks
  • Using Snapshot Isolation

Working with XML

  • The xml Data Type
  • Declaring XML Objects
  • Loading Data into an XML Instance
  • Indexing XML Columns
  • XML Schema Collections
  • Types and Untyped XML
  • Schema Basics
  • Greater Support in SQL Server 2008
  • Registering Schemas
  • Viewing Stored Schemas
  • Querying XML
  • XQuery
  • For XML
  • OPENXML
  • Best Practices
  • T-SQL 2008
  • Relational vs. XML Data Model
  • Storing XML in SQL Server 2008
  • Reasons to Index XML Columns
  • Querying

Creating Views

  • What Is a View?
  • Advantages of Views
  • Views and Security
  • Creating Views
  • View Rules
  • View Syntax and Options
  • Tools for Creating Views
  • Nesting Views, Derived Tables, and Common Table Expressions
  • Encrypting View Definitions
  • Updating Data Using a View
  • Updating Rules
  • Updating Behavior
  • Using Computed Columns
  • Creating a Computed Column
  • Indexed Views
  • How Indexed Views Work
  • Partitioned Views

Implementing SQL Server Partitions

  • Overview of Table-Based Partitioning
  • Why Partition?
  • SQL Server Partitioning
  • Range Partitions
  • Partition Key and Number of Partitions
  • Using Multiple Filegroups
  • Index Partitioning
  • Creating Partitioned Tables
  • Creating a Partition Function
  • Creating a Partition Scheme
  • Partitioning Tables and Indexes
  • Querying Partitions
  • Using the $PARTITION Function
  • Catalog Views
  • Managing Partitions
  • Modifying Partitioned Tables or Indexes
  • Modifying a Partition Function
  • Modifying a Partition Scheme
  • Backing Up Partitions
  • Performance Considerations
  • Creating User-Defined Functions
  • User-Defined Function Overview
  • Scalar Functions
  • Scalar Function Syntax
  • Inline Table-Valued Functions
  • Inline Syntax
  • Executing Inline Functions
  • Inline Functions with Parameters
  • Updating Data with Inline Functions
  • Multi-Statement Table-Valued Functions
  • Multi-Statement Function Syntax
  • Executing Multi-Statement Functions
  • Joining to Functions
  • Using Functions, Views, and Stored Procedures
  • Using Scalar Functions
  • Using Table-Valued Functions
  • Choosing Between Functions, Views, and Stored Procedures

Creating Stored Procedures and Triggers

  • Creating Stored Procedures
  • Stored Procedure Features
  • Stored Procedure Performance Benefits
  • Reasons to Use Stored Procedures
  • Stored Procedure Syntax
  • Creating Stored Procedures in Management Studio
  • Creating and Executing Stored Procedures
  • Working with Parameters
  • Testing and Debugging Stored Procedures
  • Creating Triggers
  • Uses for Triggers
  • The Trouble with Triggers
  • How Triggers Work
  • Creating an AFTER Trigger
  • Creating an INSTEAD OF Trigger on a View
  • Creating a DDL Trigger to Restrict Table Creation

Advanced Query Techniques

  • Full-Text Search
  • Configuring Full-Text Search
  • Writing Full-Text Queries
  • The CONTAINS Predicate
  • The FREETEXT Predicate
  • T-SQL 2008
  • Using CONTAINSTABLE and FREETEXTTABLE
  • Using Full-Text DDL
  • Advanced T-SQL Techniques
  • Using APPLY
  • Inserting and Updating Data with MERGE
  • Creating Recursive Queries
  • Grouping Data with Grouping Sets
  • Creating Pivot Queries
  • Executing Dynamic SQL
  • Overcoming PIVOT Limitations
  • Using Parameters with sp_executesql
  • Using QUOTENAME()
  • Using sp_executesql with Output Parameters
  • Signing Stored Procedures with Certificates

Advanced Techniques

  • Complex Data and Structures
  • Issues with Data Types
  • Working with Multinational Data
  • Working with Hierarchical Data
  • Writing More Efficient Queries
  • The EXISTs Clause
  • Joins vs. Subqueries
  • One-Pass Queries
  • Using Temporary Tables
  • Table Variables
  • User-Defined Table-Valued Functions
  • Common Table Expressions
  • Worktables
  • User-Defined Table-Typed Parameters
  • Working with Complex Queries
  • Using Implicit Transactions
  • Keeping it Simple
  • Maintaining Query Files
  • Using Source Control and Versioning
  • Using Visual SourceSafe
 

Call Toll-free 877-245-6815 or 303-416-3056 to set up your IT Training today.