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.
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.
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.
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.
First Page: Object-Relational Model