Webucator completely demystified the otherwise ambiguous nature of JavaScript and presented it in sc... More Testimonials »

Agile Database Techniques using Visual Studio Team System 2008

Delivery Options

Class Description

Class Overview

This Visual Studio Team System training class provides students with the knowledge and skills to properly manage the SQL Server database development lifecycle in an agile environment. The student will learn how to manage changes to the database structure, ensuring quality through T-SQL unit testing, and how to automate the building and deploying of SQL Server databases. Intended for developers and administrators already comfortable with the concepts of designing, programming, testing, and deploying SQL Server databases, this course focuses on using Visual Studio Team System 2008 Database Edition to maximize productivity while minimizing mistakes.

This VSTS course is intended for SQL Server database developers and administrators. Application developers who are involved with writing and testing T-SQL code and working with test data, will also gain value from this course.

Class Goals

  • Understand the capabilities of the VSTS Database Edition
  • Understand the areas of integration with Team Foundation Server
  • Understand how VSTS supports an agile database development life cycle
  • Work offline so changes don't impact actual servers
  • Create and configure database projects
  • Import existing schemas and scripts
  • Place database projects under Team Foundation Version Control
  • Compare schemas from two SQL Server instances for differences
  • Compare data from two SQL Server instances for differences
  • Generate scripts to reconcile differences in schemas and data
  • Understand and create effective T-SQL unit tests
  • Understand and use database refactoring correctly
  • Automatically generate test data in various scenarios
  • Integrate test data generation with T-SQL unit testing
  • Automate the building and deploying of database changes
  • Use MSBuild and Team Build to manage build and deployment
  • Extend VSTS by building your own test data generators
  • Extend VSTS by building your own unit test assertions

Class Outline

  1. Agile Database Development
    1. Agile database development
    2. Agile database techniques
    3. Visual Studio 2008 Team System Database Edition
    4. Sample scenario
    5. Resources
    6. Lab: Meet the virtual team
    7. Lab: Review the environment
    8. Lab: Deploy the AdventureWorks database
  2. Database Projects
    1. Architecture of a database project
    2. Creating and managing database projects
    3. Visual Studio integration
    4. Importing database schema
    5. Importing SQL scripts
    6. Parsing and Warnings
    7. Lab: Explore Visual Studio integration
    8. Lab: Create a new database project
    9. Lab: Modify the database project
    10. Lab: Import a database schema
    11. Lab: Import a SQL script
    12. Lab: Explore the design-time validation database (optional)
  3. Change Management
    1. Introduction to Team Foundation Server
    2. Working with team projects
    3. Methodologies and work items
    4. Using Team Foundation Version Control
    5. Placing database projects under version control
    6. Comparing two database schemas for differences
    7. Comparing data from two databases for differences
    8. Generating change scripts to merge differences
    9. Lab: Create a team project and work items
    10. Lab: Configure version control
    11. Lab: Place a database project under version control
    12. Lab: Explore Visual Studio 2008 version control integration
    13. Lab: Use version control features
    14. Lab: Compare schemas from two SQL Server instances for differences
    15. Lab: Compare data from two SQL Server tables for differences
    16. Lab: Generate scripts to reconcile differences in schemas and data
    17. Lab: Explore the MSSCCI provider from SQL Server Management Studio (optional)
  4. Unit Testing
    1. Unit testing
    2. Creating database unit tests
    3. SQL assertions and test conditions
    4. Executing unit tests and managing test results
    5. Lab: Create and execute database unit tests
    6. Lab: Use pre-test and post-test actions
    7. Lab: Use an ordered list to run tests
    8. Lab: Export and import test results
    9. Lab: Create unit tests automatically from the Schema View window
  5. Refactoring
    1. Introduction to refactoring
    2. Refactoring support in Visual Studio 2008
    3. Code refactoring
    4. Database refactoring
    5. Rename refactoring
    6. Regression testing
    7. Resources
    8. Lab: Rename schema objects using various methods
    9. Lab: Use the rename refactor method
    10. Lab: Preview changes
    11. Lab: Undo refactoring using global undo
    12. Lab: Review the refactoring log
  6. Data Generation
    1. Issues with test data and potential solutions
    2. Data generation plans
    3. Data generators
    4. Regular expression generator
    5. Data bound generator
    6. Creating and running a data generation plan
    7. Integrating with unit testing
    8. Lab: Review the existing schema and database unit tests
    9. Lab: Create a data generation plan
    10. Lab: Use a regular express generator
    11. Lab: Use a data bound generator
    12. Lab: Configure generation for related table and set ratios
    13. Lab: Generate data automatically prior to running unit tests
  7. Build and Deploy
    1. The need for automated build and deployment
    2. Building
    3. Deploying
    4. Integration with MSBuild
    5. Integration with Team Build
    6. Lab: Build the database project
    7. Lab: Deploy database schema changes
    8. Lab: Use custom deployment scripts
    9. Lab: Use MSBuild directly
    10. Lab: Automate using Team Foundation Build
  8. Extensibility
    1. Customization vs. extensibility
    2. Areas of extensibility
    3. Visual Studio templates
    4. Custom test conditions
    5. Custom data generators
    6. Custom check-in policies
    7. Lab: Edit database object templates
    8. Lab: Create a custom data generator
    9. Lab: Create a custom unit test assertion
    10. Lab: Create a custom check-in policy (optional)
    11. Lab: Debug a custom check-in policy (optional)

Class Materials

All students receive a course manual or book and all the class examples.

Students in private onsite classes will also receive:

Class Prerequisites

Experience in the following areas is required:

  • SQL Server development and administration

Experience in the following areas would be beneficial:

  • Team-based software development project work
  • Familiar with your organization's Software Development Life Cycle

Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away.

Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer
  2. Career Opportunities
Training Classes
Locations
Live eLearning

Like a class you would go to, but you don't have to go anywhere. More...

Customized Onsite Training

The trainer comes to you and delivers a class customized for your team. More...

Self-Paced eLearning

Our least expensive option. You proceed through the course entirely at your own pace. More...

Reference Library
Partner Programs
© Webucator, Inc. All rights reserved. | Toll Free: 877-932-8228 | UK: 0808-101-3484 | From outside the USA: 315-849-2724| Fax: 315-849-2723