Hans Hultgren came up with a great name, Ensemble Modeling, for a family of modeling technologies that all embrace the decomposition of an entity into its constituents. Exactly how this separation is made depends on the flavor you are working with, but common to all of them is that you make assumptions on which parts are mutable and which are immutable. The least restrictive is Anchor Modeling, in which you only assume that the identity of an entity is immutable, represented by a surrogate key in a database implementation. Natural keys are mutable in Anchor Modeling. The techniques also differ in terms of grouping and how constraints are maintained. In Anchor Modeling there is no grouping, and constraints are put in place that ensure temporal entity integrity and temporal referential integrity in the database, even for concurrent-temporal models.
At the recent conference in the Netherlands we discussed such differences with Hans in one of the sessions, and the two debaters Hans and Lars were kind enough to put together a short paper on what was said and things they did not have time to say. It is available through Hans’ blog, by clicking here. Hans also made a recent blog post in which he further discusses Ensemble Modeling styles, available by clicking here. Both are useful reading for anyone interested in the commonalities and differences between these techniques.
As more techniques will fall into this category of modeling, we believe that it is good to have a name for the family, similar to how star and snowflake fit under dimensional modeling.