ObjectOriented Database Management Systems Essay Research Paper

Free Articles

Object-Oriented Database Management Systems Essay, Research Paper

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

The building of Object-Oriented Database Management Systems started in the in-between 80 & # 8217 ; s, at a paradigm edifice degree, and at the beginning of the 90 & # 8217 ; s the first commercial systems appeared. The involvement for the development of such systems stems from the demand to cover the modeling lacks of their predecessors, that is the relational database direction systems. They were intended to be used by applications that have to manage large and complex informations such as Computer Aided Engineering, Computer Aided Design, and Office Information Systems.

The country of the OODBMSs is characterized by three things. First, it lacks a common information theoretical account. There is no common informations theoretical account although many proposals can be found in the literature. This is a more general job of all the object-oriented systems non merely the database direction systems. Since the informations theoretical account determines the database linguistic communication of the system, which in bend determines the execution of the system, we can understand that the differences between the assorted systems with different informations theoretical accounts can be large and significant. Second is the common theoretical model. Although there is no standard object-oriented theoretical account, most object-oriented database systems that are operational or under development today portion a set of cardinal object-oriented constructs. Therefore the execution issues in OODBMSs that arise due to these constructs are cosmopolitan. The 3rd feature is that of experimental activity. Plenty of paradigms have been implemented and some!

of them became commercial merchandises. There is truly a demand for applications to manage really complex informations and that is why the involvement of people in edifice such systems is so strong.

Although there is no consensus on what an OODBMS is and which are the characteristics that differentiate it from other systems, there has been a batch of attempt for an understanding on specifying the formal features that can stand as the set of specification demands for the building of such a system. These should besides be used as the set of characteristics that one has to look into in order to happen out if a system is truly an OODBMS. The characteristics of the OODBMS can be divided as follows:

& # 8226 ; compulsory characteristics: these are the characteristics that one system should hold in order to merit the rubric OODBMS.

& # 8226 ; optional characteristics: these are the characteristics that if one system has, should be considered better than another that does non hold them, provided that both have all the compulsory characteristics.

& # 8226 ; unfastened picks: these are characteristics that a interior decorator of a system can take if and how to implement. They represent the grades of freedom left to the system interior decorators.

An OODBMS should be a database direction system and at the same clip an object oriented system. The first feature is translated to the undermentioned characteristics: continuity, concurrence, recovery, secondary storage direction, and ad hoc question mechanisms. The 2nd feature is translated to the followers: composite objects, object-identity, encapsulation, heritage overriding and late binding, extensibility, and computational completeness of the database linguistic communication used.

Composite objects can be built recursively from simpler 1s by using builders to them. These simpler objects can be whole numbers, characters, strings, booleans, and in general objects of types that all the scheduling languages possess. There are assorted builders such as list, set, bag, array, tuple, etc. The minimum set of builders that a system must hold is: set ( to stand for disordered aggregations of existent universe objects ) , list ( to stand for ordered aggregations of existent universe objects ) , tuple ( to stand for belongingss of existent universe objects ) . A system that supports composite objects and therefore builders for their edifice, should besides back up operators for the retrieval, interpolation, and omission of their component objects. That means that the database linguistic communication should be extended in a manner that these operators will be included.

The individuality of an object is what makes it different from all the other objects. This allows the objects to be independent of their values. Therefore the impression of indistinguishable objects is introduced: two objects are equal if they have the same values, but are indistinguishable if they have the same object individuality. The fact that each object possesses an individuality facilitates the handling of composite objects since it makes the common usage of objects possible and it protects the consistence of the database. If a constituent object is changed, this alteration affects all the composite objects that reference it. Due to the object individuality, there is no demand for replicates, and that is how the consistence of the database is protected.

The mechanism of encapsulation allows the concealment of the internal province of the objects. The internal province of an object is non apt to direct entree. It can merely be accessed by its methods. Objects that have this ability are called encapsulated objects. There are many types of encapsulation including: full, write, and partial. Using full encapsulation, all the operations on objects are done via message sending and method executing. In write encapsulation, the internal province of the objects is seeable merely for reading operations. Partial encapsulation involves leting direct entree for reading and composing for merely a portion of the internal province ( private and public portion ) . The usage of the same message for different methods that belong to different categories can ease the design of the database every bit good as of the applications that entree it.

