www.developersDen.com     info@developersDen.com     720.489.6042

 

Programming a Microsoft SQL Server 2000 Database

Course 2073: Five day; Instructor-Led

 

Introduction

 

Elements of this syllabus are subject to change.

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.

 

At Course Completion

 

After completing this course, students will be able to:

Describe the elements of SQL Server 2000.

Describe the conceptual basis of programming in Transact-SQL.

Create and manage databases and their related components.

Implement data integrity by using the IDENTITY column property, constraints, defaults, rules, and unique identifiers.

Plan for the use of indexes.

Create and maintain indexes.

Create, use, and maintain data views.

Design, create, and use stored procedures.

Implement user-defined functions.

Create and implement triggers.

Program across multiple servers by using distributed queries, distributed transactions, and partitioned views.

Optimize query performance.

Analyze queries.

Manage transactions and locks to ensure data concurrency and recoverability.

 

Prerequisites

 

Before attending this course, students must have:

Experience using the Microsoft Windows Server 2003 operating system to:

.Connect clients running Microsoft Windows-based operating systems to networks and the Internet

.Configure the Windows environment

.Create and manage user accounts

.Manage access to resources by using groups

.Configure and manage disks and partitions, including disk striping and mirroring

.Manage data by using NT file system (NTFS)

.Implement Windows server and client security

.Optimize performance in Windows operating systems

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

.Course 2274: Managing a Microsoft Windows Server 2003 Environment.

.Course 2275: Maintaining a Microsoft Windows Server 2003 Environment.

An understanding of basic relational database concepts, including:

.Logical and physical database design

.Data integrity concepts

.Relationships between tables and columns (primary key and foreign key, one-to-one, one-to-many, many-to-many)

.How data is stored in tables (rows and columns).

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:

.Course 2071A, Querying Microsoft SQL Server 2000 with Transact-SQL

Familiarity with the role of the database administrator

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.

 

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.