On Jan 28, 12:31 pm, John J Lee <[EMAIL PROTECTED]> wrote:
> John didn't offer any suggestion as to why he thinks OODBMSes are more
> applicable to "science/engineering applications" than business
> applications. Certainly "science/engineering applications" is quite a
> diverse set of systems. What did you have in mind, John?
>
Just a couple of other comments before I provide an answer to this
question. The reason why I brought up OO databases was the fact that
Leandro seam to be struggling with both SO and SA and some of the
comments he made were counter that of the experiences that others on
this list have offered. The reasons he gave for going back to SO are
the very same reasons why people are switching to SA.
Now at the time I brought up OO databases I had not seen his code so I
wasn't sure if he had an issues with SA due to education or perhaps
possibly it was an issue due to not selecting the right type of
database. Since one of his issues that he mentioned was in handling
inheritance I figure I would mention OO databases as they naturally
handle inheritance.
Leandro has posted a link to his code which I just took a look at. It
appears to be written in Spanish which makes it a little challenging
for myself to completely comprehend it as I only know English. It
does appear that for his application that a relational database would
be fine. I would like to understand why he had issues with both SO
and SA but it would take me far too long to translate all the names in
his code to English so I can make better sense of the code.
Any way back to your question. I believe the right choice of database
type mostly boils down to access patterns. Access patterns are not
the only issues but tend to be the most important factor. By access
patterns I mean how an applications will need to access or query the
data in the database.
In a situation where you have classes that don't have any
relationships and you need to be able to search on all attributes on
each class you have an application that is ideal for a relational
database. You just create a table to each class and the fields for
each table will just match the attributes of the classes.
On the other hand , if you have a situation where all your classes
have complex relationships between them and the query needs are only
related to the relationships themselves you have an ideal application
for an OO database.
The reality is that almost no worth while applications falls into one
of these situations but somewhere in between them. Those that fit
closer to the first example are those who should use a relational DB
and those closer to the second one should use an OO DB. Those
applications that fall in the middle will likely benefit from using
both database types.
The reason why I say science/engineering applications are better
suited for OO databases is that they usually have complex
relationships between their classes and their is very little need to
query on attributes other than those used for their relationships.
Business applications usually require querying on a large percentage
of their attributes and thus better suited for relation DBs. Like I
said in an early post these are just stereotypes as some business apps
are better suited using an OO DB and likewise some science apps are
better suited for relational DB.
Hopefully this brief explanations clears things up a little. To give
an explanation that covers this topic fully would likely require
coming up with 2 examples (one good for OO and one good for
relational) and then code each one using both database types and thus
create 4 applications. Once this is done a comparison of the 2
applications for each example could be done. This would clearly show
the costs that are involved with selecting the wrong type of database
for the job. Unfortunately I just don't have the free time to do
this.
John
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---