| |||||||||||||||
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. --bookreview.com
This book presents a step-by-step guide to building a database. Topics include:
- Requirements gathering
- Introduction to SQL
- The model sequence
- Entities, relationships, and attributes
- Keys and indexes
- Entity-Relationship Diagrams
- Naming
- Normalization
- Implementation
- Breaking the rules
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
6 of 6 people found the following review helpful:
5.0 out of 5 stars
Review of "A Sane Approach to Database Design",
By
This review is from: A Sane Approach to Database Design (Paperback)
This is an excellent book to design better databases. It was written for beginner and advanced database designers alike, who already have a working knowledge of SQL. I highly recommend this book as it eases the understanding of designing a database. In class, we were able to talk to the author and he was very helpful in sharing his views about databases.
The book's main points are simplicity and efficiency. By this, I do not mean to simplify adatabase to uselessness, but to simplify the structure of the database. Too often, databases are designed poorly, cluttered with tables that contain unnecessary data or fields that are poorly designated. By simplifying a database design, the database will be less resource-intensive (more efficient) and easier to modify later. What I most appreciated were his definitions of Entities and Relationships and how to design simpler, yet more effective, ERDs. Thinking of entities as nouns and relationships as verbs, in general, are an effective method to visualize tables and how they are "connected". His tips on ERDs were especially helpful, as databases can be composed of many tables and visualizing them effectively is important. The author uses generic SQL, rather than an application-specific version, so it's easy to understand. And in a number of situations, he explains that while one DB app will run with no problem, another will not. Also, he states any number of times that his method is not the only method; this is appreciated as many textbook authors and teachers to say "it's my way or the highway". His short cartoons helped to bring important points, especially mistakes of the past, into clear context. They're often humorous and you wonder how the DB designer did something like that. These cartoons aid readers to identify mistakes and how they can avoid them. While I would recommend this book to any and all database designers (with a working knowledge of SQL), I would suggest students between "Database Design" and "Advanced Database Design" classes would benefit the most. This book can bring a level of clarity to DB design that most textbooks cannot.
3 of 3 people found the following review helpful:
5.0 out of 5 stars
Great Introduction to Databases,
By Xangis (Columbus, OH USA) - See all my reviews
This review is from: A Sane Approach to Database Design (Paperback)
This is an excellent, well-written introduction to database design. The ideal audience would be someone who has is familiar with databases, but doesn't really *get* them. For instance -- a network admin, intro-level programmer, or someone who has "hacked around a bit" with web scripting.
The material is presented clearly and concisely with just enough humor to make it a fast and fun read. This book won't make you an expert, but it will give you a very solid footing to build on. Even though it's not particularly academic in style or tone, I wish this had been the text for my intro to databases course in college.
5.0 out of 5 stars
Ask Felgall - Book Review,
By Stephen Chapman (Sydney, NSW, Australia) - See all my reviews
This review is from: A Sane Approach to Database Design (Paperback)
There have been a few novels where once I started reading I couldn't put the book down until I finished it but never a computer book until this one. Even though there was nothing in this book that I didn't already know, the way that the author describes all of the things that you need to take into account in designing a database properly (including a number of real life examples of when it wasn't done properly and the consequences which brought a smile to my face as I remembered similar situations that I experienced) as a clear, easy to follow set of instructions that is applicable to any database.My first thought when reading many of the chapters in the book would be "that's obvious, it doesn't need to be said" and then I'd get to the real life example and remember other similar situations and remember that it isn't so obvious to most of the people who make databases without having first learnt how to design it properly. Actually I expect that the true situation is that it would be obvious to anyone who has a reasonable idea of how computers work and who actually takes the time to consider all of the aspects that need to be considered in designing a database properly. The problem s that so many people think that they know more about computers than they really do and so in many cases they do overlook the obvious. If they read this book then they will be far less likely to make those same mistakes again. How well your database fulfils your requirements of it will depend on how well it is designed in the first place and applying all of the information in this book to the design of your database will give you the best database for your requirements.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|