| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Multiple specification of constraints
"Eric Kaun" <ekaun_at_yahoo.com> wrote in message news:PD54c.57854$GB2.34661_at_newssvr33.news.prodigy.com...
> "Marshall Spight" <mspight_at_dnai.com> wrote in message
> news:6124c.9096$YG.81835_at_attbi_s01...
> > "Eric Kaun" <ekaun_at_yahoo.com> wrote in message
> news:Exn1c.20851$mK4.3170_at_newssvr31.news.prodigy.com...
> > >
> > > Agreed. And if we had languages that supported relations for all
> processing,
> > > we wouldn't be in the O-O mess we're in now. It would be just amazingly
> > > useful to be able to perform relational operations on data in memory...
> and
> > > then, at the end when satisfied, persist it.
> >
> > Okay, that sounds great and all, but how's it going to work?
>
> Hey, dude, this is theory. :-)
LOL! Fair enough.
> > For one thing,
> > the operations shouldn't be limited to what's in memory any more than
> > the DBMS has that restriction.
>
>
>
Yes; they're a must-have.
> > Let's say we want to migrate some hierarchically-stored data into
> > our RDBMS, how do we make that work?
>
I'm referring specifically to the key-allocation aspect. I mentioned hierarchies, not because they are hard to do (they aren't) but because that's a situation where you transition from not having keys to having keys, and they have to appear in two places. So if you have some legacy structure like (a(bc)) and you want to put it in your fancy new system that uses an application lanuage that's relational (as well as the backend store) then you have to come up with the keys from somewhere.
Table1: {key1, a}
Table2: { (key1, b), (key1, c)}
If you have thousands of such key allocation operations to do, it's important that it be a low-overhead operation. Certainly you *mustn't* send an rpc to a central authtority for each key.
> > How do we manage the key space in a client-server world?
>
If you have natural keys, this is non-issue. I don't know what others' experience is, but I pretty much never have natural keys.
I don't think the "temp key" generation scheme would work, because once you've allocated the key, it has meaning (logical identity) and you can't just change its value without changing the meaning.
So that leaves block allocation and GUID generation as the two solutions I can think of. I guess that's okay.
> > How do we enforce that in a distributed environment?
>
Do what I did; go into management. :-)
Marshall Received on Sat Mar 13 2004 - 11:08:11 CST
![]() |
![]() |