Craig S. Mullins

Return to Home Page

February 2004





The DBA Corner
by Craig S. Mullins  


Database Applications Require Multiple Design Reviews

During design review, all aspects of the database and application code are reviewed for efficiency, effectiveness, and accuracy. It is imperative that all database applications, regardless of their size, are reviewed to assure that the application was designed properly, efficient coding techniques were used, and the database is accessed and modified correctly and efficiently. Multiple design reviews should be conducted over the course of an application's life. Design reviews are critical for ensuring that an application is properly designed to achieve its purpose. There are seven basic design review phases that should be conducted for a database application: conceptual design review validates the concept of the database and application; logical design review reviews all data elements, descriptions, and relationships; physical design review ensures proper database parameter settings and other physical design choices were made (including a proper translation from logical model to physical database); organizational design review examines the enterprise-wide concerns of the organization with respect to the new application; SQL and application code review conducts a rigorous statement-by-statement review of every SQL statement in the application; pre-implementation design review provides an overall appraisal of the system components prior to implementation; finally, post-implementation design review reviews the application after it has run in production for awhile to determine if the application is meeting its objectives.

A group consisting of subject matter experts and the developer's peers and co-workers should conduct each design review. The DBA usually will act as the focal point for organizing and conducting design reviews. Frankly, if the DBA does not organize design reviews, it is unlikely that any design review will be conducted. And if design reviews are not conducted, the application is more apt to suffer performance and availability problems in a production environment.

A design review should be conducted by a group of people having different backgrounds, skills, expectations, and opinions. When any such group is convened to discuss potential problems and errors, confrontation is unavoidable. A required skill for each participant is the ability to discuss and reach consensus on issues without turning the review into an unproductive battle or argument. One of the biggest threats to the success of a design review is the perception of the creators of the "thing" that is being reviewed. If the atmosphere of the review is threatening or the developer perceives it to be so, the developer is likely to resist contributing and accepting an unbiased critique of the work. Be sure that all participants back up their assertions and suggestions with facts, manual references, and experience.

Formal design review roles should include the leader, the scribe, the mediator, and the participants. Though it is not mandatory, the DBA typically acts as the leader of design reviews for applications using a database.

From Database Trends and Applications, February 2004.

2004 Craig S. Mullins,  All rights reserved.