In general, since the internal construction of an object is non seeable by the other objects, we can delegate to methods with the same functionality the same message even if their execution is different. This is called overloading of the message. Since a message can match to more than one method, the codification of the method that has to be executed can merely be found at run clip. That means that while an application is executed, it can be found out if the message sent is applicable to the object. If non the application ends up with a run-time mistake. The fact that the piece of codification that should be executed is bound at run-time is called late binding.

The hierarchies of the categories are based on the rule of heritage which is considered one of the most basic of the object-oriented systems. Inheritance is an antisymmetric, transitive, binary relationship that can be between two categories A and B from which the A is called a subclass of B and B is called a superclass of A. The relationship has many common features with the ancestor/descendant relationship since a category has direct and indirect subclasses as an ascendant has direct and indirect posterities. In general a superclass can hold one or more direct subclasses, although the figure of direct superclasses that a subclass can hold is non the same for all the theoretical accounts. In fact, in all the theoretical accounts, all the categories have at least one superclass but there are some theoretical accounts that do non let categories to hold more than one. These are called individual heritage theoretical accounts and the remainder multiple heritage theoretical accounts. Harmonizing to the construct of heritage, the subclasses ca!

n inherit methods and properties from their superclasses. That means that heritage is the mechanism that allows the coevals of new package faculties from bing package faculties. There are four sorts of heritages that have somewhat different semantics:

& # 8226 ; Substitution heritage: if category A is a subclass of category B, so any object of category B can be substituted by an object of the category A. That means that the set of messages that constitute the interface of category A is a superset of the set of messages of category B.

& # 8226 ; Inclusion heritage: if category A is a subclass of category B, so objects of A and B have the same internal construction although they may portion the same methods and messages. This sort of heritage corresponds to the impression of categorization.

& # 8226 ; Constrain heritage: if category A is a subclass of category B, so any object of category A has the same internal construction with any object of category B, but besides satisfies a certain status e.g. if & # 8220 ; kid & # 8221 ; is a subclass of the category & # 8220 ; individual & # 8221 ; and they portion the property & # 8220 ; age & # 8221 ; , so any case of the category & # 8220 ; kid & # 8221 ; must fulfill the status its age to be less than 10.

& # 8226 ; Specialization heritage: if category A is a subclass of category B, so the set of cases of A is a subset of the set of cases of B.

One of the necessary components of a DBMS is the information definition and use linguistic communication ( DDML ) , besides called database linguistic communication. The usage of this linguistic communication allows relentless informations to be created, updated, deleted, or retrieved. The database languages that were used by the RDBMSs were based on the relational concretion or the relational algebra and hence were non computationally complete although mathematically founded.

An OODBMS should hold a computationally complete database linguistic communication because: it can be used for the methods of the categories, for applications that are written in the same linguistic communication, there is no demand of transmutation of the information constructions or function of the informations ( electric resistance mismatch ) , and coders do non necessitate to larn another linguistic communication if they choose to compose their applications utilizing this linguistic communication.

The interior decorators of the OODBMSs that presently exist preferred to utilize as database languages some of the most popular scheduling linguistic communications ( C++ , Smalltalk, Common Lisp, etc. ) than making their ain. In order to make this, nevertheless, they had to spread out the semantics of the linguistic communication they chose in certain ways so that relentless informations could be handled. Besides, if the linguistic communication chosen was non an object-oriented one, its semantics should be farther expanded in a manner that the object-oriented constructs could be included.

Each database system comes with a set of predefined types ( whole number, existent, char, threading ) . This set should be extensile i.e. the user should be able to specify his

/her ain types and handle them in the same manner he/she treats the predefined 1s. In other words, user types and system types should hold the same position although possibly they are otherwise supported by the system itself.

