# Re: insert to projection

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