Friday, June 02, 2006

Data Dude a.k.a. Visual Studio Team Edition for Database Professionals

For the longest time, there was a big hole in the tools for the database development. For many aspects of database development, there are mature, powerful, easy to use tools making working with the databases fun, but not for versioning. Few years ago, after a session on Visual Source Safe on one European Tech Ed I asked the presenter whether there were any plans for better support for DB devs. There were not. Not at that time. Source Safe was old and weary and did not have enough power to support the needs of such a tool.
Then there came Visual Studio Team System with its huge momentum, powerful collaboration platform and completely new source configuration management (SCM) system. Such a platform had much more to offer than it was presented in the first wave. Although the support for architects, developers and testers is much more than what we have ever had before, there are many other roles in the usual dev team. DB devs not being the least important among them.
It was just a matter of time. The direction was obvious.
Now, that the news about Team Edition for Database Professionals (known also as Data Dude) is out, we have a lot to look forward to. The development of the databases will never look the same again.
What does it bring?

Project based database development – after a import of the database schema in the Visual Studio, each database object is managed, edited and versioned separately. Nothing easier, since each object is treated simply as the SQL code needed to define it. That code can be managed in the SCM system as any other source code file. The schema managed in Visual Studio’s project is separated from the production database’s schema, but the two can easily be synchronized using appropriate tools.

Picture 1: Database schema imported in the Visual Studio Project

Picture 2: Each database object is treated simply as a piece of DDL code

Schema comparison Tool – makes it possible to compare two databases or a database and a VS project and to create a SQL code needed to synchronize the schemata of the two. Once the tool generates the SQL script for the synchronization, the script can be tested on the testing server, its deployment planned and finally it can be executed on the production database. Data comparison tool - can do the same but for the data.

Picture 2: Database schema comparison tool

Obviously, being a part of Visual Studio Team System family, Data Dude integrates work item management and automatic workflow enabling improved team colaboration.

One additional useful tool is rename refactoring, making easy renaming of any database object possible. The tool looks and feels similar to the one used to rename objects in C#.

Database Unit testing is great news. The implementation of the unit tests in the Data Dude builds on the test project infrastructure. Unit tests describe expectations on the result set of a given stored procedure (number of rows returned, empty/non empty resultset, scalar value etc.). That description is used to generate the C# or VB.NET code, which is then executed as if it were a usual unit test. So, it is kind of unit testing by example. Neat and simple. The db unit tests are complemented by the data generator, which generates repeatable sets of data that have the same characteristics (number or rows in a table, row ratios between tables etc.) as the data from the production database. That way the unit tests can be repeatedly deterministically executed.

Picture 3: Database unit tests

Read more about the Data Dude here:
and discuss it in the forum here:


Post a Comment

<< Home