Re: Implicit constraints in a view

From: Aloha Kakuikanu <aloha.kakuikanu_at_yahoo.com>
Date: 9 Nov 2006 09:25:28 -0800
Message-ID: <1163093128.148784.209280_at_m73g2000cwd.googlegroups.com>


NENASHI, Tegiri wrote:
> It is your fantasme about the constraint: 'type' is a virtual column
> that the clever implementation of insert can utilize as the selector
> but to update the virtual column, it does not have sense.

No virtual columns! We have two relation variables

RealPeople and Imposters

and three relation constants

R1 = {(typ=RMI)}
R2 = {(typ=IRM)}
R3 = {(typ=I)}

and the view written in RA as

(RealPeople/Impostors) x R1
U
(Impostors/RealPeople) x R2
U
(RealPeople/\Impostors) x R3

> I do not
> say that in your private modele it is not possible; it is possible but
> you must fix the rules of the play. One can not say: Oh we have that
> rule, oh, now we have this rule. One can talk about no matter what
> your private modele but you have to give the rules for the modele.

I'm not sure why you call my model "private". I have a set of relation variables, and a set of relation constants. I ask if a particular RA expression is updateable or not. What makes this problem different from view update?

> > I suggest that you are not allowed to do the following
> >
> > insert ('SomeGuy', 'NotAValidTyp') into AllPosters;
>
> In the modern SQL modele, one can not insert into the virtual column
> and it has a sense: it does not exist in the database. It is the same
> like to insert into a table that does not exist.

Nope. This update is not possible becase a user is not allowed to modify relation constants (nor introduce new ones). Received on Thu Nov 09 2006 - 18:25:28 CET

Original text of this message