Chapter 7. The Object-Relational Impedance Mismatch

The differences make us stronger, as long as they don't divide us in the process.

Object-oriented technologies support the creation of applications out of classes that implement both data and behavior. Relational technologies support the storage of data in tables and the manipulation of that data via a data manipulation language (DML). The Structured Query Language (SQL) is the traditional DML implementation language although some relational databases now internally support objects as well, a trend that will only grow stronger over time. It is clear that object technologies and relational technologies are in common use in most organizations, that both are here to stay for a while, and that both are being used together to build complex software-based systems. It is also clear that the fit between the two technologies isn't perfect; in the early 1990s, the difference between the two approaches was labeled the object-relational impedance mismatch, (or the impedance mismatch for short), a term that is still in common use today.

Much of the conversation about the impedance mismatch focuses on the technical differences between object and relational technologies, and rightfully so because there are significant differences. Unfortunately, there has been less attention spent on the cultural differences between the object-oriented community and the data community. These differences are often revealed when object professionals and data professionals ...

Get Agile Database Techniques: Effective Strategies for the Agile Software Developer now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.