Design patterns·Objects and the database between them
inheritance, collections and object identity all had to become foreign keys, and none of the three translations were free.
Object-relational impedance mismatch
Also calledimpedance mismatch, object relational mismatch
The structural gap between an object model — identity, references, inheritance, encapsulation — and a relational one — keys, joins, tables, no behaviour. It is why mapping inheritance requires a choice of three imperfect strategies, why a collection becomes a join table, and why object identity and primary keys are not the same thing. Naming it is what stops a team believing there is a mapping tool somewhere that does not have these problems.