My work on bitemporal data model

There are several blog post which are really overdue, which I should have posted weeks, if not months earlier. I am going to start in a chronological order, although my most recent news are probably more exciting.

Nevertheless. Back in February my work on implementation of bi-temporal model got stalled. I’ve stumbled on implementation of bi-temporal referential integrity. First I didn’t think it will be a big deal – it seemed very natural, you know exactly what you need to check – that this value is present in this table for this effective period and this asserted period. But when you try to implement it, it becomes way more… interesting, because it does not have to be exactly the same period, there may be multiple periods which being concatenated will include the period we are interested…. and it’s not that easy to check.

My work stopped for over a month, including my sabbatical, and after I came back I was able to give it more thoughts, and realized that giving the set  of bi-temporal operations we’ve already defined, the real task is way more simple. I was able to proof, that it’s enough to validate the bi-temporal referential integrity on insert, and then all other cases are covered.

What I have now is the function which generates the check function for any new bitemporal integrity constraint, and I need to write the generation of triggers and other related things. Granted, for the past two weeks I have no time to address this problem, because life got on my way, but I am positive that as soon as I will be able to allocated more time to this problem, it will be completed.

Advertisements

Leave a comment

Filed under research, SQL

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s