Absolute Beginner's Guide to Database Design
Part I, "Database Basics," focused on giving you a foundation of what a database is and an understanding of how an actual database is implemented in Microsoft Access. In Part II, "Designing and Building Your First Database," and beginning with this chapter, the focus will be on applying what you've learned in Part I. Before you can build a database, you have to design the database. Before you can design the database, you have to understand the business problem you are tasked with solving. Sometimes the process of designing and building a database is simple; sometimes the process can be quite challenging and complex. The factors that can determine how difficult your task will be include the following:
Your degree of understanding of the business
Your analytical skills
The number of databases you've previously developed
The amount of patience you possess
Of all the skills, patience is perhaps the most important and most difficult to acquire. With time, you can learn the business, hone your analytical skills, and build databases. Databases are never fully developed in the first pass. By the end of the second pass, you will just about be there. With luck, the third pass might be the charm. More than likely, though, it will take four iterations of the design to complete a solid initial design. Only by having the patience to see each iteration through can you achieve the goal of a solid database design.
The topic of database design can be a slippery slope into a world of complex theories. Not that the design theories in the database world are uselessthey aren't. In a beginning book on databases, however, about two-thirds of the theory is useless. This chapter and Part II are a recipe consisting of one-third cup theory and two-thirds cup hard work.
By doing, you will learn. Let's get to work!
Your Project: A Time Entry and Billing Database
You have been hired by the law firm of Dewey, Cheatem, and Howe to construct a time entry and billing system. Other than a few bad lawyer jokes (such as "Why don't sharks eat lawyers? Professional courtesy."), you don't know much about the inner workings of a law firm. Based on the name of the system, though, you know two things for certain:
The system needs to collect and keep time.
The system needs to create bills.
This might sound overly simplistic, but sometimes that might be all you initially have to go on. As you will learn, knowing one piece of information can lead to learning one, two, or more additional pieces of information. And so the process repeats. Perhaps the most important elements of information you can possess at the beginning of a project are how and where to find the required information to build a database. This topic is the focus of the next section.