| |
| |
Foreword | |
| |
| |
Preface (Second Edition) | |
| |
| |
Preface (First Edition) | |
| |
| |
Introduction | |
| |
| |
What's New in the Second Edition | |
| |
| |
Who Should Read This Book | |
| |
| |
The Purpose of This Book | |
| |
| |
How to Read This Book | |
| |
| |
How This Book Is Organized | |
| |
| |
A Word About the Examples and Techniques in This Book | |
| |
| |
| |
Relational Database Design | |
| |
| |
| |
The Relational Database | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Types of Databases | |
| |
| |
Early Database Models | |
| |
| |
The Relational Database Model | |
| |
| |
Relational Database Management Systems | |
| |
| |
Beyond the Relational Model | |
| |
| |
What the Future Holds | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Design Objectives | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Why Should You Be Concerned with Database Design? | |
| |
| |
The Importance of Theory | |
| |
| |
The Advantage of Learning a Good Design Methodology | |
| |
| |
Objectives of Good Design | |
| |
| |
Benefits of Good Design | |
| |
| |
Database-Design Methods | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Terminology | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Why This Terminology Is Important | |
| |
| |
Value-Related Terms | |
| |
| |
Structure-Related Terms | |
| |
| |
Relationship-Related Terms | |
| |
| |
Integrity-Related Terms | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
The Design Process | |
| |
| |
| |
Conceptual Overview | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
The Importance of Completing the Design Process | |
| |
| |
Defining a Mission Statement and Mission Objectives | |
| |
| |
Analyzing the Current Database | |
| |
| |
Creating the Data Structures | |
| |
| |
Determining and Establishing Table Relationships | |
| |
| |
Determining and Defining Business Rules | |
| |
| |
Determining and Defining Views | |
| |
| |
Reviewing Data Integrity | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Starting the Process | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Conducting Interviews | |
| |
| |
The Case Study: Mike's Bikes | |
| |
| |
Defining the Mission Statement | |
| |
| |
Defining the Mission Objectives | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Analyzing the Current Database | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Getting to Know the Current Database | |
| |
| |
Conducting the Analysis | |
| |
| |
Looking at How Data Is Collected | |
| |
| |
Looking at How Information Is Presented | |
| |
| |
Conducting Interviews | |
| |
| |
Interviewing Users | |
| |
| |
Interviewing Management | |
| |
| |
Compiling a Complete List of Fields | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Establishing Table Structures | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Defining the Preliminary Table List | |
| |
| |
Defining the Final Table List | |
| |
| |
Associating Fields with Each Table | |
| |
| |
Refining the Fields | |
| |
| |
Refining the Table Structures | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Keys | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Why Keys Are Important | |
| |
| |
Establishing Keys for Each Table | |
| |
| |
Table-Level Integrity | |
| |
| |
Reviewing the Initial Table Structures | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Field Specifications | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Why Field Specifications Are Important | |
| |
| |
Field-Level Integrity | |
| |
| |
Anatomy of a Field Specification | |
| |
| |
Using Unique, Generic, and Replica Field Specifications | |
| |
| |
Defining Field Specifications for Each Field in the Database | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Table Relationships | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Why Relationships Are Important | |
| |
| |
Types of Relationships | |
| |
| |
Identifying Existing Relationships | |
| |
| |
Establishing Each Relationship | |
| |
| |
Refining All Foreign Keys | |
| |
| |
Establishing Relationship Characteristics | |
| |
| |
Relationship-Level Integrity | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Business Rules | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
What Are Business Rules? | |
| |
| |
Categories of Business Rules | |
| |
| |
Defining and Establishing Business Rules | |
| |
| |
Validation Tables | |
| |
| |
Reviewing the Business Rule Specifications Sheets | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Views | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
What Are Views? | |
| |
| |
Anatomy of a View | |
| |
| |
Determining and Defining Views | |
| |
| |
Summary | |
| |
| |
Review Questions | |
| |
| |
| |
Reviewing Data Integrity | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Why You Should Review Data Integrity | |
| |
| |
Reviewing and Refining Data Integrity | |
| |
| |
Assembling the Database Documentation | |
| |
| |
Done at Last! | |
| |
| |
Summary | |
| |
| |
| |
Other Database-Design Issues | |
| |
| |
| |
Bad Design--What Not to Do | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
Flat-File Design | |
| |
| |
Spreadsheet Design | |
| |
| |
Database Design Based on the Database Software | |
| |
| |
A Final Thought | |
| |
| |
Summary | |
| |
| |
| |
Bending or Breaking the Rules | |
| |
| |
Topics Covered in This Chapter | |
| |
| |
When May You Bend or Break the Rules? | |
| |
| |
Documenting Your Actions | |
| |
| |
Summary | |
| |
| |
In Closing | |
| |
| |
| |
Appendixes | |
| |
| |
| |
Answers to Review Questions | |
| |
| |
Chapter 1 | |
| |
| |
Chapter 2 | |
| |
| |
Chapter 3 | |
| |
| |
Chapter 4 | |
| |
| |
Chapter 5 | |
| |
| |
Chapter 6 | |
| |
| |
Chapter 7 | |
| |
| |
Chapter 8 | |
| |
| |
Chapter 9 | |
| |
| |
Chapter 10 | |
| |
| |
Chapter 11 | |
| |
| |
Chapter 12 | |
| |
| |
| |
Diagram of the Database-Design Process | |
| |
| |
| |
Design Guidelines | |
| |
| |
Defining and Establishing Field Specific Business Rules | |
| |
| |
Defining and Establishing Relationship Specific Business Rules | |
| |
| |
Elements of a Candidate Key | |
| |
| |
Elements of a Foreign Key | |
| |
| |
Elements of a Primary Key | |
| |
| |
Elements of the Ideal Field | |
| |
| |
Elements of the Ideal Table | |
| |
| |
Field-Level Integrity | |
| |
| |
Guidelines for Composing a Field Description | |
| |
| |
Guidelines for Composing a Table Description | |
| |
| |
Guidelines for Creating Field Names | |
| |
| |
Guidelines for Creating Table Names | |
| |
| |
Identifying Relationships | |
| |
| |
Identifying View Requirements | |
| |
| |
Interview Guidelines | |
| |
| |
Mission Statements | |
| |
| |
Mission Objectives | |
| |
| |
Relationship-Level Integrity | |
| |
| |
Resolving a Multivalued Field | |
| |
| |
Table-Level Integrity | |
| |
| |
| |
Documentation Forms | |
| |
| |
| |
Database-Design Diagram Symbols | |
| |
| |
| |
Sample Designs | |
| |
| |
| |
Recommended Reading | |
| |
| |
Glossary | |
| |
| |
References | |
| |
| |
Index | |