Re: A question for Mr. Celko
Date: Thu, 22 Jul 2004 03:24:48 GMT
Message-ID: <4sGLc.138712$%_6.84471_at_attbi_s01>
"Paul" <paul_at_test.com> wrote in message news:40fef0dd$0$96012$ed2619ec_at_ptn-nntp-reader03.plus.net...
>
> 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.
Why? Why have this restriction? What does it buy you? It certainly reduces your expressiveness.
Let's compare an RVA with a separate table with a foreign key back to the first table. They are informationally equivalent. Why bother to distinguish between those two cases? Why allow some operations when it's structured one way but not the other, isomorphic way? Why not treat the two ways as two views on the same data?
Marshall Received on Thu Jul 22 2004 - 05:24:48 CEST