Data Modeling Essentials


  • Graeme Simsion, Senior Fellow, University of Melbourne, Australia
  • Graeme Simsion, Senior Fellow, University of Melbourne, Australia
  • Graham Witt, Independent Consultant, Sydney, Australia

Data Modeling Essentials, Third Edition provides expert tutelage for data modelers, business analysts and systems designers at all levels. Beginning with the basics, this book provides a thorough grounding in theory before guiding the reader through the various stages of applied data modeling and database design. Later chapters address advanced subjects, including business rules, data warehousing, enterprise-wide modeling and data management.The third edition of this popular book retains its distinctive hallmarks of readability and usefulness, but has been given significantly expanded coverage and reorganized for greater reader comprehension. Authored by two leaders in the field, Data Modeling Essentials, Third Edition is the ideal reference for professionals and students looking for a real-world perspective.
View full description


data modelers, data architects, database designers, DBAs, systems analysts; undergraduate and graduate-level students


Book information

  • Published: November 2004
  • ISBN: 978-0-12-644551-0


"The perfect balance of theory and practice, giving the reader both the foundation and the tools to deliver high-quality data models." -Karen Lopez, Principal, InfoAdvisors, Inc. "The complete guide to data modeling for the reflective practitioner. Students like this book and so do I -- it is clear and accessible without sacrificing rigor." -Professor Graeme Shanks, School of Business Systems, Monash University, Australia "A unique, practical and comprehensive guide, providing an invaluable resource to anyone involved in data modeling from the novice to the expert data modeler." -Len Silverston, author of The Data Model Resource Book, Volumes 1 and 2. "Includes an extraordinary amount of good, useful, and well articulated information about the field." -David Hay, President, Essential Strategies, Inc. and author of Data Model Patterns "Data Modeling Essentials is a fresh look at an old topic...much more accesible and refreshing in its tone and attitude. Simsion's explanations are very clear and his examples easy to follow...This book is useful for both beginners and experienced data modelers who want a new innovative approach to the important task of documenting data requirements." - The Bridge --Barbara A. Carkenord "The book is extremely well-written. It is humorous at times, full of useful anecdotes, and follows a very logical sequence...In summary, I found Data Modeling Essentials, Third Edition, very useful for data modelers at any level of experience." - DM Review

Table of Contents

