Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> comp.databases.theory -> Re: thinking about UPDATE

Re: thinking about UPDATE

From: x <x-false_at_yahoo.com>
Date: Wed, 21 Jul 2004 12:48:14 +0300
Message-ID: <40fe3be3$1@post.usenet.com>

"Marshall Spight" <mspight_at_dnai.com> wrote in message news:N0mLc.114236$WX.22912_at_attbi_s51...
> Hi all,
>
> I was thinking about the relationship between operations of the
> relational algebra and SQL statements.

> INSERT is a lot like union, but with an odd restriction that the
> intersection of the new set and the existing set must be empty. (Why?)

This is only if you define a primary or candidate key.

> DELETE is the same thing as set subtraction.

> But what the heck is UPDATE?

> If T : {a1, a2, ... an}

> UPDATE T set a1 = 0 where <cond>
> is
> T' = T { 0, a2, ... an | <cond> }
> T = T - T { a1, a2, ... an | <cond> }
> T = T union T'

> That's certainly more complicated than I would suspect
> for what seems like such a simple operation.

> Am I making it needlessly complex, or is this about right?
> Is there some other way to think about UPDATE?

You could think about it as a set transformation T --- f ---> T'
{t | t in T}---> {f(t) | t in T}

Some questions to think about:
Why there is a need for primary/candidate keys in RM ? If keys are essential, why the definitions of the relational operators don't include them ?

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Received on Wed Jul 21 2004 - 04:48:14 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US