You are previewing UML and Data Modeling: A Reconciliation.
O'Reilly logo
UML and Data Modeling: A Reconciliation

Book Description

Here you will learn how to develop an attractive, easily readable, conceptual, business-oriented entity/relationship model, using a variation on the UML Class Model notation.

This book has two audiences:

  • Data modelers (both analysts and database designers) who are convinced that UML has nothing to do with them; and

  • UML experts who don't realize that architectural data modeling really is different from object modeling (and that the differences are important).

David Hay's objective is to finally bring these two groups together in peace.

Here all modelers will receive guidance on how to produce a high quality (that is, readable) entity/relationship model to describe the data architecture of an organization. The notation involved happens to be the one for class models in the Unified Modeling Language, even though UML was originally developed to support object-oriented design. Designers have a different view of the world from those who develop business-oriented conceptual data models, which means that to use UML for architectural modeling requires some adjustments. These adjustments are described in this book.

David Hay is the author of Enterprise Model Patterns: Describing the World, a comprehensive model of a generic enterprise. The diagrams were at various levels of abstraction, and they were all rendered in the slightly modified version of UML Class Diagrams presented here. This book is a handbook to describe how to build models such as these. By way of background, an appendix provides a history of the two groups, revealing the sources of their different attitudes towards the system development process.

If you are an old-school ER modeler and now find yourself having to come up to speed on UML to get that next job (or keep the current one), this is your guidebook to success. If you are a long time object oriented programmer who has to interact with data modelers, this book is for you too. David has done the hard work of mapping out how to do a logical entity relationship model using standard (and accepted) UML diagram components. This book shows you step-by-step, with ample examples, how to get from here to there with the least pain possible for all concerned.

Kent Graziano

Certified Data Vault Master and Oracle ACE

Past-President of ODTUG & RMOUG

Brilliantly organized: three books hidden in one cohesive work. Not withstanding the tremendous value provided by cross-training data architects/modelers and object modelers/architects, making each better at what they do, Appendix B presents an absolutely awesome concise, yet detailed, history of modeling objects and data that clearly documents the differences in the approaches over the years and helps bring it all into perspective. This book is packed with useful information. Even the footnotes add clarity and offer interesting and often humorous editorial insight making it a fun read. Whatever viewpoint the reader is coming from this book has something to offer as long as the reader maintains an open mind.

Roland Berg

Senior Architect

Diligent Consulting, Inc. San Antonio, Texas

Table of Contents

  1. The Structure of the Book
  2. Observations
  3. Introduction for Data Modelers
  4. Introduction for UML Modelers
  5. Combined Introduction
    1. Historical Threads
    2. Architectural Framework
      1. Views of the Business
      2. Views of Technology
      3. Business Owner’s View
      4. Architect’s View
      5. Designer’s View
  6. Summary
  7. Impedance Mismatch
  8. Architecture vs. Object-oriented Design
    1. Limiting Objects to Business Objects
    2. Behavior
    3. Relationships and Associations
    4. Entity/Relationship Predicates
    5. Specifying Role Names in UML
    6. A Fundamental Change to UML
    7. One Solution: Stereotypes
    8. Second Solution: Conversion
    9. Domains, Data Types, and Enumerations
    10. Namespaces
  9. Object Oriented Design vs. Relational Database Design
    1. Persistent Data
    2. Inheritance
    3. Security
  10. Summary
  11. Summary of the Approach
  12. 1. Show Domain-Specific Entity Cases Only
  13. 2. Use Symbols Selectively
    1. Use Appropriate Symbols
      1. Class (Entity Class)
      2. Attribute
      3. Association (Relationship)
      4. Cardinality
      5. Exclusive or (XOR) Constraint
    2. Use Some UML-specific Symbols with Care
      1. Entity Class Sup-types and Relationship Sub-types
      2. <<Enumeration>>
      3. Derived Attributes
      4. Package
    3. Add One Symbol
    4. Do Not Use Any Other Symbols
  14. 3. Define Domains
  15. 4. Understand “Namespaces”
  16. 5. Follow Display Conventions
    1. Name Formats
    2. Role Positions
    3. “Exclusive or” Relationship Constraint
    4. Cardinality Display
  17. Summary
  18. Introduction – Aesthetic Considerations
    1. Place Sub-types Inside Super-types
      1. Condensed Entity/Relationship Approach
      2. The UML (and that of some entity/relationship notations) Approach
      3. One Problem
      4. Solution
      5. Constraints
      6. Categories
    2. Eliminate Bent Lines
    3. Orient “Many” End of Relationships to Top and Left
    4. Presentation
  19. Summary
  20. Parties
  21. Party Relationships
  22. Party Identifiers and Names
    1. Constraints
  23. Summary
  24. Data Processing
    1. Early Programming Languages
    2. Object-oriented Programming Languages
    3. Structured Techniques
      1. Structured Programming
      2. Structured Design
  25. Data Architecture The descriptions of various data modeling techniques are taken from David C. Hay. 2003. Op cit. Pp. 34B-387. See Appendix A of that book for the complete comparison of the data modeling notations.
    1. Early Data Modeling
      1. CODASYL
      2. Dr. Edward Codd (1970)
      3. Early Relational Databases
      4. Three Schema Architecture (1972)
      5. Dr. Peter Chen (1976)
    2. Business Analysis
      1. Structured Analysis
      2. Business Process Reengineering
    3. Later Data Modeling
      1. Richard Barker and Harry Ellis (1980)
      2. IDEF1X
      3. Object-Role Modeling (ORM)
      4. About Discipline in Data Modeling
    4. Data Model Patterns
      1. David Hay (1995)
      2. Len Silverston, Kent Graziano, Bill Inmon (1997)
    5. Architecture Frameworks
      1. John Zachman (1979)
      2. David Hay (2003, 2006)
    6. Business Rules
      1. Ron Ross (1987)
      2. Business Rule Group (1995)
      3. Object Management Group (2008)
    7. Data Management
  26. Object-oriented Development
    1. Early Object Modeling
      1. Shlaer & Mellor (1988)
      2. Coad and Yourdon (1990)
      3. Rumbaugh, et. al. (1991)
      4. Embley/Kurtz/Woodfield (1992)
      5. Booch (1994)
    2. Object Patterns
      1. Design Patterns
      2. Martin Fowler – Analysis Patterns
    3. UML
  27. The Internet and the Semantic Web
    1. Computer Time-sharing
    2. ARPANET
    3. The Internet
    4. The World Wide Web
    5. The Semantic Web
  28. Summary – The “Reconciliation”