DBMSの機能を抽象化するメリットとしては、DBMSが変わっても同じように扱えるという点が挙げられます。共通の操作インターフェイスを通して、それぞれのDBMSを操作できるのです。この共通の操作インターフェイスを抽象化レイヤと呼びます(図2)。いわば、さまざまなDBMSの操作法の最大公約数のようなものです。 こうすることで、特定のDBMSに依存しないアプリケーションを作成できるようになります。ただし、抽象化レイヤを経由すると、DBMSのすべての機能を使えなくなる可能性があります。抽象化レイヤを使わないと、アプリケーションが特定のDBMSに依存することになりますが、クライアントライブラリ固有の機能をすべて使えるというメリットがあります。 PHPではこの抽象化レイヤとして、PHP Data Objects(PDO)、Open Database Connectivity(ODBC)、DBAの3種類