|
Programming
a Microsoft SQL Server 2000 Database |
Course
No.
Course Length: |
2073
5 days |
|
This course provides students
with the technical skills required to program a database solution by using
Microsoft® SQL ServerTM 2000.
At
Course Completion
At the end of the course, students will be
able to describe the elements of SQL Server 2000; design a SQL Server
enterprise application architecture; 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; implement user-defined functions; design, create, and use
stored procedures; create and implement triggers; program across multiple
servers by using distributed queries, distributed transactions, and
partitioned views; optimize query performance; analyze queries; and manage
transactions and locks to ensure data concurrency and recoverability.
Prerequisites
Before attending this course,
students must have:
Experience using the
Microsoft Windows® 2000 operating system to:
-
Connect clients running
Windows 2000 to networks and the Internet.
-
Configure the Windows 2000
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 the
NTFS file system.
-
Implement Windows 2000
security.
-
Optimize performance in
Windows 2000.
For students who do not meet
this prerequisite, the following courses provide students with the
necessary knowledge and skills:
The course materials,
lectures, and lab exercises are in English. To benefit fully from the
instruction, students need an understanding of the English language and
completion of the prerequisites.
|
|
Day 1
|
Module 1: SQL Server
Overview
|
The following topics are covered in this
module:
- What Is SQL Server?
- SQL Server Integration
- SQL Server Databases
- SQL Server Security
- Working with SQL Server
The following lab is covered in this module:
At the end of this module, you will be able
to:
- Describe SQL Server 2000 and its
supported operating system platforms.
- Describe SQL Server integration with
Microsoft Windows 2000 and other server applications.
- Describe SQL Server databases.
- Describe SQL Server security.
- Describe SQL Server administration and
implementation activities, as well as SQL Server application design
options.
|
|
Module 2: Overview of
Programming SQL Server
|
The following topics are covered in this
module:
- Designing Enterprise Application
Architecture
- SQL Server Programming Tools
- The Transact-SQL Programming Language
- Elements of Transact-SQL
- Additional Language Elements
- Ways to Execute Transact-SQL Statement
The following lab is covered in this module:
At the end of this module, you will be able
to:
- Describe the concepts of
enterprise-level application architecture.
- Describe the primary SQL Server
programming tools.
- Explain the difference between the two
primary programming tools in SQL Server.
- Describe the basic elements of
Transact-SQL.
- Describe the use of local variables,
operators, functions, control of flow statements, and comments.
- Describe the various ways to execute
Transact-SQL statements
|
|
Module 3: Creating and
Managing Databases
|
The following topics are covered in this
module:
- Creating Databases
- Creating Filegroups
- Managing Databases
- Introduction to Data Structures
The following lab is covered in this module:
- Creating and Managing Databases
At the end of this module, you will be able
to:
- Create a database.
- Create a filegroup.
- Manage a database.
- Describe data structures.
|
|
Day 2
|
|
Module 4: Creating Data
Types and Tables
|
The following topics are covered in this
module:
- Creating Data Types
- Creating Tables
- Generating Column Values
- Generating Scripts
The following lab is covered in this module:
- Creating Data Types and Tables
At the end of this module, you will be able
to:
- Create and drop user-defined data types.
- Create and drop user tables.
- Generate column values.
- Generate a script.
|
Module 5: Implementing Data
Integrity
|
|
The following topics are covered in this
module:
- Types of Data Integrity
- Enforcing Data Integrity
- Defining Constraints
- Types of Constraints
- Disabling Constraints
- Using Defaults and Rules
- Deciding Which Enforcement Method to Use
The following lab is covered in this module:
- Implementing Data Integrity
At the end of this module, you will be able to:
- Describe the types of data integrity.
- Describe the methods to enforce data
integrity.
- Determine which constraint to use and
create constraints.
- Define and use DEFAULT, CHECK, PRIMARY
KEY, UNIQUE, and FOREIGN KEY constraints.
|
Module 6: Planning Indexes
|
The following topics are covered in this
module:
- Introduction to Indexes
- Index Architecture
- How SQL Server Retrieves Stored Data
- How SQL Server Maintains Index and Heap
Structures
- Deciding Which Columns to Index
The following lab is covered in this module:
- Determining the Indexes of a Table
At the end of this module, you will be able
to:
- Describe why and when to use an index.
- Describe how SQL Server uses clustered
and nonclustered indexes.
- Describe how SQL Server index
architecture facilitates the retrieval of data.
- Describe how SQL Server maintains
indexes and heaps.
- Describe the importance of selectivity,
density, and distribution of data when deciding which columns to
index.
|
|
Day 3
|
|
Module 7: Creating and
Maintaining Indexes
|
The following topics are covered in this
module:
- Creating Indexes
- Creating Index Options
- Maintaining Indexes
- Introduction to Statistics
- Querying the sysindexes Table
- Setting Up Indexes Using the Index
Tuning Wizard
- Performance Considerations
The following labs are covered in this module:
- Creating and Maintaining Indexes
- Viewing Index Statistics
At the end of this module, you will be able
to:
- Create indexes and indexed views with
unique or composite characteristics.
- Use the CREATE INDEX options.
- Describe how to maintain indexes over
time.
- Describe how the query optimizer
creates, stores, maintains, and uses statistics to optimize queries.
- Query the sysindexes table.
- Describe how the Index Tuning Wizard
works and when to use it.
- Describe performance considerations that
affect creating and maintaining indexes.
|
Module 8: Implementing
Views
|
The following topics are covered in this
module:
- Introduction to Views
- Advantages of Views
- Defining Views
- Modifying Data Through Views
- Optimizing Performance by Using Views
- Performance Considerations
The following lab is covered in this module:
At the end of this module, you will be able
to:
- Describe the concept of a view.
- List the advantages of views.
- Define a view with the CREATE VIEW
statement.
- Modify data through views.
- Optimize performance by using views.
|
|
Module 9: Implementing
Stored Procedures
|
The following topics are covered in this
module:
- Introduction to Stored Procedures
- Creating, Executing, Modifying, and
Dropping Stored Procedures
- Using Parameters in Stored Procedures
- Executing Extended Stored Procedures
- Handling Error Messages
- Performance Considerations
The following labs are covered in this module:
- Creating Stored Procedures
- Creating Stored Procedures Using
Parameters
At the end of this module, you will be able
to:
- Describe how a stored procedure is
processed.
- Create, execute, modify, and drop a
stored procedure.
- Create stored procedures that accept
parameters.
- Execute extended stored procedures.
- Create custom error messages.
|
|
Day 4
|
|
Module 10: Implementing
User-defined Functions
|
The following topics are covered in this
module:
- What Is a User-defined Function?
- Defining User-defined Functions
- Examples of User-defined Functions
The following lab is covered in this module:
- Creating User-defined Functions
At the end of this module, you will be able
to:
- Describe the three types of user-defined
functions.
- Create and alter user-defined functions.
- Create each of the three types of
user-defined functions.
|
|
Module 11: Implementing
Triggers
|
The following topics are covered in this
module:
- Introduction to Triggers
- Defining Triggers
- How Triggers Work
- Examples of Triggers
- Performance Considerations
The following lab is covered in this module:
At the end of this module, you will be able
to:
- Create a trigger.
- Drop a trigger.
- Alter a trigger.
- Describe how various triggers work.
- Evaluate the performance considerations
that affect using triggers
|
|
Module 12: Programming
Across Multiple Servers
|
The following topics are covered in this
module:
- Introduction to Distributed Queries
- Executing an Ad Hoc Query on a Remote
Data Source
- Setting Up a Linked Server Environment
- Executing a Query on a Linked Server
- Managing Distributed Transactions
- Modifying Data on a Linked Server
- Using Partitioned Views
The following lab is covered in this module:
At the end of this module, you will be able
to:
- Describe distributed queries.
- Write ad hoc queries that access data
that is stored in a remote SQL Server 2000 or in an OLE DB data
source.
- Set up a linked server environment to
access data that is stored in a remote SQL Server 2000 or in an OLE DB
data source.
- Write queries that access data from a
linked server.
- Execute stored procedures on a remote
server or linked server.
|
|
Day 5
|
|
Module 13: Optimizing
Query Performance
|
The following topics are covered in this
module:
- Introduction to the Query Optimizer
- Obtaining Execution Plan Information
- Using an Index to Cover a Query
- Indexing Strategies
- Overriding the Query Optimizer
The following lab is covered in this module:
- Optimizing Query Performance
At the end of this module, you will be able
to:
- Explain the role of the query optimizer
and how it works to ensure that queries are optimized.
- Use various methods for obtaining
execution plan information so that they can determine how the query
optimizer processed a query and validate that the most efficient query
plan was generated.
- Create indexes that cover queries
- Identify indexing strategies that reduce
page reads.
- Evaluate when to override the query
optimizer.
|
|
Module 14: Analyzing
Queries
|
The following topics are covered in this
module:
- Queries That Use the AND Operator
- Queries That Use the OR Operator
- Queries That Use Join Operations
The following labs are covered in this module:
- Analyzing Queries That Use the AND and
OR Operators
- Analyzing Queries That Use Different
Join Strategies
At the end of this module, you will be able
to:
- Analyze the performance gain of writing
efficient queries and creating useful indexes for queries that contain
the AND logical operator.
- Analyze the performance gain of writing
efficient queries and creating useful indexes for queries that contain
the OR logical operator.
- Evaluate how the query optimizer uses
different join strategies for query optimization.
|
Module 15: Managing
Transactions and Locks
|
The following topics are covered in this
module:
- Introduction to Transactions and Locks
- Managing Transactions
- SQL Server Locking
- Managing Locks
The following lab is covered in this module:
- Managing Transactions and Locks
At the end of this module, you will be able
to:
- Describe transaction processing.
- Execute, cancel, or roll back a
transaction.
- Identify locking concurrency issues.
- Identify resource items that can be
locked and the types of locks.
- Describe lock compatibility.
- Describe how SQL Server 2000 uses
dynamic locking.
- Set locking options and display locking
information.
|