# Re: insert to projection

From: Mr. Scott <do_not_reply_at_noone.com>

Date: Mon, 7 Sep 2009 01:23:08 -0400

Message-ID: <Z92dnd8qAMQhBTnXnZ2dnUVZ_gqdnZ2d_at_giganews.com>

>> "paul c" <toledobythesea_at_oohay.ac> wrote in message

>> news:uskom.43824$PH1.21867_at_edtnps82...

>> Can you express the relationship formally? Something about your

>> Px iff (exists y exists z Pyz /\ (x = y))

>> But this actually denies insert to projections because it is not enough

Date: Mon, 7 Sep 2009 01:23:08 -0400

Message-ID: <Z92dnd8qAMQhBTnXnZ2dnUVZ_gqdnZ2d_at_giganews.com>

"paul c" <toledobythesea_at_oohay.ac> wrote in message news:J%Oom.43977$PH1.40579_at_edtnps82...

> Mr. Scott wrote:

>> "paul c" <toledobythesea_at_oohay.ac> wrote in message

>> news:uskom.43824$PH1.21867_at_edtnps82...

>>> Mr. Scott wrote: >>>> "paul c" <toledobythesea_at_oohay.ac> wrote in message >>>> news:DGbom.42669$Db2.5159_at_edtnps83... >>>>> Why do implementation languages not allow this? Surely not for >>>>> logical reasons? We can delete from projection because NOT Pa implies >>>>> NOT Pab, eg., <NOT> R{a} -> <NOT> R{a,b}. Logically, we can insert to >>>>> projections because Pab implies Pa. Isn't the problem really a >>>>> language deficiency? >>>> I don't understand. Is the binary predicate P somehow related to the >>>> unary predicate P, and if so, how exactly? >>>> >>>> >>>> >>> Sure it is, the truth of the tuple <a 1, b 2> implies the truth of the >>> tuple <a 1> and the falsity of the tuple <a 1> implies the falsity of <a >>> 1, b 2>, as far as a relation R with predicate P is concerned. >>> Projection means quantification and vice versa, what's the problem? >>> (Could it be that predicates aren't recorded?). >>

>> Can you express the relationship formally? Something about your

*>> explanation doesn't seem right. There can be a row <a 1> in the**>> projection if and only if there is a row that is a superset of <a 1> in**>> the table. That works out to something like,*>>

>> Px iff (exists y exists z Pyz /\ (x = y))

>>

>> But this actually denies insert to projections because it is not enough

*>> to know that there is at least one z, it is necessary to know which z or**>> set of z's there are for a given x, unless you want to introduce nulls.*> > What I wrote could be taken wrong. When I said that "logically" we can > insert to a projection it would be have better to say that several > projections are inserted when we insert <a 1, b 2, c 3>, eg., R{a} or <a > 1> but the converse isn't logical. It's a starting position for figuring > out a language definition that would allow insert to projection. I didn't > mention rows and tables because I think they are probably not part of a > solution.

In general, a conclusion follows from a set of premises, not the other way around. Sometimes there is only one set of premises from which a conclusion follows, and it is only then that the corresponding view update should be deemed permissible. The underlying criteria for permitting an operation on a view has to be a one-to-one mapping from the set of conclusions into the power set of premises. Received on Mon Sep 07 2009 - 07:23:08 CEST