| SQL Training  Overview
 
 
 
				
				In this course, you'll see an overview tour of SQL Server 2008 including its editions, components, and tools. Then you will learn about the steps to install, and/or upgrade to SQL Server 2008 and configuring the server. You will see how the principals of database design are used in creating of databases and then how to apply server tables to them. The course continues with SQL Server Management Studio and how to build effective views, stored procedures, triggers, and user-defined functions using Transact-SQL. Learn how to make your databases more scalable through partitioning and how to use .NET languages like Visual C# and Visual Basic to build database objects. 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's tools for analyzing and tuning your databases. You'll also learn about integration servers, implementing security, and Microsoft's new Business Intelligence (BI) suite.
 SQL Training  Audience:
 
 
 
				
				Database developers interested in gaining a more thorough knowledge of SQL Server 2008’s features.
		
 SQL Training  Prerequisites
 
 A solid understanding of relational databases and the concepts of SQL Server is recommended. No particular programming experience is required, but the course is taught from a developer's perspective.
 
 SQL Training  Course duration
 
 5 days
 
 SQL Training  Course outline
 
 A Tour of SQL Server 2005
				
					SQL Server 2005 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)
				
				Installing SQL Server 2005
				
					Preparing for Installation
					Hardware and Software Requirements
					Setting up the Service Accounts
					Multiple Instances
					Upgrading an Earlier Version
					Considerations
					Upgrade Advisor
					Installation Steps
					Beginning the Installation
					Customizing the Installation
					Performing the Installation
					Configuring the Server
					SQL Server Configuration Manager
					Server Configuration
				
				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
				
				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
					Join Notation
					Inner Joins
					Outer Joins
					Combining Inner and Outer Joins
					Self Joins
				
				Modifying Data
				
					Modifying Data with Transact-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 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
					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 SSMS
				
				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
				
				Understanding and Implementing Security
				
					Security Overview
					The Threats
					SQL Server 2008 Security Design Philosophy
					The Two Stages of Security
					Authentication
					Windows Integrated Authentication
					SQL Server Authentication
					Authorization
					Principals
					Securable Objects
					Permissions
					Permission Types
					Permission Statements
					Granting Permissions
					Roles, Permissions, and Schemas
					Execution Context
					Metadata Security
					Data Encryption
					Encryption Keys
					Encrypting Data
					Security Epilog
				
				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
				
				Creating Stored Procedures and Triggers
				
					Creating Stored Procedures
					Stored Procedure Features
					Stored Procedures 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
					How Triggers Work
					Creating an AFTER Trigger
					Creating an INSTEAD OF Trigger on a View
					Creating a DDL Trigger to Restrict Table Creation
				
				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
				
				Transaction 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 a Stored Procedure
					Handling Uncommittable Transactions with XACT_STATE
				
				Using .NET Code in SQL Server
				
					Ways to Use SQLCLR
					Enabling SQLCLR
					Writing SQLCLR Code
					Creating SQLCLR Code Manually
					Creating SQLCLR Code Using Visual Studio 2008
					SQL Data Types
					Accessing Local Data
					Returning Results
					SQLCLR Code Modules
					Triggers
					User-Defined Functions
					SQLCLR Security
					Code Access Security 
					SQLCLR Permission Sets
					T-SQL vs. .NET Code
				
				Advanced SQLCLR Code Techniques
				
					Advanced SQLCLR Code Modules
					Aggregates
					Large Aggregates
					Multiparameter Aggregates
					User-Defined Types
					Ordered Table-Valued Functions
					Managing Code Modules
					System Catalogs
					Troubleshooting SQLCLR Code
				
				Advanced Query Techniques
				
					Full-Text Search
					Configuring Full-Text Search
					Writing Full-Text Queries
					The CONTAINS Predicate
					The FREETEXT Predicate
					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 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 Spars 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
				
				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 of Indexes
					Modifying a Partition Function
					Modifying a Partition Scheme
					Backing up Partitions
					Performance Considerations
				
				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
				
				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
				
				Design and Deployment with Visual Studio
				
					Team System for Database Professionals
					Database Development
					Visual Studio Integration
					Security
					Creating Databases and Managing Projects
					Creating and Configuring a Database Project
					Generating Test Data
					Database and Project Management
					Creating Database Unit Tests
					Changing the Schema
					Comparing Database Schemas
					Comparing Database Data
					Creating Partial Database Projects
				
				Working with XML
				
					The xml Data Type
					Declaring XML Objects
					Loading Data into an XML Instance
					Indexing XML Columns
					XML Schema Collections
					Typed and Untyped XML
					Schema Basics
					Registering Schemas
					Viewing Stored Schemas
					Querying XML
					XQuery
					FOR XML
					OPEN XML
					Best Practices
					Relational vs. XML Data Model
					Storing XML in DQL Server 2008
					Reasons to Index XML Columns
					Querying
				
				Business Intelligence Services
				
					Introduction to Business Intelligence Services
					Using Integration Services
					What is SSIS?
					Importing and Exporting Data
					Integration Services Tools
					SQL Server Business Intelligence Development Studio (BIDS)
					BIDS Design Surfaces
					Execute Package Utility
					What Else is There?
					Using Analysis Services
					OLAP Terminology
					Cubes, Dimensions, and Measures
					Cube Storage
					The Unified Dimensional Model
					Creating a Unified Dimensional Model
					Creating a Data Source View
					Creating a Dimension
					Creating a Cube
					Browsing and Enhancing the Cube
					What Else is There?
					Using Reporting Services
					Configuring Reporting Services
					Building a Simple Report
					What Else is There?
 
 |