AUG 1, 2007 1:00am ET

Related Links

Visiting Nurse Service Cares About Cloud Security
October 25, 2011
Light at the End of the Silo
October 28, 2010
Pitney Bowes Releases Enhancements to MapInfo Professional
September 13, 2010

Web Seminars

Getting Started with Big Data
Available On Demand
Transactions & Interaction: The Correlation of Structured and Unstructured Data
Available On Demand
Deliver Better Enterprise Data through Better Reference Data Management
Available On Demand

Time and Time Again: Managing Time in Relational Databases, Part 8: Version Pattern 5

Print
Reprints
Email

Version Pattern 5 is the first pattern to manage objects with multiple episodes, a concept introduced in Part 4. To avoid taking on too much at once, however, Pattern 5 will not include bi-temporality. That will come with Pattern 6 which will be, consequently, a pattern supporting both multiple episode objects and bi-temporality.

Up to this point, the version patterns we have examined have incorporated the assumption that once an object is logically deleted, it will never recur. In Part 4, we called this the "single episode" assumption. Technically, this assumption means that a) there can be at most one logical delete version for an object; and b) that no other version for the same object can have an effectivity begin date later than the logical delete date.

Single Episode Objects

In the case of single episode versioning, it is reasonable to ask, "What kind of objects never recur?" For if there aren't any such objects, then the patterns considered thus far have no real world applicability.

The answer to this question depends on what we mean by "recur". So, at this point, we could embark on a general discussion of the concept of recurrence. That discussion would include an examination of the ontology of types vs. instances, and of enduring (persisting through time) objects vs. events (processes in and through which objects change over time).

The types vs. instances distinction is, in relational databases, the distinction between a table and its rows, or an entity and its attributes. In object-oriented theory, it is the distinction between object classes and their objects, and there the ontological question looms large, as the question of whether or not classes are "first-class objects". These questions are the current manifestation of what the medieval Scholastics (especially Ockham and Duns Scotus) knew as the realism / nominalism debate.

For realists, types really existed, just as truly as their instances did. Realists would have treated classes as themselves objects. For nominalists, instances were what really existed; a type was just a name given to the common features we observed across many different objects. Nominalists would not have treated classes as objects, able to exert influence on other objects, for example.

What about the second philosophical distinction, that between objects and events? Some proponents and followers of the Kimball methodology believe that everything of importance can be represented in dimensional data structures. From the perspective of the history of Philosophy, we would see that this position reflects a commitment to the ontological priority of events over objects. We would see that the approach to change which we have taken in this series of articles, which involves preserving both the before and after states of objects undergoing change, reflects a commitment to the ontological priority, or at least equivalence, of objects to events.

This, we believe, would be an important discussion. The history of Philosophy has much to tell us about problems which IT professionals and computer scientists alike are still struggling with. A discussion like this would illustrate how such business IT-specific issues as we have just mentioned are but the current manifestation of two ways of thinking about the world, whose roots go back at least to the pre-Socratic philosophers. Although object-orientation (in the sense of the ontological priority of "things" and "stuff") has dominated Western metaphysics for two-and-a-half millennia, there has been a strain of process-orientation (in the sense of the ontological priority of events and occasions). This latter strain originates, perhaps, in the reflections of Heraclitus, and his famous dictum "panta rei" - "all things change". It reached perhaps its fullest expression some eighty years ago, in the work Process and Reality, by Alfred North Whitehead.

Don't Know and Don't Care

The problem with the single-episode assumption is that things exist over time, and so always contain within themselves the possibility of recurrence - of appearing to us, going away, and then returning. So, by their very natures, objects are fraught with multi-episode possibilities.

The reason that version patterns incorporating the single-episode assumption may still have some real-world use, is that there are objects we may be interested in whose recurrence is not of interest to us. In other words, there may be objects which, when they do recur, we treat as new objects. Either we don't notice that they are the same objects we encountered before, or we do notice but don't care.

A simple example is a policy holder. Suppose that Joe Smith is a policy holder with our company from 2002 to 2004, at the end of which year he lets his policy lapse. A year later, Joe takes out another policy. If our company makes no effort to identify Joe as the same person who held a policy from 2002 to 2004, then when he returns, in 2006, Joe is effectively a new policy holder for us - not just a holder of a new policy, but a new holder of a policy.

Twenty years ago, to take another example, it was common for banks to manage "accounts". Some effort was made to identify cases in which one person held several accounts concurrently, but almost no effort was made to identify cases in which one person held several accounts successively.

So the answer to the question "What kind of objects are single-episode objects?" is clear. Single-episode objects are those whose recurrence we either don't know about, or don't care about.

But with Version Pattern 5, we begin to deal with multi-episode objects. These, then, are objects whose recurrence we do make an effort to identify and track.

Across industries that deal with people as customers, the same change has taken or is currently taking place. Insurance companies who managed a relationship with policy holders now want to manage a relationship with persons who are, or who may become, policy holders. Banks which used to manage the account relationship now want to manage the customer relationship. In some industries, companies are even striving to recognize the appearance and re-appearance of households.

Multi-Episode Objects

Filed under:

Advertisement

Twitter
Facebook
LinkedIn
Login  |  My Account  |  White Papers  |  Web Seminars  |  Events |  Newsletters |  eBooks
FOLLOW US
Please note you must now log in with your email address and password.