Good Article on Database Abstraction 
Found this article through planet MySQL. In it he goes over 4 different “types” of abstraction layers that typically are collectively called a “database abstraction layer” - though they are very different from one another. I found it an interesting read.
His 4 types:
1. A software library to connect to a database server and issue queries, fetch results etc.
2. A software library to present a common API to different database servers.
3. A software library to automatically generate portable SQL queries.
4. A software library to map Object-Oriented Programming to a relational database (Object-Relational Mapping, or ORM)
August 14th, 2006 at 6:41 am
Yes, very interesting.
1 Zend_Db, PEAR::MDB2, ezc_Database
2. PDO ?
3. Zend_Db_Select
4. Propel/Creole, Zend_Db_Table, PEAR::Db_DataObject, ezc_PersistentObject, Cake_Model, (RoR_AR)
Some existing projects related to these different types.
August 14th, 2006 at 9:39 am
1 & 2: PDO
3 & 4: Doctrine