Re: On view updating

From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Sat, 25 Sep 2004 11:19:48 +0200
Message-ID: <41553835$0$559$e4fe514c_at_news.xs4all.nl>


Alfredo Novoa wrote:
[snip reference/pointer stuff]
> mAsterdam wrote:

>>Both that deceptively simple looking overloading of the 
>>'type'-concept, and (D&D's) in some ways similar attempts
>>to reduce 'object' to 'type' lead to many vocabulary based,
>>camp generating non-problems.

>
> I don't understand this.

I'll try to restate.

There are concepts you are going to need when doing something with data. Your needs differ, depending on what exactly it is you are doing. Groups of people dealing with same and similar problems develop their own specialized vocabulary (jargon) to discuss them within the group; they slightly modify meanings of words - sometimes conciously, but many times the subtleties are so evident to the specialists, that it happens on a subconcious level. No problem within the group.

These different jargons add to the misunderstandings which tend to arise when members of different groups participate in one discussion. The habit of stubbornly sticking to the groups own labeling scheme of things adds to the segregation.

Delving into the nature of the jargonclashes: they are due to thinking that we are discussing the same things, when in fact we are not, or, the other way around: thinking we are discussing different things because we use different words to denote the same thing. These problems are not in how we perceive the subjectmatter, but just in our different labeling of it.

The consequence is that many lengthy misunderstandings can be avoided by immediately giving a clear definition of some crucial terms whenever used in a discussion which goes beyond one of those groups. Define it for the discussion at hand.
My hope is that new, more broadly used definitions
will arise.

So far so good, I guess.

My statement asserts several things in one go, but most importantly: that 'type' is one of the words that has its meaning bend and twisted (jargonised) subtly differently in different groups. I call it a non-problem, because I suspect the jargon differences cover up some real, perception of subjectmatter related (instead of just the labeling), interesting problems.

Restated:
Overloading the concept of 'type' masks
problems instead of unveiling them.

>>>Non sequitur. Of course views are not a syntactic shorthand. 
>>
>>What if they are syntactic shorthands - as long as it is clearly 
>>defined what they are shorthands for, I don't see a problem?

>
>
> They are intended to be shorthands for expressions, but they are not
> syntactic shorthands because they are database objects. Views exist in
> the database catalog.

Syntactic shorthands cannot exist within the database catalog?

> For instance:
>
> Database A:
>
> var r relation{ a integer } key { a };
> var v view r where a > 10;
> delete v;
>
> Database B:
>
> var r relation{ a integer } key { a };
> delete r where a > 10;
>
> Database A has two defined variables while Database B has one. Both
> databases are different.
>
> Both groups of statements have different semantics therefore a view is
> not a syntactic shorthand.

If the deletion of 'r where a > 10' is a common thing to do, then var v makes database A easier in use than database B.

Assuming var r has the same semantics and values in both databases, both databases reflect the same facts.
This is true before and after the deletes.

> A syntactic shorthand is something like this:
>
> a++;
>
> This is a syntactic shorthand for:
>
> a = a + 1;
>
> Both statements have identical semantics.

Yep.

> BTW here it is clear that we can delete from a relational expression:
> (r where a > 10), so relational expressions are nameless variables,
> and we can update relational expressions without using views.
>
> A view is an expression and a variable at the same time.
>
> This could be a legal syntax in a relational language:
>
> delete a union b;
>
> or
>
> var r relation { a integer }
> key { a }
> foreign key { a } references a union b;

This puzzles me. From 'delete a union b;' I took the suggestion that a and b where both relational variables. In the second statement a is a declared integer in the first line, and what is a in the tail of the 3rd line of the second statement? Received on Sat Sep 25 2004 - 11:19:48 CEST

Original text of this message