Today's data modeling tools, DBMSs, textbooks, and even DAMA's DMBOK focus almost exclusively on relational data modeling. Many consider relational the best, if not the only approach. The practice of data modeling needs to recognize the limitations of ER and Relational modeling, even if we must ultimately implement using Relational-based tools (or even NoSQL tools). We need a "new" approach to data modeling.
In fact modeling (and variants such as ORM), we start with fact statements in the dialogue with business users. The nouns represent objects and the verb phrases or predicates represent relationships. It does not begin with tables to contain information about the major entities. Both entities and attributes are considered objects first (No, this is not object modeling!). Objects become attributes only after there is a relationship with an entity. Furthermore, we only know how to put them into tables after we know the multiplicity characteristics of the relationships. Each entity/object type is represented only once in the model, and all types of relationships are represented the same way (whether within or between tables).
Following the step-by-step process presented in this workshop, you can produce a data model with all the information needed to correctly put attributes into entity tables. It also enables the definition of much richer integrity constraints leading to higher quality data. Learn how to generate tables by applying two simple transformation rules. But wait, you are not left with a paper and pencil solution - data modeling tools exist to support this modeling process and generate the relational tables automatically, guaranteed to be fully normalized.
In this tutorial, attendees will:
Learn the basics of fact modeling and how it contrasts with the traditional ER/Relational approach to data modeling.
Apply it in some small design problems and discover how much easier it is to arrive at a better final data model.
See a demonstration of this process using an open source data modeling tool.