Object-relational impedance mismatch
The object-relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system (RDBMS) is being served by an application program (or multiple application programs) written in an object-oriented programming language or style, particularly because objects or class definitions must be mapped to database tables defined by relational schemata.
The term object-relational impedance mismatch is derived from the electrical engineering term impedance matching.
Fundamentally, objects (instances) reference one another and therefore form a graph in the mathematical sense (a network including loops and cycles). Relational schemas are, in contrast, tabular and based on the Relational algebra which defines linked heterogenous tuples (groupings of data fields into a "row" with different types for each field).
Converting linked tabular rows to graph structures is hard, and even described as the Vietnam of Computer Science.
See also
- Object-oriented programming
- Object-relational mapping - a programming technique for converting data (computing) between incompatible type systems in object-oriented programming languages.
External links
- Object-relational impedance mismatch @ Wikipedia