chappidi@caip.rutgers.edu (Rajendra Chappidi) (11/30/90)
Is there a difference between the Object Oriented model and Hierarchical Model at all or are they one and the same ? If any one has an answer to this please let me know. Thanks, Raj
mto@GTE.COM (Tamer Ozsu) (11/30/90)
In article <Nov.29.13.51.19.1990.27566@caip.rutgers.edu> chappidi@caip.rutgers.edu (Rajendra Chappidi) writes: > >Is there a difference between the Object Oriented model and >Hierarchical Model at all or are they one and the same ? > >If any one has an answer to this please let me know. > >Thanks, >Raj There is a short answer to this: "Yes, there is a world of difference", but the real answer (i.e., explanation of what the differences are) would take too long to do in a mail message. The network-based models and object-oriented models are sometimes confused to be the same thing because both of them are non-value based (as the relational model is). However, the differences are enormous. Briefly, the object-oriented models have data encapsulation, sharing (usually in the form of inheritance), multiple levels of abstraction, etc. What exactly are the features of an object-oriented data model is subject to discussion, but here are some references that should help: M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier and S. Zdonik. " The Object-Oriented Database System Manifesto", In Proc. 1st Int. Conf. on Deductive and Object-Oriented Databases, Kyoto, Japan, 1989, pp. 40-57. S. Zdonik and D. Maier. Readings in Object-Oriented Database Systems, Morgan Kaufmann Publishers, 1990. [The authors have an introductory chapter at the beginning that should be very helpful.] W. Kim and F. Lochovsky. Object-Oriented Concepts, Databases and Applications, ACM Press, 1989. S. Khoshafian and R. Abnous. Object Orientation - Concepts, Languages, Databases, User Interfaces, Wiley, 1990. I am sure I did not list a ton of other very valuable sources. ==Tamer-- M. Tamer Ozsu mto@gte.com GTE Laboratories 40 Sylvan Road Waltham, MA 02254
rmartin@clear.com (Bob Martin) (12/02/90)
In article <Nov.29.13.51.19.1990.27566@caip.rutgers.edu> chappidi@caip.rutgers.edu (Rajendra Chappidi) writes: > >Is there a difference between the Object Oriented model and >Hierarchical Model at all or are they one and the same ? > >If any one has an answer to this please let me know. > >Thanks, >Raj I am not an expert in this field, but I have been doing a _lot_ of research into OODBMS in the last few months. So here is an amateur's point of view. Object oriented databases store data in virtually the same manner that a programmer keeps the data in memory. Typically when a programmer uses a database, he must read a group of data into memory, massage that data somehow, and then perhaps write it out again. Sometimes the data structures used to keep the data in memory are very compex (i.e. b-trees or circular buffers...) When using an object oriented database, the programmer can _forget_ about reading the data into memory or writing it out again later. (S)He simply massages it as though it were already in his internal data structures. The OODBMS takes care of the rest. The data is stored on the disk in a manner which exactly represents the logical structure that the programmer builds in memory. When the program needs the data it simply makes a reference to the appropriate memory location. Something akin to a virtual memory page fault brings the programmers data into memory and relocates any pointers so that from the programmers point of view, the data is simply sitting in memory. Meanwhile the underlying OODBMS software handles all the problems of data integrity, transaction rollback, distributed databases, locking, etc... The advantages to this technique are twofold (IMHO): 1). Development time is significantly shortened since the developers do not have to deal with the concepts of getting the data from disk, and putting the data back onto the disk. The problem simply becomes one of what to do with the data in memory. 2) Access to data is _very_ fast. You can get benchmarks from some of the OODBMS vendors, but the upshot of it all is that they are "screamers". You should know that OODBMS is not a panacea. There is no standard query language (like SQL). Typically no forms packages or QBF type facilities. OODBMSs are tools for software engineers who are implementing systems with very complex types of data, and are not currently interested in generating simple SQL reports. This subject deserves research. As I said, I am simply an amateur, and my information should be subject to some skepticism. -- +-Robert C. Martin-----+:RRR:::CCC:M:::::M:| Nobody is responsible for | | rmartin@clear.com |:R::R:C::::M:M:M:M:| my words but me. I want | | uunet!clrcom!rmartin |:RRR::C::::M::M::M:| all the credit, and all | +----------------------+:R::R::CCC:M:::::M:| the blame. So there. |
chappidi@paul.rutgers.edu (Rajendra Chappidi) (12/03/90)
Is there a difference between the Object Oriented Model and the Hierarchical model or are they one and the same Please let me know, Thanks
gintera@cs-sun-df.cpsc.ucalgary.ca (Andrew Ginter) (12/15/90)
Article 1274 of comp.databases: Path: cpsc.ucalgary.ca!arcsun.arc.ab.ca!alberta!ubc-cs!news-server.csri.toronto.edu!cs.utexas.edu!usc!apple!motcsd!mcdcup!mcdhup!mcdchg!tellab5!balr!clrcom!rmartin From: rmartin@clear.com (Bob Martin) Newsgroups: comp.databases Subject: Re: Object Oriented Model and Hierarchical Model Keywords: Difference Message-ID: <1990Dec1.233829.21645@clear.com> Date: 1 Dec 90 23:38:29 GMT References: <Nov.29.13.51.19.1990.27566@caip.rutgers.edu> Organization: Clear Communications, Inc. Lines: 63 rmartin@clear.com (Bob Martin) writes: > Object oriented databases store data in virtually the same manner that > a programmer keeps the data in memory. > > ... > > When using an object oriented database, the programmer can _forget_ > about reading the data into memory or writing it out again later. > (S)He simply massages it as though it were already in his internal > data structures. ... Something akin to a virtual memory page fault > brings the programmers data into memory and relocates any pointers so > that from the programmers point of view, the data is simply sitting in > memory. > > ... > > 2) Access to data is _very_ fast. You can get benchmarks from > some of the OODBMS vendors, but the upshot of it all is that > they are "screamers". > > You should know that OODBMS is not a panacea. There is no standard > query language (like SQL). Typically no forms packages or QBF type > facilities. These were impressions I too had when I first started investigating this subject, but the impressions are misleading. Right now, there are two kinds of object database: "persistent object stores" and "extended relational databases". The former tends to store information in the database in "virtually the same manner as the programmer keeps data in memory", and the latter tends to be built on relational database technology. Many, but not all, of both kinds of these databases are equipped with a cache manager which caches objects in application memory. As for performance, it is the cache manager that makes the difference. Object caches really shine in applications requiring navigational access to the database. However, in traditional data processing or transaction management applications, caches may actually slow things down slightly. Finally, most of the commercial and the big research object databases support a declarative query facility. In addition, many are implementing all sorts of graphical interfaces ranging from graphical query languages to graphical database definition and manipulation languages, though I don't know if any of them yet support the equivalent of a 4GL. Andrew Ginter, 403-282-2984, gintera@cpsc.ucalgary.ca