Eric Hughes wrote:
Tom Valesky wrote:-->
>
> It occurs to me that there have been OODBMSs out there for quite
> some time now. I've never worked with ODBMSs, so I wonder: when you
> have a graph of objects, and you need to interrogate each one to find
> the value of some field, what do you do? If the object in question
> doesn't provide accessor/mutator methods for the datum in question,
> are you out of luck? I've seen references to "OQL" (which I assume
> is similar to SQL, but with extensions for objects); is that a standard,
> generally-applicable querying language?IMHO, an OODBMS supports both a "transparent" navigation model,
where following a reference from one object to another is just
as it is in Java, and a somewhat more general query navigation
model, where any collection of objects can be queried in a way
that feels like SQL.
Being able to query _any_ collection is often different, because
e.g., I can define an attribute of one object to be a collection
and issue queries against that attribute.
Of course, there are similar approaches in SQL, but I find that
the overall nature of solutions can vary more with OODB's.There is an ODMG standard OQL as well as SQL extensions for
objects. I'll let the vendors comment on the standardness and
general applicability of OQL.
ODBMs have pretty much the same support for transparent "navigational" access in the supported languages (C++, Java, Smalltalk, etc).
They have varying support for database queries ..... though most support a large subset of OQL. For some products that provide server-side navigational queries .... a query such as select * from Employee where department -> name = "RD" ..... would be evaluated on the server ..... whereas for other ODBMS products .... the equivalent query would need to be evaluated on the client side.
cheers,
Nipun
I find that I make much less use
of OQL than SQL, but your question is still relevant.Eric Hughes
--
Eric Hughes The MITRE Corporation [EMAIL PROTECTED] 781-271-7486===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".
