Re: Surrogate Keys: an Implementation Issue
Date: Sun, 30 Jul 2006 21:56:36 GMT
Message-ID: <oW9zg.183829$F_3.140238_at_newssvr29.news.prodigy.net>
"paul c" <toledobythesea_at_oohay.ac> wrote in message
news:mJ6zg.277632$Mn5.224019_at_pd7tw3no...
> Brian Selzer wrote:
>> "paul c" <toledobythesea_at_oohay.ac> wrote in message >> news:qt4zg.281144$IK3.267521_at_pd7tw1no... >>> Brian Selzer wrote: >>>> "paul c" <toledobythesea_at_oohay.ac> wrote in message >>>> news:zTOyg.269253$IK3.233927_at_pd7tw1no... >>>>> Brian Selzer wrote: >>>>>> "paul c" <toledobythesea_at_oohay.ac> wrote in message >>>>>> news:g9Nyg.263082$iF6.250988_at_pd7tw2no... >>>>>>> Brian Selzer wrote: >>>>>>>> What's the point of a database if it doesn't reflect some aspect of >>>>>>>> reality. ... >>>>>>> To talk precisely about whatever we want to talk about. Nothing >>>>>>> more. Doesn't need to be real. >>>>>>> >>>>>> Agreed. But even a conceived universe subsumes certain absolutes, >>>>>> such as time. >>>>>> >>>>> In that case, the statements in the database should talk about time, >>>>> ie., aspects of time. These are different from statements about the >>>>> time it takes the database to say something. >>>>> >>>> There can be no discussion without time. Relational assignment cannot >>>> exist without the concepts of before and after. ... >>> For some people, unfortunately, that is a matter of belief. In the >>> context of RT, I'd say it is mere willfullness. To see why, try to >>> avoid the words 'before' and 'after', using say, x and y instead to >>> stand for two relations (which might be the same). To ask which one >>> (or two) does the db state at this moment in time is the same as asking >>> does it state x or does it state y. But to ask which one(s) was stated >>> yesterday requires that we deliberately add time information. This is a >>> choice that allows us to ask the second question. The point is that we >>> may not be interested in the second question and choose not to state >>> information about time which makes the use of a time concept arbitrary. >>> >> >> But the assignment operation by its nature determines the order of the >> states x and y: one must always precede the other because the operation >> itself produces that other. >> ... >
> I think you are pre-supposing a particular imperative implementation.
>
You're probably right. I generally visualize a discussion as an interplay between participants in a definite sequence, rather than applying a set of rules to the superset of all possible database states and coalescing around the one that meets that criteria.
> >>> Maybe the confusion arises from Codd mentioning 'time-varying >>> relations'. In the interest of making his main points in an efficient >>> way, I suspect he didn't want to dot every last 'i'. As soon as you >>> talk about relational assignment you are talking about variable >>> replacement, aka pointer replacement. Logical replacement doesn't >>> require any notion of time. Nor does algebraic difference. >>> >> >> Could you please elaborate on that? Replacement, as I understand it, >> subsumes that something exists and will be superceded by something else. >> Algebraic difference isn't even related to assignment. Difference is an >> operator, assignment is an operation. I don't understand why you >> included it. Perhaps you're conflating the concepts of operator and >> operation. >> >
I apologize for the confusion here. I don't know what I was thinking. Maybe I shouldn't post after pulling an all-nighter.
> Sorry, I don't see what words like subsuming or conflating have to do with
> this unless they are what you are trying to embody for mystical reasons.
> If you want to see a more complicated mental construction just because you
> think "it's really there in actuality", I can't stop you but it hardly
> seems necessary.
>
> If you want to say that your preferred implementation of variables means
> that a variable v can't be assigned the value of y until after it has been
> assigned the value of x, go ahead, but God knows why I would want to.
> Personally, I don't see why I should want to change a theory because of an
> arbitrary implementation that has its own ideas.
>
> You might as well say that time is inherent in the price of bananas. At
> the risk of contributing further to the confusion, I'll play with some
> more notation - I would be content with one that didn't bother with
> variable assignment, eg., v' = y, or v''' = y where the equals symbol
> means equals in the usual sense of identity (just like the algebra you
> learned in elementary school) and v is immutable and the apostrophe simply
> stands for a set difference or a set union, eg. a 'delta' that could be
> either, as in "v' = x UNION delta". AFAIAC, the environment can take care
> of preserving the left-hand-side that's got the most apostrophes. What do
> most apostrophes or deltas have to do with "before" or "after"? That kind
> of interpretation comes from implementations, not RT.
>
> p
>
Received on Sun Jul 30 2006 - 23:56:36 CEST