Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dtp-reqs] Database tool vision

The following is the original draft text for a sidebar to an article in the May 2005 issue of Software Development entitled Join the Evolution ( http://www.sdmagazine.com/documents/s=9693/sdm0505c/sdm0505c.html ). Some of the points may be a bit out of date, the sidebar was written in early 2005, but the ideas are there.

A New Vision for Tool Vendors
To support agile approaches to database development the database tool vendors have their work cut out for them. We need tools that are easy to learn to use and work with, tools which enable us to make simple, incremental changes to our database schemas. These tools must be inexpensive enough so that they can be deployed on every development machine. The critical tool categories are:

1. Databases. Duh! Database vendor licensing strategies need to reflect the fact that we must deploy database instances to every sandbox and have easy ways to promote changes between these instances. Some do, some don't.

2. Database testing tools. As you can see at http://www.aptest.com/resources.html#app-data there is a wide selection of test data generation tools, which is the good news. To actually run tests, tools such as DBUnit (www.dbunit.org) and utPLSQL (oracle.oreilly.com/utplsql/) are good starts although we need comprehensive ways to fully test our database schema.

3. Evolutionary ETL tools. Extract transform load (ETL) tools are critical aspects of your data warehousing strategy, but rarely are they deployed to individual desktops so that developers can develop scripts to improve the quality of the data which they work with.

4. Database refactoring tools. Just like we have code refactoring tools we also need database refactoring tools. Five years ago code refactoring was quite hard, but now with good tooling code refactoring has become as common as writing IF statements. See http://www.agiledata.org/essays/databaseRefactoring.html for details.

5. Database modeling tools which are integrated into development tools. Anyone working with relational technology should have access to a good data modeling tool, and better yet one that has built in database refactoring features. Data modeling plug-ins for Eclipse, such as DB Visual Architect from Visual Paradigm (www.visual-paradigm.com), are a step in the right direction. See http://www.agiledata.org/essays/umlDataModelingProfile.html for a UML data modeling profile.

6. O/R mapping tools and persistence frameworks. Hibernate (www.hibernate.org), and many others listed at www.ambysoft.com/persistenceLayer.html, luckily exist. Unfortunately they are often stand-alone products that do not integrate well with other tools. O/R mapping features should be a common part of all modeling tools, and several have started moving in that direction. See http://www.agiledata.org/essays/mappingObjects.html for a good writeup on mapping.


You might find <http://www.agiledata.org/>www.agiledata.org to be of interest.

- Scott


====================================================
Scott W. Ambler
Senior Consultant, Ambysoft Inc.
www.ambysoft.com/scottAmbler.html

www.agiledata.org -:- www.agilemodeling.com -:- www.ambysoft.com -:- www.databaserefactoring.com -:- www.enterpriseunifiedprocess.com


Back to the top