Object vs. Relational Navigating the Key Differences in Database Design

The main differences between designing relational and object databases**

Object databases and (ODB) relationships have three distinct differences: how relationships are handled, how inheritance is handled, and the timing of specifying operations in object databases compared to relational databases as described by Elmasri & Navathe (2015).

Relationships are handled differently between ODBs and RDBs. The ODB uses the Object Identifier commonly known as an OID. The OID reference is the relationship property, or reference attribute, that relates objects, as Elmasri & Navathe (2015) point out. OID references for a binary relationship can be declared in one direction or both directions depending on the required access needed. If the binary relations is specified in both directions, this is the same as creating a relational database constraint.

The difference between the ODB’s OID and the RDB is that a relation in an RDB has attributes or columns that match up with an attribute or column in another relation. The primary key attribute in one relation and a foreign key in the referencing relations tuples connected to the relation with the primary key attribute can only have a single value tuple or record since multivalued attributes are not allowed in the relational model.

Another relation or table is needed to resolve or connect the multivalued attributes.

The second difference, as described by Elmasri & Navathe (2015), is how the ODB and RDB handle inheritance. The ODB uses the inheritance construct, but in the RDB there are multiple-relation options and single-relation options for a basic relational model.

Elmasri & Navathe (2015) point out that the last significant difference is the ODB design. With the ODB design, one needs to create the operations early in the object design process because they are included in the class specification. Although it is essential to specify operations during the design phase for all types of databases, the operations design may be delayed in RDB design as it is not strictly required until the implementation phase.

The third significant difference is that in ODB design, it is necessary to specify the operations early since they are part of the class specifications. Specifying RDB operations during the design phase can be delayed because they are not required until the implementation phase.


Elmasri, R., Navathe, S. B. (2015-06-01). Fundamentals of Database Systems, 7th Edition

[VitalSource Bookshelf version]. Retrieved from (https://bookshelf.vitalsource.com/books/9781323139899)

Harrington, J. L. (2010). SQL clearly explained (3rd ed.). NL: Morgan Kaufmann Publishers Inc.

Posts in this Series