HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Data modeling is one of the most critical phases in the database application development process, but also the phase most likely to fail. A master data modeler must come into any organization, understand its data requirements, and skillfully model the data for applications that most effectively serve organizational needs.
Mastering Data Modeling is a complete guide to becoming a successful data modeler. Featuring a requirements-driven approach, this book clearly explains fundamental concepts, introduces a user-oriented data modeling notation, and describes a rigorous, step-by-step process for collecting, modeling, and documenting the kinds of data that users need.
Assuming no prior knowledge, Mastering Data Modeling sets forth several fundamental problems of data modeling, such as reconciling the software developer's demand for rigor with the users' equally valid need to speak their own (sometimes vague) natural language. In addition, it describes the good habits that help you respond to these fundamental problems. With these good habits in mind, the book describes the Logical Data Structure (LDS) notation and the process of controlled evolution by which you can create low-cost, user-approved data models that resist premature obsolescence. Also included is an encyclopedic analysis of all data shapes that you will encounter. Most notably, the book describes The Flow, a loosely scripted process by which you and the users gradually but continuously improve an LDS until it faithfully represents the information needs. Essential implementation and technology issues are also covered.
Foreword.
Preface.
1. Introduction.
2. Good Habits.
3. Reading an LDS with Sentences.
4. Vocabulary of LDS.
5. Visualizing Allowed and Disallowed Instances.
6. A Conversation with Users about Creatures and Skills.
7. Introduction to Mastering Shapes.
8. One-Entity, No-Relationship Shapes.
9. One-Attribute Shapes.
10. Two-Entity Shapes.
11. Shapes with More Than Two Entities.
12. Shapes with Reflexive Relationships.
13. LDS Syntax Rules.
14. Getting the Names Right.
15. Official Name.
16. Labeling Links.
17. Documenting an LDS.
18. Script for Controlled Evolution.
19. Local, Anytime Steps of Controlled Evolution.
20. Global, Anytime Steps of Controlled Evolution.
21. Conversations about Dairy Farming.
22. Constraints.
23. LDS for LDS.
24: Decisions: Designing a Data-Modeling Notation.
25. LDS and the Relational Model.
26: Cookbook: Recipes for Data Modelers.
Appendix: Exercises for Mastery.
Index.
This book teaches you the first step of creating software systems: learning about the information needs of a community of stran This book teaches you the first step of creating software systems: learning about the information needs of a community of strangers. This book is necessary because that step--known as data modeling--is prone to failure. This book presumes nothing; it starts from first principles and gradually introduces, justifies, and teaches a rigorous process and notation for collecting and expressing the information needs of a business or organization. This book is for anyone involved in the creation of information-management software. It is particularly useful to the designers of databases and applications driven by database management systems. In many regards, this book is different from other books about data modeling. First, because it starts from first principles, it encourages you to question what you might already know about data modeling and data-modeling notations. To best serve users, how should the process of data modeling work? To create good, economical software systems, what kind of information should be on a data model? To become an effective data modeler, what skills should you master before talking with users? Second, this book teaches you the process of data modeling. It doesnt just tell you what you should know; it tells you what to do. You learn fundamental skills, you integrate them into a process, you practice the process, and you become an expert at it. This means that you can become a "content-neutral modeler," moving gracefully among seemingly unrelated projects for seemingly unrelated clients. Because the process of modeling applies equally to all projects, your expertise becomes universally applicable. Being a master data modeler is like being a master statistician who can contribute to a wide array of unrelated endeavors: population studies, political polling, epidemiology, or baseball. Third, this book does not focus on technology. Instead, it maintains its focus on the process of discovering and articulating the users information needs, without concern for how those needs can or should be satisfied by any of the myriad technological options available. We do not completely ignore technology; we frequently mention it to remind you that during data modeling, you should ignore it. Users dont care about technology; they care about their information. The notation we use, Logical Data Structures (LDS), encourages you to focus on users needs. We think a data modeler should conceal technological details from users. But historically, many data modelers are database designers whose everyday working vocabulary is steeped in technology. When technologists talk with users, things can get awkward. In the worst case, users quit the conversation, or they get swept up in the technological details and neglect to paint a complete picture of their technology-independent information needs. Data modeling is not equivalent to database design. Another undesirable trend: historically, many organizations wrongly think that data modeling can be done only by long-time, richly experienced members of the organization who have reached the status of "unofficial archivist." This is not true. Modeling is a set of skills like computer programming. It can be done by anyone equipped with the skills. In fact, a skilled modeler who is initially unfamiliar with the organization but has access to users will produce a better model than a highly knowledgeable archivist who is unskilled at modeling. This book has great ambitions for you. To realize them, you cannot read it casually. Remember, were trying to foster skills in you rather than merely deliver knowledge to you. If you master these skills, you can eventually apply them instinctively. Study this book the way you would a calculus book or a cookbook. Practice the skills on real-life problems. Work in teams with your classmates or colleagues. Write notes to yourself in the margins. An ambitious book like this, well, we didnt just make it up. For starters, we are indebted to Michael Senko, a pioneer in database systems on whose work ours is based. Beyond him, many people deserve thanks. Most important are the many users we have worked with over the years, studying data: Gordon Decker; George Bluhm and others at the U. S. Soil Conservation Service; Peter OKelly and others at Lotus Development Corporation; John Hanna, Tim Dawson, and other employees and consultants at US WEST, Inc.; Jim Brown, Frank Carr, and others at Pacific Northwest National Laboratory; and Jane Goodall, Anne Pusey, Jen Williams, and the entire staff at the University of Minnesotas Center for Primate Studies. Not far behind are our students and colleagues. Among them are several deserving special thanks: Jim Albers, Dave Balaban, Leone Barnett, Doug Barry, Bruce Berra, Diane Beyer, Kelsey Bruso, Jake Chen, Paul Chapman, Jan Drake, Bob Elde, Apostolos Georgopolous, Carol Hartley, Jim Held, Chris Honda, David Jefferson, Verlyn Johnson, Roger King, Joe Konstan, Darryn Kozak, Scott Krieger, Heidi Kvinge, James A. Larson, Sal March, Brad Miller, Jerry Morton, Jose Pardo, Paul Pazandak, Doug Perrin, John Riedl, Maureen Riedl, George Romano, Sue Romano, Karen Ryan, Alex Safonov, Wallie Schmidt, Stephanie Sevcik, Libby Shoop, Tyler Sperry, Pat Starr, Fritz Van Evert, Paul Wagner, Bill Wasserman, George Wilcox, Frank Williams, Mike Young, and several thousand students who used early versions of our work. Thanks also go to Lilly Bridwell-Bowles of the Center for Interdisciplinary Studies of Writing at the University of Minnesota. Several people formally reviewed late drafts of this book and made helpful suggestions:Declan Brady, Paul Irvine Matthew C. Keranen, David Livingstone, and David McGoveran. And finally, thanks to the helpful and pat ent people at Addison-Wesley. Paul Becker, Mariann Kourafas, Mary T. O Brien, Ross Venables, Stacie Parillo, Jacquelyn Doucette, the copyeditor, Penny Hull, and the indexer, Ted Laux. To study this book rather than merely read it, you need to understand a bit about what kind of information it contains. The information falls into eight categories. To become a master data modeler, you must appreciate the interplay among four areas of expertise: LDS reading, LDS writing, LDS shapes, and controlled evolution. These four areas are equally important and interrelated. This book presents these four topics in a sensible order, but you cannot master any one of these areas without mastering the other three. Even if you study this book sequentially, when you get to controlled evolution (Chapters 18 through 20), you will find yourself referring to earlier chapters. Controlled evolution integrates virtually everything preceding Chapter 18. As you study that chapter, your incipient mastery of LDS reading, LDS writing, and shapes will be put to the test. Chapters 3 and 4 are prerequisites to everything that follows. Chapter 13 is a prerequisite to Chapters 14 through 20. As you work your way toward mastery, you should do the specific exercises at the end of chapters and the whole-skill mastery exercises in the Appendix. You might want to take a peek at Chapter 6 now to get a feel for how a master data modeler works with users. John CarlisHow to Use This Book
Reading Paths Through This Book
Joseph Maguire
September 2000
020170045XP04062001