Attendees are presented with several data modeling situations.
* First, for a very simple (relational) data model, state all the semantics which are implied by the diagram. This establishes a base of understanding.
* Next, given some stated semantics, attendees choose the correct model from a set of alternative model diagrams. The alternative choices are selected from the wrong answers provided by students in my Advanced Data Modeling course plus the correct answer. Some of their solutions look very plausible but are still wrong. Anyone having taken an introductory database course (a prerequisite for the advanced class) should be able to choose the correct answers. Surprisingly, even the most seasoned, practicing data modelers have trouble with some of these design challenges. There are multiple different problems. Each problem provides an opportunity to reinforce some basic principles of data modeling.
* Then we present some more difficult design situations to build on the basic principles. (Contribution records, Employees with a Proficiency rating on their Skills, Dogs doing tricks wearing different costumes, information about Employees working on Projects). You will be able to collaborate with your neighbors to come up with answers. If there is limited time, we have the group choose which problems to look at.
With each design challenge, we present alternative ways of thinking about the problem which can more readily lead to the correct model. Come prepared to be challenged and to deepen your knowledge of data modeling... but be forewarned -- you may sometimes feel bad about your wrong choices. My intent is not to discourage, but rather to enlighten, to sharpen your data modeling skills. You will take away some basic principles of data modeling which are often not emphasized or recognized, and alternative ways to approach a data modeling problem.