durusmail: durus-users: OODB vs SQL
OODB basics
2005-10-08
2005-10-09
2005-10-09
2005-10-09
2005-10-09
2005-10-09
2005-10-09
2005-10-09
2005-10-09
2005-10-09
2005-10-11
2005-10-12
Re: OODB basics
2005-10-11
OODB vs SQL
2005-10-09
2005-10-09
2005-10-09
Re: OODB vs SQL
2005-10-10
Re: OODB vs SQL
2005-10-10
OT: Durus
2005-10-13
2005-10-13
2005-10-13
2005-10-09
2005-10-09
2005-10-09
2005-10-10
2005-10-11
2005-10-11
2005-10-11
2005-10-11
Re: OODB vs SQL
2005-10-11
2005-10-11
2005-10-11
2005-10-12
2005-10-12
2005-10-12
Demo application [was: Re: [Durus-users] Re: OODB vs SQL]
2005-10-13
Re: OODB vs SQL
2005-10-11
Durus basics
2005-10-09
2005-10-09
2005-10-10
2005-10-10
2005-10-10
2005-10-13
2005-10-13
2005-10-13
2005-10-13
Re: OODB basics
2005-10-13
OODB vs SQL
mario ruggier
2005-10-12
On Oct 9, 2005, at 7:58 PM, John Miller wrote:
> On Oct 9, 2005, at 12:45 PM, Patrick K. O'Brien wrote:
>> Oleg Broytmann wrote:
>>>    Thank you. Have I missed something important?
>>
>> Hmm.  Tough question.  I'm convinced that there is nothing in the
>> Relational world that can't be achieved in an OODB with the exception
>> of
>> language independence.
>
> What about relationships? I guess one thing I've not been able to
> understand about OODBs is how to achieve relations like I can with
> relational databases.

It is probably because you have come to expect that to define and
maintain these must be cumbersome... ;-)

All you have to do in an OODB, to relate an object to another object,
is, e.g.:

person.address = address

That's it.

However, an OODB normally does not impose a schema on you... you can do
what you want, and set whatever values on whatever attributes you want.
If you want to impose a schema on your objects, then you would need an
additional layer, something like Schevo or moellus in this case. These
will provide additional functionalities, such as automatic management
of the inverse relationships, whether 1-to-1, 1-to-many, etc., as well
as other conveniences such as ndices, simply by declaring that you want
them. Thus, assuming 1-to-1 in previous example, to get the person of
an address you would typically then simply say:

address.person = person

The syntax for declaring the inverses, indices, and so on is particular
to the layer chosen, and in this respect there is a difference here
with relational as how these are declared in sql is at least
standardized (almost) across database implementations.

If you wish to take a close look, play with the demo in the moellus
distibution, at the model definition, at the data sample used to
populate it, and at the resulting objects...

mario

moellus: http://ruggier.org/software/moellus/

reply