What You Have Learned
In a real scenario, you might find that many more iterations are required to get to an initial design. The time it takes to achieve a useful design is dependent on how thorough your analysis is and the frequency with which you seek input from the users of the database. Of all the sources of information you get, report requests might be the most valuable because you can often reverse-engineer reports to the base entities that are required to produce such a report. Of course, other sources of informationinterviews and existing systemsare also important. In different situations, you can rely on different sources to different extents.
The result of your analysis work culminates in the form of a database model. The most common and easiest to understand modeling technique is the Entity Relationship Diagram (ERD). Tools such as Visio automate the process of creating logical database models and creating physical databases from the models. ERDs consist of entities, entity attributes, and entity relationships.
If there is one key lesson, it is this: Don't get buried in the details too quickly. As you deal with the trees, stay aware of the forest. This chapter did not delve into the details of the fields of information each entity will store. Why? Because it is not a requirement in achieving a solid initial database design. In fact, getting into the details too quickly can be a hindrance. Will the complement of entities change as the field definitions for entities are fleshed out? Most likely, the answer is yes. But that is okay; it is a basic part of the design process.
Remember the mantra of "be patient"? Remember those Paul Masson commercials: "We will sell no wine before its time"?
In the next chapter, you take the design to the next stage of development through the process of normalization. At the conclusion of Chapter 4, the design of the Time Entry and Billing Database will be complete.