Database Design for Smarties: Using UML for Data Modeling

The excellency of every art is its intensity, capable of making all disagreeables evaporate, from their being in close relationship with beauty and truth.
John Keats, to T. and T. Keats, January 13, 1818
Over the last 20 years, the intense art of data modeling has grown and changed with the needs of designers, though not perhaps in beauty and truth. In today's database design world, the dominant method of modeling information is the entity-relationship (ER) diagram. While I am proposing to do away with this method, or at least to expand its capabilities greatly, you cannot design databases without a familiarity with the techniques of ER diagramming. If for no other reason, you'll need to explain yourself to those who have exposure only to ER techniques. The source of many of the techniques that the UML offers originate in ER modeling. Understand ER models, and you are more than halfway to understanding object models. In particular, this chapter introduces some of the really basic modeling concepts that you use in data modeling of whatever variety.
This chapter briefly surveys ER diagramming and data modeling without going into full detail on design methods. The following chapters go into great detail on modeling techniques using UML. Usually, the comparison to ER models is easy to make; the later chapters explicitly mention any great departures from things that ER models do. This chapter introduces you to the basic data modeling concepts through ER diagrams, and the following chapters then show you...