Re: Principle of Orthogonal Design

From: Marshall <marshall.spight_at_gmail.com>
Date: Thu, 7 Feb 2008 16:25:01 -0800 (PST)
Message-ID: <93c75542-d7d9-4e01-9b85-e91abedfa3f6_at_k39g2000hsf.googlegroups.com>


On Feb 7, 2:08 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
> On Feb 7, 6:38 pm, Marshall <marshall.spi..._at_gmail.com> wrote:
>
> > Brass tacks:
>
> > X(x) -- the domain
> > R(a, b) -- the relation
>
> > X & (x=a) & (x=b) => R
>
> > X is a relation with one attribute, x.
> > R is a relation with attributes a and b, taken from
> > the members of X
>
> > The phrase "(x=a)" denotes the infinite relation of attributes
> > a and x where a = x. In set builder notation:
>
> > {(x, a) | x in X and x = a}
>
> > "&" is natural join. So
>
> > X & (x=a)
>
> > joins X with (x=a), creating a new relation with attributes x and a.
>
> How does that differ from {(x, a) | x in X and x = a} which you
> already defined (x=a) as?

In terms of the resulting relational value, they are the same. However we've gotten there with purely algebraic means. This by itself is enough of a reason for some. :-) I will also point out that the notation is more economical, and that set comprehension is a potential source of problems.

> > X & (x=a) & (x=b)
>
> > does the same thing, so now we have
>
> > {(x, a, b) | x in X and x = a and x = b}
>
> Would this not be simply (x=a) & (x=b)?

Well, not if we wanted to limit ourselves to X as the domain. If we didn't want to so limit ourselves, we could just write "a=b".

> > "=>" is the generalized subset operator. It takes two relation
> > operands, and evaluates to true if the left operand has a
> > superset of the attributes, and a subset of the elements
> > of the right operand.
>
> > The thing on the left has attributes {x, a, b} so it clearly
> > has a superset of the attributes of R. Its projection over
> > {a, b} is {(a, b) | a in X and a = b} which is exactly the
> > reflexive criteria for X, cast in the attribute names of
> > R. So has all such elements in it, R is reflexive.
>
> > Did that make any sense?
>
> pretty much, although I do find the notation touch unpalatable. Where
> does it originate from?

I think it's all original with me, although the specific choice of operators is heavily influenced by Vadim's work. (That may even be understating it.)

Marshall Received on Fri Feb 08 2008 - 01:25:01 CET

Original text of this message