ContentsPrefaceChapter 1 - What Is Data Modeling?1.1 Introduction1.2 A Data-Centered Perspective1.3 A Simple Example1.4 Design, Choice, and Creativity1.5 Why Is the Data Model Important?1.6 What Makes a Good Data Model?1.7 Performance1.8 Database Design Stages and Deliverables1.9 Where Do Data Models Fit In?1.10 Who Should Be Involved in Data Modeling?1.11 Is Data Modeling Still Relevant?1.12 Alternative Approaches to Data Modeling1.13 Terminology1.14 Where to from Here?—An Overview of Part 11.15 SummaryChapter 2 - Basics of Sound Structure2.1 Introduction2.2 An Informal Example of Normalization2.3 Relational Notation2.4 A More Complex Example2.5 Determining Columns2.6 Repeating Groups and First Normal Form2.7 Second and Third Normal Forms2.8 Definitions and a Few Refinements2.9 Choice, Creativity, and Normalization2.10 Terminology 602.11 Summary 61Chapter 3 - The Entity-Relationship Approach3.1 Introduction3.2 A Diagrammatic Representation3.3 The Top-Down Approach: Entity-Relationship Modeling3.4 Entity Classes3.5 Relationships3.6 Attributes3.7 Myths and Folklore3.8 Creativity and E-R Modeling3.9 SummaryChapter 4 - Subtypes and Supertypes4.1 Introduction4.2 Different Levels of Generalization4.3 Rules Versus Stability4.4 Using Subtypes and Supertypes4.5 Subtypes and Supertypes as Entity Classes4.6 Diagramming Conventions4.7 Definitions4.8 Attributes of Supertypes and Subtypes4.9 Non-Overlapping and Exhaustive4.10 Overlapping Subtypes and Roles4.11 Hierarchy of Subtypes4.12 Benefits of Using Subtypes and Supertypes4.13 When Do We Stop Supertyping and Subtyping?4.14 Generalization of Relationships4.15 Theoretical Background4.16 SummaryChapter 5 - Attributes and Columns5.1 Introduction5.2 Attribute Definition5.3 Attribute Disaggregation: One Fact Per Attribute5.4 Types of Attributes5.5 Attribute Names5.6 Attribute Generalization5.7 SummaryChapter 6 - Primary Keys and Identity6.1 Basic Requirements and Trade-Offs6.2 Basic Technical Criteria6.3 Surrogate Keys6.4 Structured Keys6.5 Multiple Candidate Keys6.6 Guidelines for Choosing Keys6.7 Partially-Null Keys6.8 SummaryChapter 7 - Extensions & Alternatives7.1 Introduction7.2 Extensions to the Basic E-R Approach7.3 The Chen E-R Approach7.4 Using UML Object Class Diagrams7.5 SummaryChapter 8 - Organizing the Data Modeling Task8.1 Data Modeling in the Real World8.2 Key Issues in Project Organization8.3 Roles and Responsibilities8.4 Partitioning Large Projects8.5 Maintaining the Model8.6 Packaging It Up8.7 SummaryChapter 9 - The Business Requirements9.1 Purpose of the Requirements Phase9.2 The Business Case9.3 Interviews and Workshops9.4 Riding the Trucks9.5 Existing Systems and Reverse Engineering9.6 Process Models9.7 Object Class Hierarchies9.8 SummaryChapter 10 - Conceptual Data Modeling10.1 Designing Real Models10.2 Learning from Designers in Other Disciplines10.3 Starting the Modeling10.4 Patterns and Generic Models10.5 Bottom-Up Modeling10.6 Top-Down Modeling10.7 When the Problem is Too Complex10.8 Hierarchies, Networks, and Chains10.9 One-to-One Relationships10.10 Developing Entity Class Definitions10.11 Handling Exceptions10.12 The Right Attitude10.13 Evaluating the Model10.14 Direct Review of Data Model Diagrams10.15 Comparison with the Process Model10.16 Testing the Model with Sample Data10.17 Prototypes10.18 The Assertions Approach10.19 SummaryChapter 11 - Logical Database Design11.1 Introduction11.2 Overview of the Transformations Required11.3 Table Specification11.4 Basic Column Definition11.5 Primary Key Specification11.6 Foreign Key Specification11.7 Table and Column Names11.8 Logical Data Model Notations11.9 SummaryChapter 12 - Physical Database Design12.1 Introduction12.2 Inputs to Database Design12.3 Options Available to the Database Designer12.4 Design Decisions Which Do Not Affect Program Logic12.5 Crafting Queries to Run Faster12.6 Logical Schema Decisions12.7 Views12.8 SummaryChapter 13 - Advanced Normalization13.1 Introduction13.2 Introduction to the Higher Normal Forms13.3 Boyce-Codd Normal Form13.4 Fourth Normal Form (4NF) and Fifth Normal Form (5NF)13.5 Beyond 5NF: Splitting Tables Based on Candidate Keys13.6 Other Normalization Issues13.7 Advanced Normalization in Perspective13.8 SummaryChapter 14 - Modeling Business Rules14.1 Introduction14.2 Types of Business Rules14.3 Discovery and Verification of Business Rules14.4 Documentation of Business Rules14.5 Implementing Business Rules14.6 Rules on Recursive Relationships14.7 SummaryChapter 15 - Time-Dependent Data15.1 The Problem15.2 When Do We Add the Time Dimension?15.3 Audit Trails and Snapshots15.4 Sequences and Versions15.5 Handling Deletions15.6 Archiving15.7 Modeling Time-Dependent Relationships15.8 Date Tables15.9 Temporal Business Rules15.10 Changes to the Data Structure15.11 Putting it into Practice15.12 SummaryChapter 16 - Modeling for Data Warehouses and Data Marts16.1 Introduction16.2 Characteristics of Data Warehouses and Data Marts16.3 Quality Criteria for Warehouse and Mart Models16.4 The Basic Design Principle16.5 Modeling for the Data Warehouse16.6 Modeling for the Data Mart16.7 SummaryChapter 17 - Enterprise Data Models and Data Management17.1 Introduction17.2 Data Management17.3 Classification of Existing Data17.4 A Target for Planning17.5 A Context for Specifying New Databases17.6 Guidance for Database Design17.7 Input to Business Planning17.8 Specification of an Enterprise Database17.9 Characteristics of Enterprise Data Models17.10 Developing an Enterprise Data Model17.11 Choice, Creativity, and Enterprise Data Models17.12 SummaryFurther Reading