5. Object Oriented Model
Object oriented models were introduced to overcome the shortcomings of conventional models like Relational, Hierarchical and network model. An object oriented database is collection of objects whose behavior, state, and relationships are defined in accordance with object oriented concepts (such as objects, class, class hierarchy etc. )
The following diagram represents an example of object oriented database structure. Here Class vehicle is root of a class composition hierarchy including classes VehicleSpecs, Company and Employee. Class Vehicle is also root of a class Hierarchy involving classes. Two Wheeler and FourWheeler. Class Company is in turn, root of a class hierarchy with subclasses Domestic Company and ForeignCompany. It is also root of a class composition hierarchy involving class Employee.
For above database structure a typical query may be “President’s and Company’s names for all companies that manufacture two wheeler vehicles and are located in Pune, India”.
- Data access is easy.
- It provides higher performance management of objects and complex interrelationships between objects.
- Unlike traditional databases (such as hierarchical, network or relational), the object oriented database are capable of storing different types of data, for example, pictures, voice video, including text, numbers and so on.
- There is no universally agreed data model for an OODBMS, and most models lack a theoretical foundation.
- The increased functionality provided by the OODBMS makes the system more complex than that of traditional DBMSs.
6. Object relational model
The object-relational model is designed to provide a relational database management that allows developers to integrate databases with their data types and methods. It is essentially a relational model that allows users to integrate object-oriented features into it. Object relational model combine advantages of both modern object oriented programming languages with relational database features such as multiple views of data and high level non procedural query language. Some of these systems available In market are IBM’s DB2 universal server, oracle corporations oracle 8, Microsoft Corporations SQL server 7 and so on.
- It allows users to define new data types that combine one or more of the currently existing data types. Complex types aid in better flexibility in organizing the data on a structure made up of columns and tables.
- Users are able to extend the capability of the database server; this can be done by defining new data types, as well as user-defined patterns. This allows the user to store and manage data.
- Storage structures and access methods become quite complex.
- Issues related to indexing on user defined types are experienced.