「インピーダンスミスマッチ」の版間の差分

 
16行目: 16行目:


=== 解決策 ===
=== 解決策 ===
[[プログラミング言語]]から[[データベース]]を意識させないことでインピーダンスミスマッチを強制的に整合させる各種[[ライブラリ]]が開発されている。これらのライブラリは重量級のものは「[[ORM]]」、軽量なものは「[[Micro ORM]]」などと呼ばれる。
[[プログラミング言語]]から[[データベース]]を意識させないことでインピーダンスミスマッチを強制的に整合させる各種[[ライブラリ]]が開発されている。重量級のものは「[[ORM]]」、軽量なものは「[[Micro ORM]]」などと呼ばれる。
 
これらのライブラリはプログラミング言語側の意見が優先され、特定のデータベースの固有機能は蔑ろにされる傾向がある。このような実装は最小公倍数的な実装になるため痒いところに手が届かないという欠点もあるが、異なるデータベースに比較的簡単に対応することができるという利点でもある。
 
ほとんどの[[ORM]]では[[プリペアドステートメント]]的な当たり前のようにやっているため、[[SQLインジェクション]]などの[[バグ]]も混入しにくい。