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: globals besides relvars?

Re: globals besides relvars?

From: Marshall Spight <mspight_at_dnai.com>
Date: Tue, 29 Jul 2003 02:53:25 GMT
Message-ID: <FklVa.4000$Vt6.793@rwcrnsc52.ops.asp.att.net>


"Paul Vernon" <paul.vernon_at_ukk.ibmm.comm> wrote in message news:bg3n62$hoc$1_at_gazette.almaden.ibm.com...
> "Marshall Spight" <mspight_at_dnai.com> wrote in message
> news:S%bVa.149598$wk6.37711_at_rwcrnsc52.ops.asp.att.net...
> > In many programming languages, functions have access to
> > function-local state as well.
>
> So what? Programming languages have many things that we we don't need.
> 'Functions' that access global data being just one of them.

I don't agree. I think the entire model of the database as something that's "far away" from application logic, requiring an API for access, is part of what keeps databases from being as useful, and as pervasive, as they could be.

> > > IMO A good catalog model would include relvars to holds things like current
> timestamp
> > > and current USER.
> >
> > Okay, but why do these things have to be relvars?
>
> Because that's all we're got. Luckily, it's all we need as well. :-)

The computing world has plenty of logical structures besides relations. We've also got lists, tuples, and individual non-relation values. Why can't we store them directly? Why do we have to wrap them in a relation? I've never heard a good reason to restrict ourselves in this way. I don't even see how it makes things any simpler; it makes them more complicated, because when you have a singleton value for something, you have to wrap it in a tuple and wrap that tuple in a set.

> > I mean, the current timezone
> > is not a relation, it's a value from the timezone domain. Current user is a
> > string or a User value or something. It's not a relation. So why must it go
> > into a relation? I'm already aware that Codd so asserted, but I don't
> > see any good theoretical or even a good design reason for it.
>
> Good design: don't distinguish things unnecessarily.

Also good design: don't force everything into a single model unnecessarily.

> Having *non-relation* variables makes the whole environment (much) more complex, for
> no benefit. Information is no longer democratic. Why should Timezone get special
> treatment and not, current bank balance or last update statement or current query
> optimisation level??

Because there's only one value. Relations become pointless baggage for things that there's only one of.

Marshall Received on Mon Jul 28 2003 - 21:53:25 CDT

Original text of this message

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