| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Conceptual, Logical, and Physical views of data
Marshall Spight wrote:
> dawn wrote:
> > > >
> > > > I don't yet see how a URL is more of a pointer than a foreign key. It
> > > > is an identifier. You can use it to "go to" another source of data
> > > > just as you can use a foreign key to "go to" another source of data.
> > > > It doesn't even point to a machine, even if it resolves to know what
> > > > machine to go to. My foreign key used in a join statement knows that
> > > > too.
> > >
> > > We already discussed this to death. :-(
> >
> > I know and I apologize for not yet understanding. This pointer issue
> > seems one of the big motivators for relational theory, so I want to
> > "get it". I understand why this was problematic when related to memory
> > locations, but I don't understand the big downside of using logical
> > pointers, reference values, foreign keys -- what's the difference?
>
That works for me. I'm trying to figure out what is different conceptually between what people disparage as the use of "pointers" and what I think of as navigation based on foreign key values, for example.
> I'm going to try to leave out the
> "which-is-better" in part because it's not really fruitful to
> discuss until we're clear on the differences, anyway.
>
OK, so at least I can stop kicking myself for not understanding. There is something very obscure that you see that is conceptually the same to me, and, apparently to these guys too. I would still like to sit in your head and figure it out as it is hard to either a) learn or b) refute otherwise.
> At the end of about a week,
> they were unmoved. (Normally that would give me pause, but it
> didn't in this case because I've read a lot more about relational
> theory than they had, and because, well, uh, I'm right.
With facts like that on hand, I can see why you didn't want to hear about my "feelings" ;-)
> Even
> though: no graduate education <sob>.)
>
> Anyway: it's a small and subtle difference.
No doubt, but I'm gonna try really hard to understand.
> The single most telling distinction between an address
do you mean "pointer" here?
> and
> a foreign key is this: in a system with foreign keys, you
> have to have a special operator that given an address returns
> its referent, and an inverse special operator that given
> a referent returns its address. With content-based addressing,
> there simply is no such operator; the comparable functionality
> is available already just from being able to address data
> via its content.
Does this include all key-value approaches?
> Also: the pointer is *external* to the data referred to,
> whereas the foreign key is integral to the data.
OK. So, we could talk about a web page as a (URL, HTML) pair and the HTML might include a foreign key value for another (URL, HTML) pair. This would be compared to a model where you have (WEBRESOURCE) and WEBRESOURCE=(U,H,A,B,C) where U is a candidate key and B is a foreign key to WEBRESOURCE.
Am I close?
> Have you ever programmed in C or C++? (Non-rhetorical question.)
Not that I would admit.
> You know the * and & operators? That's them.
I know the latter if it is the "bitwise and" but not the *.
> (In Java, the situation is obscured by the fact that both operators
> are made implicit; there's no syntax for them. In Java, when
> you mention a pointer, the only thing you could mean is its
> referent, so the dereference operator is automatic.
OK, this is where I'm missing something. I need to understand "dereference operator" for one thing. Usually if someone says "pointer" in Java, after the booing stops, they likely mean "reference" to an object, right?
> Likewise,
> the only way to aquire a pointer in Java is via "new", so
> the reference operator is again built in.)
>
>
>
ok
> Part II has to wait for later, because we've got a sitter
> and it's time to go visit friends. Hurray for sitters!
good to know you have a social life. Clijsters just won the US Open, so I'm going back to grading. cheers! --dawn
>
> Marshall
Received on Sat Sep 10 2005 - 20:51:30 CDT
![]() |
![]() |