The Database Design Process
Whatever overall development model you choose, you must perform certain analysis and design activities. Whether you perform them sequentially or iteratively, whether the scope of your inquiry is the entire system or only a single component, whether your techniques are formal or informal, every project should include each of these steps at least once.
Defining the System Parameters
Ideally, every project should begin with a clear definition of what you’re trying to achieve, why you’re trying to achieve it, and how your success will be judged. Most projects won’t have this definition prior to commencement, so this is what the first phase of the design process is about. The project’s goal defines the “why” of the project. Based on this, you can define the “what,” the project’s scope. Once you understand the goal and scope, you can begin to determine realistic design criteria, the “how.” Each of these is discussed in detail in Chapter 11.
Defining the Work Processes
Although ostensibly involved in the storage and retrieval of data, the majority of database systems support one or more work processes. Your users aren’t just storing data for the sake of storing data; they want to use it in some way. Understanding the work processes the data needs to support is crucial to understanding the semantics of the data model. Work processes are discussed in Chapter 12.
Building the Conceptual Data Model
More than simply a set of table structures, the conceptual data model defines the data usage for the entire system. This includes not only the logical data model, but also a description of how the work processes interact with the data. The conceptual data model is discussed in Chapter 13.
Preparing the Database Schema
The database schema translates the conceptual data model into physical terms. It includes a description of the tables that will be implemented in the system and also the physical architecture of the data. Physical architectures and the database schema are discussed in detail in Chapter 14.
Designing the User Interface
No matter how impressive the technical performance of your system, if the user interface is clumsy, confusing, or patronizing, the project is unlikely to be successful. To most users, after all, the interface is the system. User interface design is discussed in Part IV.