26 Nov impedance mismatch
Object-oriented programming languages enable developers to build systems, services and applications out of objects that have both data and behavior (methods). Relational databases store data in tables bound together through primary and foreign keys. Object-oriented programming is based on time-tested software engineering principles while the “relational” paradigm is based on mathematical principles. Because the underlying paradigms are different the two technologies require an intervening transformation layer to work together seamlessly. “The impedance mismatch becomes apparent when you look at the preferred approach to access: With the object paradigm you traverse objects via their relationships whereas with the relational paradigm you join the data rows of tables. This fundamental difference results in a non-ideal combination of object and relational technologies” (Scott Wambler at Agile Data).