- Paperback: 416 pages
- Publisher: Addison-Wesley Professional (November 19, 2000)
- Language: English
- ISBN-10: 020170045X
- ISBN-13: 978-0201700459
- Product Dimensions: 7.2 x 0.9 x 9 inches
- Shipping Weight: 1.5 pounds (View shipping rates and policies)
- Average Customer Review: 3.4 out of 5 stars See all reviews (13 customer reviews)
- Amazon Best Sellers Rank: #1,450,485 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Mastering Data Modeling: A User-Driven Approach
Use the Amazon App to scan ISBNs and compare prices.
Customers who viewed this item also viewed
From the Inside Flap
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. How to Use This Book
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.
Introduction and justification. Chapters 1 and 2 define the data-modeling problem, introduce the LDS technique and notation, and describe good habits that any data modeler should exhibit. Chapters 22 and 24 justify in more technical detail some of the decisions we made when designing the LDS technique and notation.
Definitions. Chapter 4 defines the vocabulary you need to read everything that follows. Chapter 13 defines things more formally--articulating exactly what constitutes a syntactically correct LDS. Chapter 23 presents a formal definition of our Logical Data Structures in a format we especially like--as an LDS.
Reading an LDS. Chapter 3 describes how to translate an LDS into declarative sentences. The sentences are typically spoken to users to help them understand an in-progress LDS. Chapter 5 describes how to visualize and annotate sample data for an LDS.
Writing an LDS. Chapter 13 describes the syntax rules for writing an LDS. Chapter 14 describes the guidelines for naming the parts of an LDS. Chapter 15 describes some seldom-used names that are part of any LDS. Chapter 16 describes how to label parts of an LDS. (Labels and names differ.) Chapter 17 describes how to document an LDS.
LDS shapes and recipes. Chapter 7 introduces the concept of shapes and tells how your expertise with them can make you a master data modeler. Chapters 8 through 12 give an encyclopedic, exhaustive analysis of the shapes you will encounter as a data modeler. Chapter 26 describes some recipes--specific applications of the shapes to common problems encountered by software developers and database designers.
Process of LDS development. Chapters 6 and 21 give elaborate examples of the process of LDS development. Chapter 18 describes a step-by-step script, called The Flow, that you follow in your conversations with users. Chapters 19 and 20 describe steps you can take to improve an in-progress LDS at any time--steps that do not fit into the script in any particular place because they fit in every place. Considered as a whole, Chapters 18 through 20 describe the process of controlled evolution, the process by which you guide the users through a conversation that gradually improves the in-progress LDS. "Controlled" implies that the conversation is organized and methodical. "Evolution" implies that the conversation yields a continuously, gradually improving data model.
Implementation and technology issues. Chapter 22 describes in detail the forces that compel us to exclude constraints from the LDS notation. Many of these forces stem from implementation issues. Chapter 25 describes a technique for creating a relational schema from an LDS.
Critical assessment of the LDS technique and notation. Chapter 24 describes the decisions we made in designing the LDS technique and notation and
From the Back Cover
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.
You will learn about such vital topics as:
- The fundamental problems of data modeling
- The good habits that help a data modeler be effective and economical
- LDS notation, which encourages these good habits
- How to read an LDS aloud--in declarative English sentences
- How to write a well-formed (syntactically correct) LDS
- How to get users to name the parts of an LDS with words from their own business vocabulary
- How to visualize data for an LDS
- A catalog of LDS shapes that recur throughout all data models
- The Flow--the template for your conversations with users
- How to document an LDS for users, data modelers, and technologists
- How to map an LDS to a relational schema
- How LDS differs from other notations and why
"Story interludes" appear throughout the book, illustrating real-world successes of the LDS notation and controlled evolution process. Numerous exercises help you master critical skills. In addition, two detailed, annotated sample conversations with users show you the process of controlled evolution in action.
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
The content itself was OK, but it spent too much time going into detail on areas that were obvious, and then introduced new topics with a casual comment and then never explained those any further.
On a more practical note, the book was bound on the wrong side, with the cover upside down. You had to hold the book upside down, and then read from the back to the front. I would have had it replaced, however being required for a class I did not have the time to exchange it. On one occasion I actually had a teacher for small children comment on my holding the book upside down. On other occsions small children looked at me very strangely when I was reading.
Though the good is very good for modeling, $35 is somehow high for this book.
Another point is that is uses a diagram called LDS. This type of diagram is not well known. You'll suffer to find tools that draw this kind of diagrams and to find other professionals who use it.
This book is written in a quirky but very readable style, and I recommend it for both experienced data modelers who want to improve the quality and efficiency of their work, and for anyone who wants to start learning about data modeling.
Beginning data modelers will especially benefit from
1) the emphasis on logical data modeling and user communication,
2) the explanation of how to choose good names and identifiers, and
3) the examination of common patterns that appear in almost every data model, how to recognize them, and how to interpret them.
Experienced data modelers who have already grappled with those issues on past projects will gain further insight from the authors' coherent systemization of those topics, but should also appreciate and benefit from
1) the content-neutral process laid out for iteratively evolving a diagram through controlled interactions with users,
2) the investigation of the underlying principles and forces that shape a data model, with many illustrating examples drawn from real-world projects, and
3) the intellectually rigorous analysis of the notation and syntax used to represent a data model, and the semantic interpretation of each structure.
If I had to identify one set of people who would get the most out of this book, I would select software developers who learned data modeling on the job, or who are starting to learn it, and who would like a cohesive intellectual foundation for what they are doing. This book can help you go from being a "pretty good" data modeler who can handle modeling familiar data to being an expert data modeler with a strong theoretical basis for your work who can quickly develop high-quality data models regardless of your personal level of understanding of the underlying subject area.
Most Recent Customer Reviews
I've been using the techniques described in this book for years because one of the authors taught me.Read more