Re: Principle of Orthogonal Design(B

From: JOG(B <jog_at_cs.nott.ac.uk>
Date: Thu, 7 Feb 2008 13:56:06 -0800 (PST)
Message-ID: <de3ccf96-1945-497b-8335-a5c9266f5d78_at_s37g2000prg.googlegroups.com>


On Feb 7, 7:45 pm, "Brian Selzer" <br..._at_selzer-software.com> wrote:
> "JOG" <j..._at_cs.nott.ac.uk> wrote in message
>
> news:8c3135a5-8ef7-4da7-a99e-09d5cc83466a_at_d70g2000hsb.googlegroups.com...
>
>
>
> > On Feb 7, 1:54 pm, "Brian Selzer" <br..._at_selzer-software.com> wrote:
> >> "JOG" <j..._at_cs.nott.ac.uk> wrote in message
>
> >>news:c8bd75c2-5a4b-4456-8646-4ed912cc578b_at_i29g2000prf.googlegroups.com...
>
> >> > On Feb 7, 11:21 am, "Brian Selzer" <br..._at_selzer-software.com> wrote:
> >> >> [snip]
> >> >> A join is not a constraint, is it?
>
> >> > Now that's a very interesting question. Let me be polemic and say I
> >> > think it is.
>
> >> Interesting indeed. So, for example, the join of relations
>
> >> P {A, B, C} and
> >> Q{D, E, F, G}
>
> >> yields a relation with the heading,
>
> >> {A, B, C, D, E, F, G}.
>
> >> Can you explain what is constrained by P JOIN Q?
>
> > The resulting set of tuples
>
> That it is the result that is constrained is significant here. I perceive a
> distinct difference between a constraint which limits what /can be/ and a
> query which determines whether something /is/. Just because something /can
> be/ doesn't mean that it /is/ in the same way that just because something
> /isn't/ doesn't mean that it /can't be/. Whether something /can be/ is most
> easily expressed using a universally quantified sentence, whereas whether
> something /is/ is most easily expressed using an existentially quantitifed
> sentence. (Most easily for me, at least, with positive predicates.)

I'm not sure that's the clearest way of putting it, but I broadly agree - so much for being polemic. For me the important part is that a constraint is a universally quantified statement concerning possible relation values.

>
> > lets call it R is. So again, your example
> > in set builder notation:
> > R = { {A:a,...,G:g) | (A:a,B:b,C:c) $B":(B P $B"J(B (D:d,E:e,F:f,G:g) $B":(B Q }
>
> > Here we're constraining a possibly infinite set of tuples, just as if
> > we were constraining a set of numbers, S, to come from the naturals
> > and to be less than ten we'd have:
> > S = { x | x $B":(B P $B"J(B x < 10 }
>
> > Course, I guess the perspective I'm throwing about above wouldn't make
> > any sense to proponents of there being a separate "header" entity,
> > which I think is D&D's line (as opposed to Pascal's say). Any thoughts?
Received on Thu Feb 07 2008 - 22:56:06 CET

Original text of this message