The online classroom had so many ways to get help and ask questions. It was like being in a live classroom. The... More Testimonials »

Agile Database Development Using Visual Studio 2010

Delivery Options

Class Description

Class Overview

This three-day, instructor-led course provides students with the knowledge and skills to properly manage the SQL Server 2005/2008 database development lifecycle in an Agile environment. The student will learn how to manage changes to the database schema, 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 2010 Premium/Ultimate edition to maximize productivity while minimizing mistakes.

Class Goals

  • Understand the database development capabilities of Visual Studio 2010
  • Understand the areas of integration with Team Foundation Server
  • Understand how the tools support an Agile database development lifecycle
  • Create and configure database projects and server projects
  • Compare schemas and data for differences from two SQL Server instances
  • Generate scripts to reconcile differences in schemas and data
  • Understand and create effective T-SQL unit tests
  • Understand and use database refactoring correctly
  • Use MSBuild and Team Build to manage build and deployment
  • Extend Visual Studio by creating your own database refactoring method, test data generator, unit test condition, and static code analysis rule

Class Outline

  1. Agile Database Development
    1. Agile database development
    2. Agile database techniques
    3. Visual Studio 2010 Premium Edition
    4. Case study
    5. Resources
    6. Lab Exercises
      1. Meet the AdventureWorks team
      2. Review the environment
      3. Deploy the database
  2. Database Projects
    1. Architecture of a database project
    2. Creating and managing database projects
    3. Visual Studio 2010 integration
    4. Importing database schema
    5. Importing SQL scripts
    6. Permissions
    7. Lab Exercises
      1. Explore Visual Studio integration
      2. Create a new database project
      3. Modify the database project
      4. Import a database schema
      5. Import a SQL script
  3. Change Management
    1. Introduction to Team Foundation Server
    2. Working with Team Projects
    3. Process templates and work items
    4. Using Team Foundation Version Control
    5. Placing database projects under version control
    6. Detecting and reconciling database schema differences
    7. Detecting and reconciling table data differences
    8. Lab Exercises
      1. Create a Team Project and work items
      2. Configure Team Foundation Version Control
      3. Place a database project under version control
      4. Explore and Visual Studio 2010 version control features
      5. Compare schemas for differences from two SQL Server instances
      6. Compare data for differences from two SQL Server tables
      7. Generate scripts to reconcile differences in schemas and data
      8. Explore the MSSCCI provider from SQL Server Management Studio (optional)
  4. Unit Testing
    1. Reasons to unit test your database code
    2. How to create database unit tests manually
    3. How to create database unit tests automatically
    4. Assertions vs. conditions
    5. Executing unit tests
    6. Managing and publishing test results
    7. Static code analysis
    8. Lab Exercises
      1. Create and execute database unit tests
      2. Use pre-test and post-test actions
      3. Use an ordered list to run tests
      4. Export and import test results
      5. Create unit tests automatically from the Schema View window
      6. Run static code analysis
  5. Refactoring
    1. Introduction to refactoring
    2. Refactoring support in Visual Studio 2010
    3. Database refactoring methods
    4. Rename refactoring methods
    5. Move refactoring method
    6. Fully-qualify refactoring method
    7. Expand-wildcard refactoring method
    8. Resources
    9. Lab Exercises
      1. Approaches to renaming database objects
      2. Use the rename refactor method
      3. Preview changes
      4. Undo refactoring using global undo
      5. Review the refactoring log
  6. Data Generation
    1. Issues with test data and some 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. Automatically generating data prior to running unit tests
    8. Lab Exercises
      1. Create a data generation plan
      2. Use the Regular Expression data generator
      3. Use the Data Bound generator
      4. Configure generation for related table and set ratios
      5. Generate data automatically prior to running unit tests
  7. Build and Deploy
    1. The need for automated build and deployment
    2. Building database projects
    3. Deploying schema changes
    4. The VSDBCMD.exe command line utility
    5. Integration with MSBuild
    6. Integration with Team Foundation Build
    7. Lab Exercises
      1. Build the database project
      2. Deploy database schema changes
      3. Use custom deployment scripts
      4. Automate using MSBuild and Team Foundation Build
  8. Extensibility
    1. Visual Studio 2010 Areas of extensibility
    2. Visual Studio database project and item templates
    3. Custom database refactoring methods
    4. Custom static code analysis rules
    5. Custom test data generators
    6. Custom unit test conditions
    7. Custom check-in policies
    8. Lab Exercises
      1. Customize database object templates
      2. Create a custom data generator
      3. Create a custom unit test condition
      4. Create a custom code analysis rule (optional)
      5. Create a custom refactoring method (optional)
      6. Create and debug a custom check-in policy (optional)

Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following areas is required:

  • Experience developing and administering SQL Server 2005/2008 databases
  • Previous experience in team-based software development
  • Familiarity with your organization's development lifecycle and practices

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
Locations
Compare Us
Watch 3-minute Demo Video
of Live Online Training:
Learn the benefits of online training with Webucator
Webucator is a Registered Education Provider (R.E.P.) approved by PMI to issue professional development units (PDUs) for our training courses.
© Webucator, Inc. All rights reserved. | Toll Free: 1-877-932-8228 | From outside the USA: 315-849-2724| Fax: 315-849-2723