Computer Hardware and Software
Title: A Sane Approach to Database Design
Author: Mark Johansen
Web Page: www.lulu.com
Reviewed by: Rod Clark | View Bio
A SANE APPROACH TO DATABASE DESIGN
By Mark Johansen
Reviewer: Rod Clark
Every business has streams of important data that have to be managed in a comprehensive way in order to get the most value out of them. To manage these streams you need to build one or more databases. It’s common knowledge that knowing SQL, or structured query language, is a requisite for building data bases—and there is plenty of literature available on that subject (one of my favorites is the SQL Bible, John Wiley & Sons, Inc., 2003), but as author Mark Johansen explains in A Sane Approach to Database Design , there’s a lot more to database design than SQL. After all, SQL is simply a language designed to convey a subject, but first you need to frame the subject you wish to convey. “The purpose of database design is to create an informational model of the subject that we want to build a computer system for,” Johansen explains.
The real challenge of building a well functioning data base is to translate real requirements into an informational model that can be used in conjunction with a relational database. The basic principles of designing a good database are the same, Johansen explains, regardless of which data base software you employ.
Of course a database is not reality—it’s an informational model of reality, so Johansen begins, reasonably enough, with a discussion of models and their development. What are the pieces of a good model? What does one look like? How does it evolve? How do you structure a database to reduce complexity and avoid redundancy? The author is a programmer as well as a database designer, but he stresses that it is easier to repair a poorly written program than to fix a poor design. Hence it is better to do it right from the beginning: ab ovo—from the egg.
From this foundation, Johansen guides the reader through a comprehensive and intelligently sequential discussion of every aspect of building a database: working with SQL, defining terminology, describing entities, developing relationships, working with attributes , keys—and the challenges involved with naming these elements and using terminology appropriate to the users’ organization. The text is enriched with many detailed examples, illustrations, and flowcharts.
For all its merits, This is not an SQL textbook, although
people who know some SQL (and perhaps some algebra!) may
gain some value from it. Nevertheless, A Sane Approach to Database Design is an indispensible book for anyone trying to seriously master SQL. It frames the purpose for which that language was developed, and illuminates how good design serves real world needs. With the help of gentle humor, cartoons, and colorful anecdotes framed as “Adventures in Real Life,” Mr. Johansen has given us a concise and valuable book that helps to bridge the gap between the programmer and the real world needs of the database user.
Go Back read another review, or choose a different category.