Course Information

Course CodeMS2073 (MOC2073) (M2073)
Fee£1295 (Exclusive of VAT)
Offer Price*£995 Saving £300! Offer Ends 21st February 2008
DurationFive Days
Delivery FormatInstructor-Led
October November December January February March
- - - - - 3*

Introduction

This five-day course provides students with the technical skills required to program a database by using Microsoft SQL Server 2000.

Audience

This course is designed for those who are responsible for implementing database objects and programming SQL Server databases by using Transact-SQL.

Completion

Prerequisites

Experience using the Microsoft Windows Server 2003 operating system to:

For students who do not meet these prerequisites, the following courses provide the necessary knowledge and skills:

An understanding of basic relational database concepts, including:

Knowledge of basic Transact-SQL syntax (SELECT, UPDATE, and INSERT statements)

For students who do not meet these prerequisites, the following course provides the necessary knowledge and skills:

Examinations

Materials

The student kit includes a comprehensive workbook and other necessary materials for this class.

Course Outline

Module 1: Overview of Programming SQL Server

This module provides students with an overview of enterprise-level application architecture and of Transact-SQL as a programming language. Transact-SQL is a data definition, manipulation, and control language. Students are assumed to be familiar with ANSI-SQL and basic programming concepts, such as functions, operators, variables, and control-of-flow statements. Students will also learn the different ways to execute Transact-SQL.

Lessons

Lab: Overview of Transact-SQL

After completing this module, students will be able to:

:

Module 2: Creating and Managing Databases

This module describes how to create a database, set database options, create filegroups, and manage a database and the transaction log. It reviews disk space allocation and how the transaction log records data modifications.

Lessons

Lab: Creating and Managing Databases

After completing this module, students will be able to:

Module 3: Creating Data Types and Tables

This module describes how to create data types and tables and generate Transact-SQL scripts containing statements that create a database and its objects.

Lessons

Lab: Creating Data Types and Tables

After completing this module, students will be able to:

:

Module 4: Implementing Data Integrity

This module shows how centrally-managed data integrity is a benefit of relational databases. Beginning with an introduction to data integrity concepts, including the methods available for enforcing data integrity, the module then introduces a section on constraints, the key method of ensuring data integrity. The module discusses the creation, implementation, and disabling of constraints and discusses how defaults and rules are an alternate way to enforce data integrity. The module concludes by comparing different data integrity methods.

Lessons

Lab: Implementing Data Integrity

After completing this module, students will be able to:

Module 5: Planning Indexes

This module provides students with an overview of planning indexes. It explains how database performance can be improved with indexes; how clustered and nonclustered indexes are stored in SQL Server and how SQL Server retrieves rows by using indexes; and explores how SQL Server maintains indexes. The module concludes with guidelines for deciding which columns to index.

Lessons

Lab: Determining the Indexes of a Table

After completing this module, students will be able to:

Module 6: Creating and Maintaining Indexes

This module provides students with an overview of using the CREATE INDEX options to create and maintain indexes. It describes how maintenance procedures physically change the indexes; discusses maintenance tools; describes the use of statistics in SQL Server; and describes ways to verify that indexes are used and whether they perform optimally. The module concludes with a discussion of when to use the Index Tuning Wizard.

Lessons

Lab: Creating and Maintaining Indexes

Lab: Viewing Index Statistics

After completing this module, students will be able to:

Module 7: Implementing Views

This module defines views and their advantages, showing how views provide the ability to store a predefined query as an object in the database for later use. Views also offer a convenient way to hide sensitive data and the complexities of a database design and to provide a set of information without requiring the user to write or execute Transact-SQL statements. The module describes creating views and provides examples of how to include computed columns and built-in functions in the view definitions. The module then covers restrictions on modifying data through views. The last section discusses how views can improve performance.

Lessons

Lab: Implementing Views

After completing this module, students will be able to:

Module 8: Implementing Stored Procedures

This module describes how to use stored procedures to improve application design and performance by encapsulating business rules. It discusses ways to process common queries and data modifications, and provides numerous examples and demonstrations of stored procedures.

Lessons

Lab: Creating Stored Procedures

Lab: Creating Stored Procedures Using Parameters

After completing this module, students will be able to:

Module 9: Implementing User-Defined Functions

This module discusses the implementation of user-defined functions. It explains the three types of user-defined functions and the general syntax for creating and altering them, and provides an example of each type.

Lessons

Lab: Creating User-Defined Functions

After completing this module, students will be able to:

Module 10: Implementing Triggers

This module shows that triggers are useful tools for database implementers who want certain actions to be performed whenever data is inserted, updated, or deleted from a specific table. Triggers are especially useful tools for cascading changes throughout other tables in the database while preserving complex referential integrity.

Lessons

Lab: Creating Triggers

After completing this module, students will be able to:

Module 11: Programming Across Multiple Servers

This module provides students with information on how to design security for a multi-server environment. It also explains the construction of distributed queries, distributed transactions, and partitioned views.

Lessons

Lab: Using Distributed Data

After completing this module, students will be able to:

Module 12: Optimizing Query Performance

This module provides students with an in-depth look at how the query optimizer works, how to obtain query plan information, and how to implement indexing strategies.

Lessons

Lab: Optimizing Query Performance

After completing this module, students will be able to:

Module 13: Performing Advance Query Analysis

This module describes how the query optimizer evaluates and processes queries that contain the AND operator, the OR operator, and join operations.

Lessons

Lab: Analyzing Queries That Use the AND and OR Operators

Lab: Analyzing Queries That Use Different Join Strategies

After completing this module, students will be able to:

Module 14: Managing Transactions and Locks

This module discusses how transactions and locks ensure transaction integrity to accommodate multiple users. The module continues with a discussion of how transactions are executed and rolled back. A short animation helps to convey how transaction processing works. The module next describes how SQL Server locks maintain data consistency and concurrency. The module then introduces resources that can be locked, the different types of locks, and lock compatibility. A discussion follows on SQL Server dynamic locking based on schema and query. The final section describes locking options, discusses deadlocks, and explains how to display information on active locks.

Lessons

Lab: Managing Transactions and Locks

After completing this module, students will be able to: