# Re: insert to projection

From: Mr. Scott <do_not_reply_at_noone.com>
Date: Sat, 5 Sep 2009 00:27:49 -0400
Message-ID: <b6KdnSrWkthYdTzXnZ2dnUVZ_gmdnZ2d_at_giganews.com>

"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. Received on Fri Sep 04 2009 - 23:27:49 CDT

Original text of this message