Chapter 9 described some common patterns that you may want to use while designing a database. This chapter takes an opposite approach: it describes some common pitfalls that you don't want to fall into while designing a database. If you see one of these situations starting to sprout in your design, stop and rethink the situation so you can avoid a potential problem as soon as possible.
In this chapter you learn to avoid problems with:
Normalization and denormalization.
Lack of planning and standards.
Mishmash and catchall tables.
The following sections describe some of the most common and troublesome problems that can infect a database design.
I've nagged about this in earlier chapters but it's time to nag again. Database design is often one of the first steps in development. It's only natural for developers to want to rush ahead and get some serious coding done. That gives them something to show management to prove that they aren't only playing computerized mahjong and reading friends' MySpace pages. It's also more fun than working on plans, designs, use cases, documentation, and all the other things that you need to do before you can roll up your sleeves and get to work.
Before you start cranking out tables and code, you need to do your homework. Some of the things you need to do before you start wiring up the database include:
Make sure you understand the problem.
Write requirements documents to state the problem. ...