The author informs the reader that the book could have been titled Practical information design, Practical knowledge design, or Practical database design, but that data are the problem. Chapter 1 introduces the question “Why design data?” and indicates that a properly designed data resource can provide the flexibility required to manage change to the advantage of the enterprise. Chapter 2 focuses on how to design data. Numerous diagrams help the reader understand such concepts as subject data resources and the time relational model. Some practical examples are given. The two next chapters explain what to design first and define a data resource model. The author covers some data design problems, but too briefly. Data description and data keys are the topics of chapters 5 and 6. Brackett provides guidelines and numerous rules and examples. One important segment discusses bad data description practices; another covers redundant data in a primary key.
Chapter 7 discusses data relations and navigation through the data resource. It explains one-to-one, one-to-many, many-to-many, inverted, and implied data relations in detail and describes navigation between data entities. Data normalization, denormalization, and conversion are covered in chapter 8. The next two chapters are devoted to the relationship between data subjects and data entities and to data entity identification techniques. A chapter on data structures addresses various characteristics of data attributes and includes some illustrated examples to show how to compose output and input data structures. It also treats aspects of data structure normalization and optimization.
Chapter 12 deals with data structure rules represented by referential integrity and with the management of data integrity. Chapter 13 covers data resources documentation. Chapter 14 discusses data availability, including redundant data, decentralized data, and data access. Database transition is introduced in chapter 15, which emphasizes retrodocumenting conventional databases, data converters, and the database transition process. The last chapter concentrates on data resource design, which requires commitment from the entire enterprise for managing data, for the use of resources to train people, and to plan data conversion with a minimum impact on business operations.
An appendix entitled “Business Driven System Development” explains the methodology well, using an abundance of diagrams. It indicates that the approach is applicable for real-world design and is compatible with prototyping and project management. The particularly interesting feature of the book is the discussion of pitfalls, or bad design approaches. This discussion makes for good reading.
The bibliography is satisfactory and includes works by C.J. Date, DeMarco, Martin, Warnier, and Yourdon. Regrettably, the text includes no references to the bibliography. Each chapter contains numerous clear diagrams, a useful summary, and study questions. Key remarks and data design principles appear in boxes at the beginning of each chapter as well as within the text. The book includes a 37-page detailed glossary.
This book emphasizes practical techniques, and I recommend it to the database designer and practitioner. It should also be a great help to the advanced graduate student in information systems.