Re: Relational Lattice, what is it good for?

From: Marshall Spight <marshall.spight_at_gmail.com>
Date: 15 Feb 2006 20:25:34 -0800
Message-ID: <1140063934.411848.250540_at_f14g2000cwb.googlegroups.com>


Argh! This thread will clearly demand an hour or two a day from me for at least a few days. But I'm still catching up from my last busy-period; I am reviewing a book for someone and after that I have another book review, that I will probably just have to give up on. Meanwhile I can do tiny amounts of usenet posting, since I have a laptop with wireless that I can use while I'm supervising toddler's baths. Not the best environment for this sort of deep discussion.

I hope to post something on how I came up with the distributivity guidelines when I'm done with the book review. I have a lot of other stuff I want to discuss as well.

In the short term I just want to address one point.

paul c wrote:
>
> 1) Marshall said in one of his notes: "Then join and union are
> distributive over each other iff (ab) and (ac) are empty." Later,
> 'Mikito' said it differently (I think): "(a join c) union (b join c)
> union (a join b) == b union c ==> A union (B join C) == (A union B) join
> (A union C)".

Unfortunately Mikito and I have been using different syntax, and sometimes I have managed to confuse myself quite a bit because of that, so I'm not surprised it confuses others.

In the above quote, "(ab)" and "(ac)" represent the set of attributes in common between relations A and B, or A and C, respectively. This necessarily *excludes* attributes from C and B, respectively.

("ab" is a single token, not "a" and "b" together. I share with most programmers a distaste for the mathematical trend towards pushing symbols together with juxtaposition; I want an explicit operator most of the time.)

> Did you mean "if" instead of "iff" Marshall? If you did, then wouldn't
> the distribution also hold when a,b and c have only common attributes
> (ie., the case in many conventional implementations)?

I did mean "iff". But again, "(ac)" means those attributes in A and in C and NOT in B. So if A, B, and C have *only* common attributes, then (ab) and (ac), and further (bc), will be emtpy, so we should expect distributivity to hold.

> 2) I'm curious what were the "view updates" Mikito had in mind, were
> they ones that are evident in products and elsewhere to be logically
> impossible, such as insert through union, or was the intent merely to
> make a simpler engine?

The simpler engine will be quite nice, but my expectation is that the Tropashko algebra will be the key to unlocking the full power of view updating, and that's why it's An Important Discovery.

Marshall Received on Thu Feb 16 2006 - 05:25:34 CET

Original text of this message