A Sane Approach to Database Design
many databases are poorly designedComputers aren't hard to use. Bad software is hard to use. Many computer systems today are hard to use because they were built on top of poorly designed databases.
So says Mark Johansen in his recent book, A Sane Approach to Database Design. He suggests that many databases are poorly designed because computer programmers concentrate on the mechanics and neglect the big picture. "Many programmers think that learning SQL is all they need to design a database," he says. "That's like thinking that knowing how to set the flash options on your camera makes you a skilled photographer. That's not even the first step -- it's the last step. You start by finding an interesting subject and angle to photograph it from. In database design, you start by determining what information needs to be kept and how it should be organized. The language syntax is a minor point at the end."
Sane Approach cites numerous examples from the author's experience of poorly-designed databases, like a government inventory system that was carefully designed to provide for long delays in setting type and arranging print runs on mechanical printing presses despite the fact that the information was all kept on a database and updated electronically because that's how the old manual system worked.
The author takes the reader through the steps of designing a database intelligently, like identifying entities and attributes, defining keys and indexes, and organizing the database to avoid redundancy and ambiguity, including normalization. He also includes some less-frequently discussed issues, like inventing good names and coping with users who continually change the requirements.
Mark Johansen has been designing databases for 28 years. He lives in Michigan with his teenage daughter.
A Sane Approach to Database Design
by Mark Johansen
There's more to building databases than just knowing SQL. Database design is the art of translating real-world requirements into an information model that can be implemented with a relational database. Which particular database product you use is not important.
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
The author has been building databases for 28 years. He has developed systems for manufacturing, marketing, merchandising, medical, and military organizations, as an employee and as a consultant. He lives in Michigan with his daughter, five computers, and three printers.
Participate in your Design Center
Lots of fun and information for all... don't forget, any community is only as good as the participation of its members. We invite your tips, tricks, comments, suggestions and camaraderie.
- Ask for the DT&G Monthly: to receive DT&G newsletter each month, happenings in the Design Center and regular columns like the "Mail Bag" and "Cool Sites"
- Discuss Design & Desktop Publishing : in the Designers' CAFE
- Link to this site, and then show us the link. We'll send you any of our current door prizes, just for your trouble.
- Discuss Photoshop at Photoshop 911
- SUBMIT: a news link, new font, or product review
- REVIEW a website: posted by our readers
- SUBMIT a Website: for review in Web Design & Review
- Submit a Critique: of a popular web site, or YOUR web site!
- WIN PRIZES: in our "Question of the Month" column
- Meet Friends of the Design Center people who care!
- Become a Friend of the Design Center: and put your link on the front page
- Submit News, Views or your latest press release
- Submit your Software Review: shareware, freeware, fonts, graphics, utilities -- if you've found software you like, let DT&G readers know about it!
Learning, training, tips, tricks, and moreThe Design Bookshelf team reads and reviews the best books for the creative visual designer, desktop publishing practitioner and visual communicator. If you want to know it -- we'll show you the very best way to learn it... in the Designer's Bookshelf
Get more out of your computer: join a user group - There are computer clubs around the world called "user groups" where you find fellow computer users ready and willing to share a wealth of information. If you're not a UG member, you should be.. find a group at the User Group Network