インピーダンスミスマッチ【impedance mismatch】

もとは電気工学の用語で、回路間の電気的特性(インピーダンス)がズレていると、信号が反射・減衰してしまう現象を指す。この概念がソフトウェア工学に転用され、現在では主に、オブジェクト指向プログラミングとリレーショナルデータベースの間で生じるデータ構造の齟齬を指す文脈で用いられることが多い。
オブジェクト指向言語では、データをオブジェクト(クラスのインスタンス)として扱い、継承や関連といった複雑な構造を表現する。一方、リレーショナルデータベースはデータを行と列からなる「表」(テーブル)の形式で管理し、テーブル同士の結合によって関係を表現する。この両者はデータの持ち方が根本的に異なるため、アプリケーション側でオブジェクトをデータベースに書き込んだり、逆に読み出したりする際に変換処理が必要になる。
この変換を担うのが「O/Rマッピング」(ORM:Object/RDB Mapping)と呼ばれる技術である。Javaの「Hibernate」やRuby on Railsの「Active Record」などが代表例で、開発者がSQLを直接記述しなくてもオブジェクトとテーブルを対応付けられるよう設計されている。ただし、ORMを用いても複雑なクエリや継承関係の表現においては限界があり、変換の仕組みを完全に隠蔽できるわけではない。