Foreword |
|
xix | |
Preface |
|
xxi | |
Introduction |
|
xxix | |
What's New in the Fourth Edition |
|
xxxi | |
Who Should Read This Book |
|
xxxii | |
The Purpose of This Book |
|
xxxiii | |
How to Read This Book |
|
xxxvi | |
How This Book Is Organized |
|
xxxvii | |
A Word about the Examples and Techniques in This Book |
|
xl | |
|
PART I RELATIONAL DATABASE DESIGN |
|
|
1 | (64) |
|
Chapter 1 The Relational Database |
|
|
3 | (14) |
|
Topics Covered in This Chapter |
|
|
3 | (1) |
|
|
3 | (2) |
|
|
5 | (6) |
|
|
7 | (2) |
|
Advantages of a Relational Database |
|
|
9 | (1) |
|
Relational Database Management Systems |
|
|
10 | (1) |
|
|
11 | (2) |
|
|
13 | (1) |
|
|
14 | (3) |
|
Chapter 2 Design Objectives |
|
|
17 | (16) |
|
Topics Covered in This Chapter |
|
|
17 | (1) |
|
Why Should You Be Concerned with Database Design? |
|
|
17 | (2) |
|
|
19 | (2) |
|
The Advantage of Learning a Good Design Methodology |
|
|
21 | (1) |
|
Objectives of Good Design |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
24 | (3) |
|
Traditional Design Methods |
|
|
24 | (2) |
|
The Design Method Presented in This Book |
|
|
26 | (1) |
|
|
27 | (3) |
|
|
30 | (1) |
|
|
31 | (2) |
|
|
33 | (32) |
|
Topics Covered in This Chapter |
|
|
33 | (1) |
|
Why This Terminology Is Important |
|
|
33 | (2) |
|
|
35 | (6) |
|
|
35 | (1) |
|
|
35 | (2) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
39 | (2) |
|
|
41 | (9) |
|
|
41 | (3) |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
46 | (2) |
|
|
48 | (2) |
|
|
50 | (1) |
|
Relationship-Related Terms |
|
|
50 | (9) |
|
|
50 | (2) |
|
|
52 | (5) |
|
|
57 | (1) |
|
|
57 | (2) |
|
|
59 | (2) |
|
|
59 | (1) |
|
|
59 | (2) |
|
|
61 | (1) |
|
|
62 | (3) |
|
PART II THE DESIGN PROCESS |
|
|
65 | (388) |
|
Chapter 4 Conceptual Overview |
|
|
67 | (14) |
|
Topics Covered in This Chapter |
|
|
67 | (1) |
|
The Importance of Completing the Design Process |
|
|
68 | (1) |
|
Defining a Mission Statement and Mission Objectives |
|
|
69 | (1) |
|
Analyzing the Current Database |
|
|
70 | (2) |
|
Creating the Data Structures |
|
|
72 | (1) |
|
Determining and Establishing Table Relationships |
|
|
73 | (1) |
|
Determining and Defining Business Rules |
|
|
74 | (1) |
|
Determining and Defining Views |
|
|
75 | (1) |
|
|
75 | (2) |
|
|
77 | (1) |
|
|
78 | (3) |
|
Chapter 5 Starting the Process |
|
|
81 | (26) |
|
Topics Covered in This Chapter |
|
|
81 | (1) |
|
|
82 | (9) |
|
|
84 | (2) |
|
Interviewer Guidelines (These Are for You) |
|
|
86 | (5) |
|
Defining the Mission Statement |
|
|
91 | (5) |
|
The Well-Written Mission Statement |
|
|
91 | (2) |
|
Composing a Mission Statement |
|
|
93 | (3) |
|
Defining the Mission Objectives |
|
|
96 | (7) |
|
Well-Written Mission Objectives |
|
|
97 | (2) |
|
Composing Mission Objectives |
|
|
99 | (4) |
|
|
103 | (1) |
|
|
104 | (3) |
|
Chapter 6 Analyzing the Current Database |
|
|
107 | (58) |
|
Topics Covered in This Chapter |
|
|
107 | (1) |
|
Getting to Know the Current Database |
|
|
107 | (6) |
|
|
111 | (1) |
|
|
111 | (2) |
|
|
113 | (1) |
|
Looking at How Data Is Collected |
|
|
113 | (3) |
|
Looking at How Information Is Presented |
|
|
116 | (4) |
|
|
120 | (8) |
|
Basic Interview Techniques |
|
|
121 | (7) |
|
Before You Begin the Interview Process |
|
|
128 | (1) |
|
|
128 | (15) |
|
Reviewing Data Type and Usage |
|
|
129 | (2) |
|
|
131 | (4) |
|
Reviewing Information Requirements |
|
|
135 | (8) |
|
|
143 | (5) |
|
Reviewing Current Information Requirements |
|
|
144 | (1) |
|
Reviewing Additional Information Requirements |
|
|
145 | (1) |
|
Reviewing Future Information Requirements |
|
|
146 | (1) |
|
Reviewing Overall Information Requirements |
|
|
147 | (1) |
|
Compiling a Complete List of Fields |
|
|
148 | (14) |
|
The Preliminary Field List |
|
|
148 | (8) |
|
The Calculated Field List |
|
|
156 | (1) |
|
Reviewing Both Lists with Users and Management |
|
|
156 | (6) |
|
|
162 | (2) |
|
|
164 | (1) |
|
Chapter 7 Establishing Table Structures |
|
|
165 | (68) |
|
Topics Covered in This Chapter |
|
|
165 | (1) |
|
Defining the Preliminary Table List |
|
|
166 | (8) |
|
Identifying Implied Subjects |
|
|
166 | (2) |
|
Using the List of Subjects |
|
|
168 | (4) |
|
Using the Mission Objectives |
|
|
172 | (2) |
|
Defining the Final Table List |
|
|
174 | (15) |
|
|
176 | (6) |
|
Indicating the Table Types |
|
|
182 | (1) |
|
Composing the Table Descriptions |
|
|
182 | (7) |
|
Associating Fields with Each Table |
|
|
189 | (2) |
|
|
191 | (17) |
|
Improving the Field Names |
|
|
191 | (5) |
|
Using an Ideal Field to Resolve Anomalies |
|
|
196 | (3) |
|
Resolving Multipart Fields |
|
|
199 | (2) |
|
Resolving Multivalued Fields |
|
|
201 | (7) |
|
Refining the Table Structures |
|
|
208 | (21) |
|
A Word about Redundant Data and Duplicate Fields |
|
|
208 | (1) |
|
Using an Ideal Table to Refine Table Structures |
|
|
209 | (7) |
|
Establishing Subset Tables |
|
|
216 | (13) |
|
|
229 | (2) |
|
|
231 | (2) |
|
|
233 | (30) |
|
Topics Covered in This Chapter |
|
|
233 | (1) |
|
|
234 | (1) |
|
Establishing Keys for Each Table |
|
|
234 | (17) |
|
|
235 | (8) |
|
|
243 | (6) |
|
|
249 | (1) |
|
|
250 | (1) |
|
|
251 | (1) |
|
Reviewing the Initial Table Structures |
|
|
251 | (8) |
|
|
259 | (1) |
|
|
260 | (3) |
|
Chapter 9 Field Specifications |
|
|
263 | (30) |
|
Topics Covered in This Chapter |
|
|
263 | (1) |
|
Why Field Specifications Are Important |
|
|
264 | (2) |
|
|
266 | (1) |
|
Anatomy of a Field Specification |
|
|
267 | (16) |
|
|
267 | (8) |
|
|
275 | (3) |
|
|
278 | (5) |
|
Using Unique, Generic, and Replica Field Specifications |
|
|
283 | (4) |
|
Defining Field Specifications for Each Field in the Database |
|
|
287 | (4) |
|
|
291 | (1) |
|
|
292 | (1) |
|
Chapter 10 Table Relationships |
|
|
293 | (76) |
|
Topics Covered in This Chapter |
|
|
293 | (1) |
|
Why Relationships Are Important |
|
|
294 | (1) |
|
|
295 | (17) |
|
|
296 | (2) |
|
One-to-Many Relationships |
|
|
298 | (3) |
|
Many-to-Many Relationships |
|
|
301 | (7) |
|
Self-Referencing Relationships |
|
|
308 | (4) |
|
Identifying Existing Relationships |
|
|
312 | (11) |
|
Establishing Each Relationship |
|
|
323 | (20) |
|
One-to-One and One-to-Many Relationships |
|
|
323 | (8) |
|
The Many-to-Many Relationship |
|
|
331 | (6) |
|
Self-Referencing Relationships |
|
|
337 | (5) |
|
Reviewing the Structure of Each Table |
|
|
342 | (1) |
|
Refining All Foreign Keys |
|
|
343 | (6) |
|
Elements of a Foreign Key |
|
|
343 | (6) |
|
Establishing Relationship Characteristics |
|
|
349 | (12) |
|
Defining a Deletion Rule for Each Relationship |
|
|
349 | (5) |
|
Identifying the Type of Participation for Each Table |
|
|
354 | (3) |
|
Identifying the Degree of Participation for Each Table |
|
|
357 | (3) |
|
Verifying Table Relationships with Users and Management |
|
|
360 | (1) |
|
|
360 | (1) |
|
Relationship-Level Integrity |
|
|
361 | (5) |
|
|
366 | (2) |
|
|
368 | (1) |
|
Chapter 11 Business Rules |
|
|
369 | (42) |
|
Topics Covered in This Chapter |
|
|
369 | (1) |
|
|
370 | (5) |
|
|
373 | (2) |
|
Categories of Business Rules |
|
|
375 | (3) |
|
Field-Specific Business Rules |
|
|
375 | (1) |
|
Relationship-Specific Business Rules |
|
|
376 | (2) |
|
Defining and Establishing Business Rules |
|
|
378 | (16) |
|
Working with Users and Management |
|
|
378 | (1) |
|
Defining and Establishing Field-Specific Business Rules |
|
|
379 | (7) |
|
Defining and Establishing Relationship-Specific Business Rules |
|
|
386 | (8) |
|
|
394 | (6) |
|
What Are Validation Tables? |
|
|
394 | (1) |
|
Using Validation Tables to Support Business Rules |
|
|
395 | (5) |
|
Reviewing the Business Rule Specifications Sheets |
|
|
400 | (8) |
|
|
408 | (1) |
|
|
409 | (2) |
|
|
411 | (34) |
|
Topics Covered in This Chapter |
|
|
411 | (1) |
|
|
411 | (2) |
|
|
413 | (11) |
|
|
413 | (5) |
|
|
418 | (4) |
|
|
422 | (2) |
|
Determining and Defining Views |
|
|
424 | (17) |
|
Working with Users and Management |
|
|
425 | (1) |
|
|
426 | (8) |
|
Reviewing the Documentation for Each View |
|
|
434 | (7) |
|
|
441 | (1) |
|
|
442 | (3) |
|
Chapter 13 Reviewing Data Integrity |
|
|
445 | (8) |
|
Topics Covered in This Chapter |
|
|
445 | (1) |
|
Why You Should Review Data Integrity |
|
|
446 | (1) |
|
Reviewing and Refining Data Integrity |
|
|
446 | (3) |
|
|
447 | (1) |
|
|
447 | (1) |
|
Relationship-Level Integrity |
|
|
448 | (1) |
|
|
448 | (1) |
|
|
448 | (1) |
|
Assembling the Database Documentation |
|
|
449 | (2) |
|
|
451 | (1) |
|
|
452 | (1) |
|
PART III OTHER DATABASE DESIGN ISSUES |
|
|
453 | (22) |
|
Chapter 14 Bad Design--What Not to Do |
|
|
455 | (10) |
|
Topics Covered in This Chapter |
|
|
455 | (1) |
|
|
456 | (1) |
|
|
457 | (4) |
|
Dealing with the Spreadsheet View Mindset |
|
|
459 | (2) |
|
Database Design Based on the Database Software |
|
|
461 | (2) |
|
|
463 | (1) |
|
|
463 | (2) |
|
Chapter 15 Bending or Breaking the Rules |
|
|
465 | (8) |
|
Topics Covered in This Chapter |
|
|
465 | (1) |
|
When May You Bend or Break the Rules? |
|
|
465 | (4) |
|
Designing an Analytical Database |
|
|
465 | (1) |
|
Improving Processing Performance |
|
|
466 | (3) |
|
|
469 | (2) |
|
|
471 | (2) |
|
|
473 | (2) |
|
|
475 | (78) |
|
Appendix A Answers to Review Questions |
|
|
477 | (24) |
|
Appendix B Diagram of the Database Design Process |
|
|
501 | (18) |
|
Appendix C Design Guidelines |
|
|
519 | (10) |
|
Appendix D Documentation Forms |
|
|
529 | (4) |
|
Appendix E Database-Design Diagram Symbols |
|
|
533 | (2) |
|
Appendix F Sample Designs |
|
|
535 | (6) |
|
Appendix G On Normalization |
|
|
541 | (10) |
|
Appendix H Recommended Reading |
|
|
551 | (2) |
Glossary |
|
553 | (14) |
References |
|
567 | (2) |
Index |
|
569 | |