1st Edition

Patterns of Data Modeling

By Michael Blaha Copyright 2010
    266 Pages 289 B/W Illustrations
    by CRC Press

    266 Pages
    by CRC Press

    Best-selling author and database expert with more than 25 years of experience modeling application and enterprise data, Dr. Michael Blaha provides tried and tested data model patterns, to help readers avoid common modeling mistakes and unnecessary frustration on their way to building effective data models. Unlike the typical methodology book, Patterns of Data Modeling provides advanced techniques for those who have mastered the basics.

    Recognizing that database representation sets the path for software, determines its flexibility, affects its quality, and influences whether it succeeds or fails, the text focuses on databases rather than programming. It is one of the first books to apply the popular patterns perspective to database systems and data models. It offers practical advice on the core aspects of applications and provides authoritative coverage of mathematical templates, antipatterns, archetypes, identity, canonical models, and relational database design.

    Introduction
    What Is a Model?
    Modeling Notation
    What Is a Pattern?
    Why are Patterns Important?
    Drawbacks of Patterns
    Pattern vs. Seed Model
    Aspects of Pattern Technology

    MATHEMATICAL TEMPLATES

    Tree Template
    Hardcoded Tree Template
    Simple Tree Template
    Structured Tree Template
    Overlapping Trees Template
    Tree Changing Over Time Template
    Degenerate Node and Edge Template

    Directed Graph Template
    Simple Directed Graph Template
    Structured Directed Graph Template
    Node and Edge Directed Graph Template
    Connection Directed Graph Template
    Simple DG Changing Over Time Template
    Node and Edge DG Changing Over Time Template

    Undirected Graph Template
    Node and Edge Undirected Graph Template
    Connection Undirected Graph Template
    Undirected Graph Changing Over Time Template

    Item Description Template
    Item Description Template
    Homomorphism Template

    Star Schema Template
    Star Schema Template

    Summary of Templates

    ANTIPATTERNS

    Universal Antipatterns
    Symmetric Relationship Antipattern
    Dead Elements Antipattern
    Disguised Fields Antipattern
    Artificial Hardcoded Levels Antipattern
    Excessive Generalization Antipattern
    Disconnected Entity Types Antipattern
    Modeling Errors Antipattern
    Multiple Inheritance Antipattern
    Paradigm Degradation Antipattern

    Non-Data-Warehouse Antipatterns

    Derived Data Antipattern
    Parallel Attributes Antipattern
    Parallel Relationships Antipattern
    Combined Entity Types Antipattern

    ARCHETYPES

    Archetypes
    Account
    Actor
    Address
    Asset
    Contract
    Course
    Customer
    Document
    Event
    Flight
    Item
    Location
    Opportunity
    Part
    Payment
    Position
    Product
    Role
    Transaction
    Vendor

    IDENTITY

    Identity
    Intrinsic Identity
    Names
    Surrogate Identity
    Structured Fields
    Master Applications
    Merging Data

    CANONICAL MODELS

    Language Translation
    Alternative Architectures
    Attribute Translation in Place
    Phrase-to-Phrase Translation
    Language-Neutral Translation

    Softcoded Values
    UML Model
    IDEF1X Model
    Architecture
    Softcoding Variations

    Generic Diagrams
    Generic Diagram Examples
    Diagram Subject Area
    Model Subject Area
    Model–Diagram Binding Subject Area
    Diagram Type Subject Area
    Diagram Example, Revisited

    State Diagrams
    State Diagrams
    Scenarios

    RELATIONAL DATABASE DESIGN

    Relational Database Design
    Mapping: Entity Types
    Mapping: Non-Qualified Relationships
    Mapping Qualified Relationships
    Mapping: Generalizations
    Design Identity
    Referential Integrity
    Miscellaneous Database Constraints
    Indexes
    Generating SQL Code

    APPENDICES

    Explanation of the UML Notation
    Entity Type
    Relationships
    Generalization

    Explanation of the IDEF1X Notation
    Entity Type
    Relationships
    Generalization

    Glossary
    Index

    All chapters conclude with a chapter summary; most include bibliographic notes & references

    Biography

    Serving as program  and conference chair at the Working Conference on Reverse Engineering, Dr. Michael Blaha has authored six U.S. patents, four widely used books, and many papers while giving lectures throughout the world. Since 1994 Dr. Blaha has been a consultant and trainer in conceiving, architecting, modeling, designing, and tuning databases. He has worked with dozens of organizations throughout the world.  He received his doctorate from Washington University in St. Louis and is an alumnus of GE Global Research in Schenectady, NY.

    Patterns of Data Modeling should be on the shelf of every database, software, and systems architect. The book captures decades of experience, presenting distilled knowledge in a concise and easy-to-understand format. The breadth of coverage is enormous, ranging from basic data structures through star schema, archetypes for representing commonly found concepts, and canonical models for tough problems.
    —Paul C. Brown, Principal Software Architect, TIBCO Software Inc.

    Mike Blaha has written a clear book with precise definitions and excellent examples. All examples are presented in a graphical form that is easy to read and understand. Blaha assumes the reader has a basic understanding of data modeling, but gives his examples in such a way that if the reader needs some review, it is built in.
    —Toby Teorey, author of Database Modeling and Design, Fourth Edition

    Also endorsed by the Sparx Systems Enterprise Architect Community