The Associative Model

What is the Associative Data Model?

The Associative data model is a model for databases unlike any of those we spoke of in prior articles. Unlike the relational model, which is record based and deals with entities and attributes, this model works with entities that have a discreet independent existence, and their relationships are modeled as associations.

The Associative model was bases on a subject-verb-object syntax with bold parallels in sentences built from English and other languages. Some examples of phrases that are suitable for the Associative model could include:

  • Cyan is a Color
  • Marc is a Musician
  • Musicians play instruments
  • Swings are in a park
  • A Park is in a City (the bold text indicates the verbs)

By studying the example above it is easy to see that the verb is actually a way of association. The association’s sole purpose is to identify the relationship between the subject and the object.

The Associative database had two structures, there are a set of items and a set of links that are used to connected them together. With the item structure the entries must contain a unique indication, a type, and a name. Entries in the links structure must also have a unique indicator along with indicators for the related source, subject, object, and verb.

How is the Associative Data Model different?

The Associative model structure is efficient with the storage room fore there is no need to put aside existing space for the data that is not yet available. This differs from the relational model structure. With the relational model the minimum of a single null byte is stored for missing data in any given row. Also some relational databases set aside the maximum room for a specified column in each row.

The Associative database creates storage of custom data for each user, or other needs clear cut and economical when considering maintenance or network resources. When different data needs to be stored the Associative model is able to manage the task more effectively then the relational model.

With the Associative model there are entities and associations. The entity is identified as discrete and has an independent existence, where as the association depends on other things. Let’s try to simplify this a little before moving on.

Let’s say the entity is an organization, the associations would be the customer and the employees. It is possible for the entity to have many business roles at the same time, each role would be recorded as an association. When the circumstances change, one or more of the associations may no longer apply, but the entity will continue to endure.

The Associative model is designed to store metadata in the same structures where the data itself is stored. This metadata describes the structure of the database and the how different kinds of data can interconnect. Simple data structures need more to transport a database competent of storing the varying of data that a modernized business requires along with the protection and managements that is important for internet implementation.

The Associative model is built from chapters and the user’s view the content of the database is controlled by their profile. The profile is a list of chapters. When some links between items in the chapters inside as well as outside of a specific profile exist, those links will not be visible to the user.

There is a combination of chapters and profiled that can simplify the making of the database to specific users or ever subject groups. The data that is related to one of the user groups would remain unseen to another, and would be replaced by a different data set.

{qbapagebreak title=Associative Data Model Disadvantages}

Are there any potential disadvantages to the Associative Data Model?

With the Associative model there is not record. When assembling all of the current information on a complex order the data storage needs to be re-visited multiple times. This could pose as a disadvantage. Some calculations seem to suggest that Associative database would need as many as four times the data reads as the relational database.

All of the changes and deletions to the Associative model are directly affected by adding links to the database. However we must not that a deleted association is not actually deleted itself. Rather it is linked to an assertion that has been deleted. Also when an entity is re-named it is not actually re-named but rather linked to its new name.

In order to reduce the complexity that is a direct result from the parameterization required by heftier software packages we can rely on the chapters, profiles and the continuation of database engines that expect data stored to be different between the individual entities or associations. To set of or hold back program functions in a database the use of “Flags” has begun to be practiced.

The packages that are based on an Associative model would use the structure of the database along with the metadata to control this process. This can ultimately lead to the generalization of what are often lengthy and costly implementation processes.

A generalization such as this would produce considerable cost reductions for users purchasing or implementing bigger software packages, this could reduce risks related with the changes of post implementation as well.

How well does the Associative Model suit the demands of data?

Some ask if there is still an ongoing demand for a better database. Honestly, there will always be that demand. The weaker points of the current relational model are now apparent, due to the character of the data we still need to store changing. Binary structures that are supportive to multimedia have posed real challenged for relational databases in the same way that the object-oriented programming methods did.

When we look back on the Object databases we can see that they have no conquered the market, and have their cousins the hybrid relational products with their object extensions. So will the Associative model solve some of the issues surrounding the relational model? The answer is not entirely clear, though it may resolve some issues it is not completely clear how efficiently the model will manage when set against the bigger binary blocks of data.

The security of data is crucial, as is the speed of transaction. User interfaces and database management facilities should but up to pace. When a database is designed to aid in the use of internet applications it should allow back ups without needing to take the data off-line as well.

Programming interfaces need to be hearty and readily available to a range of development languages, the Associative database will need to show that it is good practice to store data using the subject-verb-object method in every case as well. There will always be questions about maintaining performance as the database grows, this should be expected.

So what’s the verdict?

Areas of the Associative database design do seem simpler then the relational models, still as we have pointed out there are also areas that call for careful attention. There are issues related to the creation of chapters that remain daunting at best.

Even so, if the concept of the Associative model proves itself to be a genuinely feasible and is able to bring out a new and efficient database, then others could bring to life products that are built upon the base ideas that exist with this model.

There is definitely an undeniable demand for a faster operating database model that will scale up to bigger servers and down to the smaller devices. It will be an interesting journey to witness; I personally would like to see if the future databases built using this model can make their mark in the market.

Editorial Team at Geekinterview is a team of HR and Career Advice members led by Chandra Vennapoosa.

Editorial Team – who has written posts on Online Learning.

Pin It