| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: A question for Mr. Celko
John Jacob wrote:
>>>>[...] What about UNNESTing a relation-valued attribute is different >>>>from extraction? [...] >>> >>>UNNESTing is part of the relational engine whereas extraction is part of >>>the type engine? >>> >>>So from the point of view of the relational engine the value should be >>>atomic, but from the viewpoint of the type engine this doesn't have to >>>be the case. >> >>Well put! :-) Do you require more explanation John?
The way I see it, to the relational engine, all values are just black boxes. When it needs to perform some non-relational operation on some values it just passes the problem on to the type engine.
Now in the special case where the type itself is "relations", the type engine has its own little RDBMS that it uses to perform relational operations within the context of the type. But this RDBMS is logically totally separate to the orginal external RDBMS. i.e you shouldn't be able to join a relation-value with a "real" relation in your main RDBMS: the only communication between the two should be via the type engine.
As an analogy I think of a programming language say BASIC being implemented in assembly language. Now then you could use your BASIC language to write another assembly language compiler. But this second assembly language is separate to the original one; you can't share variables etc.
Paul. Received on Wed Jul 21 2004 - 17:40:29 CDT
![]() |
![]() |