| |
|
| |

Review Details |
|
|
Also see
Reviews and
How To Review. |
| |
|
| |
|
| |
|
| |

Review
|
|
|
 |
| |
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.) |
| |
 |
| |
 |
| |
Copyright © 2000 -
2012 Denver Visual Studio User Group™.
All Rights Reserved. Please see
Notice. |
|