Download
Microsoft Visual Studio 2010 Beta 2

Microsoft Visual Studio 2010

Denver Visual Studio User Group   www.DenverVisualStudio.net 

 
 
 Review Details

Denver VS UG - Home    

     Also see Reviews and How To Review.
   
 
Beginning Database Design Solutions
Author(s): Rod Stephens
Published: 2008, ISBN 978-0-470-38549-4, 552 pages
Publisher (more . . .):  Wrox
 

 

   
 
 Review
 

 

 Five out of Five Stars
  Reviewed: April, 2009
  Reviewer: J. K. August
 
       This book is pretty good for a rounded examination of designing databases. You need to know a little bit about databases and design to understand this book. I have been doing databases about ten years, as an ancillary job. I only know Access well, but I’ve been exposed to Foxpro, DB2/4, Oracle and Sequel Server. I’ve read all the standard discussions of database design in all the Access books. This book went beyond those, complementing what I knew very well.

     The book looks at databases from the broad perspective of having many different users with more than one use requirement. It introduces user-focused techniques to keep designs founded on users’ needs. These include extracting business rules, understanding user needs and translating user needs into business models. It also discusses common design patterns and building a data model. Some areas that it introduces most developers will want to blow off, but these are still necessary for developing excellent applications. These include techniques for mapping the design’s data flows, user interactions, and unpredictable evolution paths.

     My own database experience started working alongside much more capable developers than I. Most developers will not want to got through the mundane design steps cited here. They may attempt to dissuade their managers from doing so, based on the additional costs of mapping. Whether they will do this or not probably depends on the scope and quality of the application they design. Our own experience has been to work through these many issues internally, informally, over long periods of internal database use. It is highly unlikely a commercial developer will have the same luxury. Whether people opt to use the full set of tools, available, its comforting to know they are there. For those headed towards larger group database applications, this book clearly explains the levels of an application - front end, backend, and middleware. It explains the reasons for each, problems separately posed, as well as how they can link to web-based database applications.

     I found the sections on database design basics as well as non-normalizing database designs review. Some of the information on table field layouts was useful, but may not reflect all users needs for comment text fields in complex, multipurpose applications. I found the sections on documenting and mapping user’s needs most useful, as well as most distressing. I hate to go through these steps myself, and I’m much better than average developers at doing all the mundane documentation stuff.

     For the first time, the book explained the causes of database bloat, weird queries and other anomalies that require database compaction and repair. Over the past ten years I’ve never fully appreciated why these are required. Furthermore, I've never had a good developer explain to me clearly why these happened or what database maintenance really did. This book did.

     The author introduced a few of the more advanced database systems available free from shareware, Microsoft or other download sources. These included MySQL, and MS Sequel server, explaining the value and utility of each. He then introduces SQL - the query language. Though okay for an introductory course, introducing SQL (“See-kwill”), for Structured Query Language and the database applications didn’t add anything for me. However, for someone truly new to databases I could see how that might really be great.

     I would have like more information on large database application management, maybe even including how to rebuild a goofed up legacy database. On the other hand, for what it covered it did that very well, and I always want more. I really liked the sections on common data relationship models, common design patterns and building a database data model. I especially like the part for restructuring many-to-many relationships. This alone was worth the cost of the book.

     Anyone with a year or two exposure building databases will find this very useful. You probably also need to be working on complex applications and multiple users databases. To read the book easily you must be either be very smart or have a couple years with Access under your belt. By getting more information on common ways to simplify and relate “many-to-many” relationships, this book is invaluable. It may also stimulate more thought on more careful data model development.

     I found two annoyances that became distracting from an otherwise great book. One was the author's tongue-in-cheek style with some of the insider jokes he cites. One or two here and there would be okay, but more than five per chapter gets a bit irritating. (All right, I didn't count them!) The other was the superficial nature of the demo’ed exercises and code. I just can't get into some of these example databases. Okay, I realize my interests are very complex, so this criticism is unfair. Overall these weren’t a problem.

     I did not attempt to test the code because I wasn’t interested in the types of code demoed, although I did go through the exercises mentally. I found no updates or other errata prior to reading the book, and of course because I didn’t attempt to do the code I wouldn't know.


 J.K. August is an engineer who uses databases to address engineering information management problems for design basis control in large facilities. (Although similar aspects apply as with some CAD/CAM, these are not CAD/CAM systems.)
   
  Top
  Copyright © 2000 - 2010 Denver Visual Studio User Group.
All Rights Reserved. Please see Notice