What is the 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.
This design is most recently shown in the Nordic Object/Relational Model. The primary function of this new object-relational model is to more power, greater flexibility, better performance, and greater data integrity then those that came before it.
Some of the benefits that are offered by the Object-Relational Model include:
- Extensibility – 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.
. - Complex types – 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.
. - Inheritance – Users are able to define objects or types and tables that procure the properties of other objects, as well as add new properties that are specific to the object that has been defined.
. - A field may also contain an object with attributes and operations.
.. - Complex objects can be stored in relational tables.
The object-relational database management systems which are also known as ORDBMS, these systems provide an addition of new and extensive object storage capabilities to the relational models at the center of the more modern information systems of today.
These services assimilate the management of conventional fielded data, more complex objects such as a time-series or more detailed geospatial data and varied dualistic media such as audio, video, images, and applets.
This can be done due to the model working to summarize methods with data structures, the ORDBMS server can implement complex analytical data and data management operations to explore and change multimedia and other more complex objects.
What are some of the functions and advantages to the Object-Relational Model?
It can be said that the object relational model is an evolutionary technology, this approach has take on the robust transaction and performance management aspects of its predecessors and the flexibility of the object-oriented model (we will address this in a later article).
Database developers can now work with somewhat familiar tabular structures and data definition but with more power and capabilities. This also allows them to perform such task all the while assimilating new object management possibilities. Also the query and procedural languages and the call interfaces in the object relational database management systems are familiar.
The main function of the object relational model is to combine the convenience of the relational model with the object model. The benefits of this combination range from scalability to support for rich data types.
However, the relational model has to be drastically modified in order to support the classic features of the object oriented programming. This creates some specific characteristics for the object-relational model.
Some of these characteristics include:
- Base Data type extension
- Support complex objects
- Inheritance (which we discussed in more detail above.)
- And finally Rule systems
Object-relational models allow users to define data types, function, and also operators. As a direct result of this the functionality and performance of this model are optimized. The massive scalability of the object-relational model is its most notable advantage, and it can be seen at work in many of today’s vendor programs.
{qbapagebreak title=The History of the Object-Relational Model}
The History of the Object-Relational Model
As said before the Object-Relational model is a combination of the Relational Model and the Object Oriented Model. The Relational Model made its way into the world of data in the 1970s; it was a hit but managed to leave developers wanting more flexibility and capability.
The Object Oriented model seemed to move into the spot light in the 1990s, the idea of being able to store object oriented data was a hit, but what happened to the relational data?
Later in the 1990s the Object-Relational model was developed, combining the advantages of its most successful predecessors such as; user defined data types, user defined functions, and inheritance and sub-classes.
This model grew from the research conducted in the 1990s. The researches many goal was to extend the capabilities of the relational model by including objects oriented concepts. It was a success.
What about Object Relational Mapping?
Object-Relational mapping is a programming method used to convert data between incompatible data type systems in relational databases and object oriented languages. Here are some basics when it comes to mapping. Java classes can be mapped to relational database management systems tables.
The easiest way to begin mapping between a enduring class and a table is one-on-one. In a case such as this, all of the attributes in the enduring class are represented by all of the columns of the table. Each case in point of a business class is then in turn stored in a row of that table.
Though this particular type of mapping is pretty straightforward, it can conflict with the existing object and entity-relation (we discussed entities in the previous article) models. This is partially due to the fact that the goal of the object modeling is to model an organizational process using real world objects, (we will discuss more about object modeling in the following article), where as the goal of entity-relational modeling is to normalize and retrieve data in a quick manner.
Due to this two types of class to table modeling methods have been adopted by most users. This was to help overcome the issues caused by differences between the relational and object models. The two methods are known as SUBSET mapping and SUPERSET mapping.
Let’s talk briefly about these two methods.
With SUBSET Mapping the attributes of a persistent class, or described above as an enduring class, represent either a section of the columns in a table or all of the columns in the table.
SUBSET Mapping is used mostly when all of the attributes of a class are mapped to the same table. This method is useful also when a class is not concerned with a portion of the columns of its table in the database due to the fact that they are not a part of the business model.
SUBSET Mapping is used to create projection classes as well for tables with a sizable number of columns. A projection class contains enough information to enable the user to choose a row for complete retrieval from a database.
This essentially reduces the amount of information passed through out the network. This type of mapping can also be used to help may a class inheritance tree to a table of using filters.
Now let’s consider SUPERSET Mapping. With a persistent class the superset mapping method holds attributes taken from columns of more then one table. This particular method of mapping is also known as table spanning.
Mapping using the SUPERSET method is meant to create view classes that cover the underlying data model, or to map a class inheritance tree to a database by using a Vertical mapping tactic.
The final word
There are millions of other aspects and advantages to this model. The Object-Relational model does what no other single model before it could do. By combining the strongest points of those that did come before it, this model has surpasses expectations, and taken on a definitive role in database technology. Despite what models follow it, this model is here to stay.
Here is wonderful example of this model.