Re: What is an OODBMS?

From: H. S. Lahman (h.lahman_at_verizon.net)
Date: 01/08/05


Date: Sat, 08 Jan 2005 15:33:26 GMT

Responding to Frebe...

>>one of
>>the key differences between the RDB view and OO applications. The RDB
>>view is geared to ad hoc data retrieval (i.e., there is no assumption of
>>what data will be selected of why) while the OO view is tailored to very
>>specific problems (i.e., the problem solution defines /exactly/ what
>>data will be selected).
>
>
> Isn't the main reason why the old database paradigm was abandoned, that
> every view has to be tailored to very specific problems? In the
> relational model you don't need to know every future feature request
> when you design your database. Indexes can be added later without
> changing the interface to the applications.

A database provides a service to applications. Since many applications
may need to share the same data for different reasons, modern databases
are geared to optimizing for ad hoc access to the stored data.

However, the applications are solving individual problems so they are
optimized around the particular problem context. The RDB index & search
paradigm is relatively inefficient for individual applications,
especially when the same data is processed repeatedly.

>>If one wants to select from a collection based upon non-identity data,
>>then one will have to have explicit selection logic for that.
>
> Does this logic belong to the "business layer" or the "persistence
> layer"? I just want to check...

The business layer.

*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindermda.com
blog (under constr): http://pathfinderpeople.blogs.com/hslahman
(888)-OOA-PATH



Relevant Pages

  • Re: Database Model - Class, objects and interaction
    ... applications and multiple users operating on the same data. ... Any tool that provides the layered model infrastructure for Presentation - Business - Data where the Presentation is either a report or form-based data entry, the Data layer is an RDB, and form-based query/join specification is the dominant development paradigm is a RAD tool. ... In these applications the UI and DB paradigms dominate all the mechanisms. ...
    (comp.object)
  • Re: Newbie question about OO database structure & programming
    ... If you are going to continue doing CRUD/USER applications, the infrastructures for the associated layered models are pretty much object-based rather than object-oriented. ... However, if you intend to develop applications where the application needs to solve substantial business problems by processing the data rather than simply reformatting it, you will find that your RDB style of thinking does not work well. ... The major difference vis a vis normalization is in generalization where one needs to remember that instantiation in the OO approach is quite different. ... (I have worked on applications where a single scalar object attribute in one subsystem mapped into thousands of objects and on the order of 10**9 individual data values in another subsystem.) ...
    (comp.object)
  • Re: OO versus RDB
    ... The mapping of the RDM to PROLOG is a matter of syntax. ... a UML Data Model for an RDB also captures exactly the same RDM semantics with a different syntax. ... But tailoring abstractions to the problem in hand is what OO development is all about. ... That tends to be quite rigid and when it changes there is a tendency to break applications that already use the data. ...
    (comp.object)
  • Re: In favor of a model / theory
    ... But among what this crowd calls "SQL databases", ... If I compare DEC Rdb and Oracle ... applications that use Rdb, and even have it at the center of their dataflow, ...
    (comp.object)
  • Re: Newbie question about OO database structure & programming
    ... H. S. Lahman wrote: ... Depending on what sorts of applications you want to develop, ... will probably be different than those in the RDB. ... Views and queries can produce "local" abstractions. ...
    (comp.object)