Database Abstraction Layer (DBAL)

A Database Abstraction Layer, a DBAL, provides one unique interface to build, and execute queries on different databases. This is said to help with migration between different flavors of databases, yet SQL language usually prevents it.

See also https://www.doctrine-project.org/

Related : Object Relational Mapping (ORM)

Related packages : doctrine/dbal, dibi/dibi, illuminate/database