Continuity is one of the most basic characteristics of a DBMS ( at least the most apparent one ) and hence of an OODBMS. It is the ability of the coder to hold his/her ain informations survive the executing of a procedure so that he/she can finally recycle it in another procedure. For an object-oriented system, there is an extra demand which stems from the extensibility demand, that any object must be able to go relentless independently of its type. The secondary storage direction is one of the most of import DBMS characteristics. It should include a set of mechanisms that improve the public presentation of the system like indexing, constellating, entree way choice, informations buffering, or hoarding. The interior decorator of the databases should be able to take if he/she will trip these mechanisms or non, although for application coders the usage of these mechanisms should be crystalline and non necessitate particular attempt for their care.

The database direction system should be able to back up many users. That means that they must supply particular mechanisms for the concurrence of the entrees of the information, and the arbitration in instance of struggles. Such mechanisms have already been provided by the RDBMSs and hence should besides be provided by the OODBMSs. A basic demand for a database system is that in instance of a hardware or package failure, the system should be able to convey itself back to the most recent coherent province of the information. This characteristic has to make with the concurrence control and the dealing direction, but besides requires excess mechanisms that have already been explored and studied for the RDBMSs.

A DBMS should supply its users with a simple synergistic manner of doing ad-hoc questions and having replies. For this intent, the OODBMS can supply a particular question linguistic communication as the RDBMSs did, a specially extended scheduling linguistic communication, or some graphical tools ( browsers, signifiers, etc. ) . Whatever they do supply should fulfill the followers: it should be high-ranking so that the questions will be simple and easy understood by worlds, it should be efficient, and it should be application independent.

In this subdivision I will analyse the optional characteristics that an OODBMS should hold. Some of them have to make with the object-oriented nature of the system, and some others with the handling of relentless informations.

Multiple heritage allows the creative activity of a new category from one or more other categories. There is no general understanding if a system must back up multiple heritage or non. It is true, nevertheless, that the systems that support this characteristic make the application design easier since multiple heritage is a more powerful tool than individual heritage. On the other manus, many jobs arise from the support of multiple heritage that have to make with struggles among the properties and methods inherited by more than one arbitrary category. The grade of type checking performed at compile clip should be every bit great as possible. The optimum state of affairs is where a plan that was accepted by the compiler can non bring forth any run-time mistakes.

It is desirable for a system to be distributed although that is independent from the fact that it is an object-oriented system. Concurrency control is one of the compulsory characteristics of a DBMS, but the current systems are intended to be used for managing really long informations like images, sound, text, etc. and accordingly they should supply particular dealing mechanisms in order to let the efficient handling of such sorts of informations. The RDBMSs do non back up such handling and therefore the object-oriented engineering had to heighten the classical dealing model with long and nested minutess. Most of the applications evolve and they do no get a stable province until a long clip after their initial execution. For this ground it should be possible to make the followers: the old informations should non be overridden by new 1s but should be kept and coexist as older versions of the same object and non as independent objects ; and in instance of scheme alterations, the informations that corre!

spond to old schemes should non be thrown off but should germinate following the schema development.

There is a set of characteristics, eventually, for which the interior decorators can take among different executions that are non tantamount, but they have certain advantages and disadvantages. There are plentifulness of programming theoretical accounts ( C++ , Lisp, Smalltalk, etc. ) , but none of them should be considered better than the others. The interior decorators choose the scheduling theoretical account of their system harmonizing to the sort of applications that the system is traveling to function. The pick of the scheduling manner is unfastened every bit good. The 1 that better suits the applications should be chosen. The representation system is the set of the types or categories provided by the system every bit good as the set of builders that can be applied on these categories. Equally long as the system provides support for extensibility and composite objects, there is no limitation of which member the representation should incorporate. There are systems that support the highest grade of uniformity, which means that everything in the system includ!

ing categories, methods, messages, etc. is treated as an object. Uniformity has effects at the degree of the execution of the system and at the degree of the application scheduling and the user interface every bit good. Although uniformity is a nice characteristic and simplifies the execution of the system, it can sometimes confound the users since in world there is no absolute uniformity.

