Data Modeling Essentials 3rd Ed.

Graeme C. Simsion, Graham C. Witt

Publisher: Morgan-Kaufmann, 2005, 532 pages

ISBN: 0-12-644551-6

Keywords: IT Architecture

Last modified: April 5, 2021, 3:52 p.m.

This book is generally considered to be one of the best practical guides to data modeling and is commonly praised for its clarity and usefulness. Although it is a practitioner's guide, it garnered healthy classroom adoptions in the US and Australia. For the 3rd ed the authors have added a substantial online component including UML versions of all the diagrams, extra examples, course notes, questions, and solutions.

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. Thorough coverage of the fundamentals and relevant theory.

  • Recognition and support for the creative side of the process.
  • Expanded coverage of applied data modeling includes new chapters on logical and physical database design.
  • New material describing a powerful technique for model verification.
  • Unique coverage of the practical and human aspects of modeling, such as working with business specialists, managing change, and resolving conflict.
  • Extensive online component including course notes and other teaching aids
  • Part I: The Basics
    • Chapter 1: What Is Data Modeling?
      1. Introduction
      2. A Data-Centered Perspective
      3. A Simple Example
      4. Design, Choice, and Creativity
      5. Why Is the Data Model Important?
        1. Leverage
        2. Conciseness
        3. Data Quality
        4. Summary
      6. What Makes a Good Data Model?
        1. Completeness
        2. NonRedundancy
        3. Enforcement of Business Rules
        4. Data Reusability
        5. Stability and Flexibility
        6. Elegance
        7. Communication
        8. Integration
        9. Conflicting Objectives
      7. Performance
      8. Database Design Stages and Deliverables
        1. Conceptual, Logical, and Physical Data Models
        2. The Three-Schema Architecture and Terminology
      9. Where Do Data Models Fit In?
        1. Process-Driven Approaches
        2. Data-Driven Approaches
        3. Parallel (Blended) Approaches
        4. Object-Oriented Approaches
        5. Prototyping Approaches
        6. Agile Methods
      10. Who Should Be Involved in Data Modeling?
      11. Is Data Modeling Still Relevant?
        1. Costs and Benefits of Data Modeling
        2. Data Modeling and Packaged Software
        3. Data Integration
        4. Data Warehouses
        5. Personal Computing and User-Developed Systems
        6. Data Modeling and XML
        7. Summary
      12. Alternative Approaches to Data Modeling
      13. Terminology
      14. Where to from Here? — An overview of Part I
      15. Summary
    • Chapter 2: Basics of Sound Structure
      1. Introduction
      2. An Informal Example of Normalization
      3. Relational Notation
      4. A More Complex Example
      5. Determining Columns
        1. One Fact per Column
        2. Hidden data
        3. Derivable Data
        4. Determining the Primary Key
      6. Repeating Groups and First Normal Form
        1. Limit on Maximum Number of Occurences
        2. Data Reusability and Program Complexity
        3. Recognizing Repeating Groups
        4. Removing Repeating Groups
        5. Determining the Primary Key of the New Table
        6. First Normal Form
      7. Second and Third Normal Form
        1. Problems with Tables in First Normal Form
        2. Eliminating Redundancy
        3. Determinants
        4. Third Normal Form
      8. Definitions and a Few Refinements
        1. Determinants and Functional Dependency
        2. Primary Keys
        3. Candidate Keys
        4. A More Formal Definition of Third Normal Form
        5. Foreign Keys
        6. Referential Integrity
        7. Update Anomalies
        8. Denormalization and Unnormalization
        9. Column and Table Names
      9. Choice, Creativity, and Normalization
      10. Terminology
      11. Summary
    • Chapter 3: The Entity-Relationship Approach
      1. Introduction
      2. A Diagrammatic Representation
        1. The Basic Symbols: Boxes and Arrows
        2. Diagrammatic Representation of Foreign Keys
        3. Interpreting the Diagram
        4. Optionality
        5. Verifying the Model
        6. Redundant Arrows
      3. The Top-Down Approach: Entity-Relationship Modeling
        1. Developing the Diagram Top Down
        2. Terminology
      4. Entity Classes
        1. Entity Diagramming Convention
        2. Entity Class Naming
        3. Entity Class Definitions
      5. Relationships
        1. Relationship Diagramming Conventions
        2. Many-to-Many Relationships
        3. One-to-One Relationships
        4. Self-Referencing Relationships
        5. Relationships Involving Three or More Entity Classes
        6. Transferability
        7. Dependent and Independent Entity Classes
        8. Relationship Names
      6. Attributes
        1. Attribute Identification and Definition
        2. Primary Keys and the Conceptual Model
      7. Myths and Folklore
        1. Entity Classes without Relationships
        2. Allowed Combinations of Cardinality and Optionality
      8. Creativity and E-R Modeling
      9. Summary
    • Chapter 4: Subtypes and Supertypes
      1. Introduction
      2. Different Levels of Generalization
      3. Rules versus Stability
      4. Using Subtypes and Supertypes
      5. Subtypes and Supertypes as Entity Classes
        1. Naming Subtypes
      6. Diagramming Conventions
        1. Boxes in Boxes
        2. UML Conventions
        3. Using Tools That Do Not Support Subtyping
      7. Definitions
      8. Attributes of Supertypes and Subtypes
      9. Nonoverlapping and Exhaustive
      10. Overlapping Subtypes and Roles
        1. Ignoring Real-World Overlaps
        2. Modeling Only the Supertype
        3. Modeling the Roles as Participation in Relationships
        4. Using Role Entity Classes and One-to-One Relationships
      11. Hierarchy of Subtypes
      12. Benefits of Using Subtypes and Supertypes
        1. Creativity
        2. Presentation: Level of Detail
        3. Communication
        4. Input to the Design of Views
        5. Classifying Common Patterns
        6. Divide and Conquer
      13. When Do We Stop Supertyping and Subtyping?
        1. Differences in Identifiers
        2. Different Attribute Groups
        3. Different Relationships
        4. Different Processes
        5. Migration from One Subtype to Another
        6. Communication
        7. Capturing Meaning and Rules
        8. A Pragmatic Approach
      14. Generalization of Relationships
        1. Generalizing Several One-to-Many Relationships to a Single Many-to-Many Relationship
        2. Generalizing Several One-to-Many Relationships to a Single One-to-Many Relationship
        3. Generalizing One-to-Many and Many-to-Many Relationships
      15. Theoretical Background
      16. Summary
    • Chapter 5: Attributes and Columns
      1. Introduction
      2. Attribute Definition
      3. Attribute Disaggregation: One Fact  per Attribute
        1. Simple Aggregation
        2. Conflated Codes
        3. Meaningful Ranges
        4. Inappropriate Generalization
      4. Types of Attributes
        1. DBMS Datatypes
        2. The Attribute Taxonomy in Detail
        3. Attribute Domains
        4. Column Datatype and Length Requirements
        5. Conversion Between External and Internal Representations
      5. Attribute Names
        1. Objectives of Standardizing Attribute Names
        2. Some Guidelines for Attribute Naming
      6. Attribute Generalization
        1. Options and Trade-Offs
        2. Attribute Generalization Resulting from Entity Generalization
        3. Attribute Generalization within Entity Classes
        4. "First Among Equals"
        5. Limits to Attribute Generalization
      7. Summary
    • Chapter 6: Primary Keys and Identity
      1. Basic Requirements and Trade-Offs
      2. Basic Technical Criteria
        1. Applicability
        2. Uniqueness
        3. Minimality
        4. Stability
      3. Surrogate Keys
        1. Performance and Programming Issues
        2. Matching Real-World Identifiers
        3. Should Surrogate Keys Be Visible?
        4. Subtypes and Surrogate Keys
      4. Structured Keys
        1. When to Use Structured Keys
        2. Programming and Structured Keys
        3. Performance Issues with Structured Keys
        4. Running Out of Numbers
      5. Multiple Candidate Keys
        1. Choosing a Primary Key
        2. Normalization Issues
      6. Guidelines for Choosing Keys
        1. Tables Implementing Independent Entity Classes
        2. Tables Implementing Dependent Entity Classes and Many-to-Many Relationships
      7. Partially-Null Keys
      8. Summary
    • Chapter 7: Extensions and Alternatives
      1. Introduction
      2. Extensions to the Basic E-R Approach
        1. Introduction
        2. Advanced Attribute Concepts
      3. The Chen E-R Approach
        1. The Basic Conventions
        2. Relationships with Attributes
        3. Relationships Involving Three or More Entity Classes
        4. Roles
        5. The Weak Entity Concept
        6. Chen Conventions in Practice
      4. Using UML Object Class Diagrams
        1. A Conceptual Data Model in UML
        2. Advantages of UML
      5. Object Role Modeling
      6. Summary
  • Part II: Putting It Together
    • Chapter 8: Organizing the Data Modeling Task
      1. Data Modeling in the Real World
      2. Key Issues in Project Organization
        1. Recognition of Data Modeling
        2. Clear Use of the Data Model
        3. Access to Users and Other Business Stakeholders
        4. Conceptual, Logical, and Physical Models
        5. Cross-Checking with the Process Model
        6. Appropriate Tools
      3. Roles and Responsibilities
      4. Partitioning Large Projects
      5. Maintaining the Model
        1. Examples of Complex Changes
        2. Managing Change in the Modeling Process
      6. Packaging It Up
      7. Summary
    • Chapter 9: The Business Requirements
      1. Purpose of the Requirements Phase
      2. The Business Case
      3. Interviews and Workshops
        1. Should You Model in Interviews and Workshops?
        2. Interviews with Senior Managers
        3. Interviews with Subject Matter Experts
        4. Facilitated Workshops
      4. Riding the Trucks
      5. Existing Systems and Reverse Engineering
      6. Process Models
      7. Object Class Hierarchies
        1. Classifying Object Classes
        2. A Typical Set of Top-Level Object Classes
        3. Developing an Object Hierarchy
        4. Potential Issues
        5. Advantages of the Object Class Hierarchy Technique
      8. Summary
    • Chapter 10: Conceptual Data Modeling
      1. Designing Real Models
      2. Learning from Designers in Other Disciplines
      3. Starting the Modeling
      4. Patterns and Generic Models
        1. Using Patterns
        2. Using a Generic Model
        3. Adapting Generic Models from Other Applications
        4. Developing a Generic Model
        5. When There Is Not a Generic Model
      5. Bottom-Up Modeling
      6. Top-Down Modeling
      7. When the Problem Is Too Complex
      8. Hierarchies, Networks, and Chains
        1. Hierarchies
        2. Networks (Many-to-Many Relationships)
        3. Chains (One-to-One Relationships)
      9. One-to-One Relationships
        1. Distinct Reaĺ-World Concepts
        2. Separating Attribute Groups
        3. Transferable One-to-One Relationships
        4. Self-Referencing One-to-One Relationships
        5. Support for Creativity
      10. Developing Entity Class Definitions
      11. Handling Exceptions
      12. The Right Attitude
        1. Being Aware
        2. Being Creative
        3. Analyzing or Designing
        4. Being Brave
        5. Being Understanding and Understood
      13. Evaluating the Model
      14. Direct Review of Data Model Diagrams
      15. Comparison with the Process Model
      16. Testing the Model with Sample Data
      17. Prototypes
      18. The Assertions Approach
        1. Naming Conventions
        2. Rules for Generating Assertions
      19. Summary
    • Chapter 11 Logical Database Design
      1. Introduction
      2. Overview of the Transformations Required
      3. Table Specification
        1. The Standard Transformation
        2. Exclusion of Entity Classes from the Database
        3. Classification of Entity Classes
        4. Many-to-Many Relationship Implementation
        5. Relationships Involving More Than Two Entity Classes
        6. Supertype/Subtype Implementation
      4. Basic Column Definition
        1. Attribute Implementation: The Standard Transformation
        2. Category Attribute Implementation
        3. Derivable Attributes
        4. Attributes of Relationships
        5. Complex Attributes
        6. Multivalued Attribute Implementation
        7. Additional Columns
        8. Column Datatypes
        9. Column Nullability
      5. Primary Key Specification
      6. Foreign Key Specification
        1. One-to-Many Relationship Implementation
        2. One-to-One Relationship Implementation
        3. Derivable Relationships
        4. Optional Relationships
        5. Overlapping Foreign Keys
        6. Split Foreign Keys
      7. Table and Column Names
      8. Logical Data Model Notations
      9. Summary
    • Chapter 12: Physical Database Design
      1. Introduction
      2. Inputs to Database Design
      3. Options Available to the Database Designer
      4. Design Decisions Which Do Not Affect Program Logic
        1. Indexes
        2. Data Storage
        3. Memory Usage
      5. Crafting Queries to Run Faster
        1. Locking
      6. Logical Schema Decisions
        1. Alternative Implementation of Relationships
        2. Table Splitting
        3. Table Merging
        4. Duplication
        5. Denormalization
        6. Ranges
        7. Hierarchies
        8. Integer Storage of Data and Times
        9. Additional Tables
      7. Views
        1. Views of Supertypes and Subtypes
        2. Inclusion of Derived Attributes in Views
        3. Denomalization and Views
        4. Views of Split and Merged Tables
      8. Summary
  • Part III: Advanced Topics
    • Chapter 13: Advanced Topics
      1. Introduction
      2. Introduction to the Higher Normal Forms
        1. Common Misconceptions
      3. Boyce-Codd Normal Form
        1. Example of Structure in 3NF but not in BCNF
        2. Definition of BCNF
        3. Enforcement of Rules versus BCNF
        4. A N ote on Domain Key Normal Form
      4. Fourth Normal Form (4NF) and Fifth Normal Form (5NF)
        1. Data in BCNF but not in 4NF
        2. Fifth Normal Form (5NF)
        3. Recognizing 4NF and 5NF Situations
        4. Checking for 4NF anf 5NF with the Business Specialist
      5. Beyond 5NF: Splitting Tables Based on Candidate Keys
      6. Other Normalization Issues
        1. Normalization and Redundancy
        2. Reference Tables Produced by Normalization
        3. Selecting the Primary Key after Removing Repeating Groups
        4. Sequence of Normalization and Cross-Tables Anomalies
      7. Advanced Normalization in Perspective
      8. Summary
    • Chapter 14: Modeling Business Rules
      1. Introduction
      2. Types of Business Rules
        1. Data Rules
        2. Process Rules
        3. What Rules are Relevant to the Data Modeler?
      3. Discovery and Verification of Business Rules
        1. Cardinality Rules
        2. Other Data Validation Rules
        3. Data Derivation Rules
      4. Documentation of Business Rules
        1. Documentation in an E-R Diagram
        2. Documenting Other Rules
        3. Use of Subtypes to Document Rules
      5. Implementing Business Rules
        1. Where to Implement Particular Rules
        2. Implementation Options: A Detailed Example
        3. Implementing Mandatory Relationships
        4. Referential Integrity
        5. Restricting an Attribute to a Discrete Set of Values
        6. Rules Involving Multiple Attributes
        7. Recording Data That Supports Rules
        8. Rules That May Be Broken
        9. Enforcement of Rules Through Primary Key Selection
      6. Rules on Recursive Relationships
        1. Types of Rules on Recursive Relationships
        2. Documenting Rules on Recursive Relationships
        3. Implementing Constraints on Recursive Relationships
        4. Analogous Rules in Many-to-Many Relationships
      7. Summary
    • Chapter 15: Time-Dependent Data
      1. The Problem
      2. When Do We Add the Time Dimension?
      3. Audit Trails and Snapshots
        1. The Basic Audit Trail Approach
        2. Handling Nonnumeric Data
        3. The Basic Snapshot Approach
      4. Sequences and Versions
      5. Handling Deletions
      6. Archiving
      7. Modeling Time-Dependent Relationships
        1. One-to-Many Relationships
        2. Many-to-Many Relationships
        3. Self-Referencing Relationships
      8. Data Tables
      9. Temporal Business Rules
      10. Changes to the Data Structure
      11. Putting It into Practice
      12. Summary
    • Chapter 16: Modeling for Data Warehouses and Data Marts
      1. Introduction
      2. Characteristics of Data Warehouses and Data Marts
        1. Data Integration: Working with Existing Databases
        2. Loads Rather Than Updates
        3. Less Predictable Database "Hits"
        4. Complex Queries — Simple Interface
        5. History
        6. Summarization
      3. Quality Criteria for Warehouse and Mart Models
        1. Completeness
        2. Nonredundancy
        3. Enforcement of Business Rules
        4. Data Reusability
        5. Stability and Flexibility
        6. Simplicity and Elegance
        7. Communication Effectiveness
        8. Performance
      4. The Basic Design Principle
      5. Modeling for the Data Warehouse
        1. An Initial Model
        2. Understanding Existing Data
        3. Determining Requirements
        4. Determining Sources and Dealing with Differences
        5. Shaping Data for Data Marts
      6. Modeling for the Data Mart
        1. The Basic Challenge
        2. Multidimensional Databases, Stars and Snowflakes
        3. Modeling Time-Dependent Data
      7. Summary
    • Chapter 17: Enterprise Data Models and Data Management
      1. Introduction
      2. Data Management
        1. Problems of Data Mismanagement
        2. Managing Data as a Shared Resource
        3. The Evolution of Data Management
      3. Classification of Existing Data
      4. A Target for Planning
      5. A Context for Specifying New Databases
        1. Determining Scope and Interfaces
        2. Incorporating the Enterprise Data Model in the Development Life Cycle
      6. Guidance for Database Design
      7. Input to Business Planning
      8. Specification of an Enterprise Database
      9. Characteristics of Enterprise Data Models
      10. Developing an Enterprise Data Model
        1. The Development Cycle
        2. Partitioning the Task
        3. Inputs to the Task
        4. Expertise Requirements
        5. External Standards
      11. Choice, Creativity, and Enterprise Data Models
      12. Summary

Reviews

Data Modeling Essentials

Reviewed by Roland Buresund

Good ******* (7 out of 10)

Last modified: Oct. 11, 2008, 4:46 p.m.

First of all, this is NOT the first book on the subject of being a DBA! This is a very comprehensive take on the subject of data modeling (even if there is a try to give the reader a grounding in the bare pre-requisites in the beginning of the book). With that in mind, this is in my opinion a good (nearly very good, but I'm not a sufficient expert in this area to make that judgement) book on the subject matter.

Of course, you have to be interested, as the writing is pretty dry.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required