There are numerous examples throughout the book that illustrate the concepts and techniques used in the database-design process. I've drawn these examples from a variety of databases and used them in an arbitrary fashion. Using them in this manner allows me to demonstrate that once you learn how to apply a particular concept or technique generically, you can then apply it to any other database you're designing. Therefore, your focus should always be on the concept or technique being presented, not on the example itself.
Nevertheless, I use a single database example as a case study to illustrate the steps involved in the design process. This enables me to present the process with some degree of continuity. As the database-design process unfolds, I apply each technique to designing the database for the fictitious company in the case study. I provide only a few details about the company in this chapter, but I'll supply more as I present each new concept or technique.
Mike's Bikes, our case-study business, is a new bike shop located in a small suburb called Greenlake, not far from downtown Seattle. It has been open for only two months, and business is growing steadily. Mike, the shop's owner, has been conducting his daily business on paper. He records sales on preprinted forms, maintains employee and vendor information on sheets of paper (storing them in manila folders), and writes information about his regular customers on index cards. As a result, Mike spends a lot of time maintaining all of this data. He owns a computer but uses it mainly to play games, write letters, and visit various golf sites. The only business-related task he performs on the computer is keeping track of the bike shop's inventory using a spreadsheet program.
Recently, Mike learned that using a database would be a good way to store and work with data related to his business. Using a database would greatly diminish the amount of time he currently spends maintaining his data, and he could always ensure that the data is up-to-date and that the information is accurate. Although he thinks a database is a good idea, he's aware of the fact that he doesn't know the first thing about properly designing a database. Undaunted, Mike has decided to hire a database consultant to design the database for him.
You are, in this fable, the consultant he has hired for the project. As the database-design process unfolds throughout the next several chapters, you'll apply each technique to design the database for Mike's Bikes. As you learn new concepts or techniques, Mike will supply you with the information you need to complete the design of his database.