The design of the relational database system and the mechanisms that they use have been mathematically founded. Most of them are the consequence of long research periods that lead to the successful resolution of the most of import jobs that occurred in these systems. The object-oriented database systems, since they are reasonably new, do non hold a really sound theoretical solution for many of the issues that arise from their executions. Here are some of the jobs introduced by the new attack:

& # 8226 ; The object-oriented theoretical account contains some constructs whose semantics are still under treatment. There is no standard informations theoretical account and accordingly there is no standard methodological analysis for planing an object-oriented strategy. For the relation systems on the contrary, the ER diagram is wholly acceptable.

& # 8226 ; The question linguistic communication of the relational systems was base on the mathematical theory of the relational algebra and the relational concretion. There is non something similar for the OODBMS. A batch of attempt has been done for the definition of an object-oriented algebra since it is clear that the relational algebra is unequal for the support of the object-oriented theoretical account.

& # 8226 ; The traditional indexing and locking techniques used should be extended in order to be used for object-oriented databases. The composite objects cause a batch of problem and is still an unfastened research issue.

& # 8226 ; The complexness of the hierarchies of categories created can be so large that the scheme can be handled with trouble.

The object-oriented systems are really much successful in countries where their predecessors failed:

& # 8226 ; The design of the scheme can be done in a really direct manner since the object-oriented theoretical account is really near to the existent universe theoretical account. On the contrary, the relational design which is based on canonical signifiers of the relational system is much more awkward.

& # 8226 ; The care of the database is much easier due to the scheme development installations and the modular design allowed by the object-oriented theoretical account.

& # 8226 ; The individuality construct that gives one internal arrow to each object throughout its life protects the consistence of the database and helps patterning similar existent universe entities. In the relational systems, this designation figure was necessarily user provided.

& # 8226 ; The database is non merely used for hive awaying informations but besides pieces of codification ( methods ) that run on the information. Consequently, a whole application can be stored and executed with the aid of the OODBMS that besides supports its care.

& # 8226 ; The heritage construct makes codifications easy reclaimable.

& # 8226 ; The expensive articulation operations of the relational systems have been substituted by the composite object impression, which combined with the constellating mechanism can better the public presentation of the composite object retrieval.

There are many applications that have been utilizing the relational systems really successfully now for many old ages and they do non necessitate to alter. However, there are a twosome of other applications particularly in the technology Fieldss that don & # 8217 ; t do much with relational systems, chiefly from the patterning facet. For these sorts of applications, the object-oriented attack seems rather appropriate in malice of the jobs that still have to be solved. Plants Cited

Brown, A.W. Object-Oriented Databases: Applications in Software Engineering. McGraw-Hill, 1991.

Burleson, D.K. Practical Application of Object-Oriented Techniques to Relational Databases. Wiley/QED, 1994.

Chorafas, D.N. and H. Steinmann. Object-Oriented Databases. Prentice-Hall, 1993.

Delobel, C. , C. Lecluse, and P. Richard. Databases: From Relational to Object-Oriented Systems. ITP, 1995.

Gray, P.M.D. , K.G. Kulkarni, and N.W. Paton. Object-Oriented Databases: A Semantic Data Model Approach. Prentice-Hall, 1992.

Hughes, J.G. Object-Oriented Databases. Prentice-Hall, 1991.

Kemper, A. and G. Moerkotte. Object-Oriented Database Management: Applications in Engineering and Computer Science. Prentice-Hall, 1994.

Kim, W. Introduction to Object-Oriented Databases. MIT Press, 1990.

Loomis, M.E.S. Object Databases: The Necessities. Addison-Wesley, 1995.

Rao, B.R. Object-Oriented Databases: Technology, Applications, and Products. McGraw-Hill, 1994.

Post a Comment

Your email address will not be published. Required fields are marked *

*

x

Hi!
I'm Katy

Would you like to get such a paper? How about receiving a customized one?

Check it out