En los lenguajes actuales, gozamos de una característica que aunque es en general tremendamente útil, nos hace olvidar que está ahí, y quitarle la importancia que merece.
Se trata de las capas lógicas que permiten la abstracción de datos, es decir, atacar a diferentes bases de datos, sin tener que hacer cambios de operativa en el código.
ODBC en Windows; ADO o ADO.NET en entornos Microsoft; JDBC en plataformas Java, o ADODB para PHP, nos permiten escribir un código único, capaz de acceder a datos, independientemente del sistema dónde estén almacenados.
Bien es cierto, que si realmente queremos ser independientes del SGBD (Sistema de Gestión de Base de Datos), las operaciones deben limitarse al mínimo común entre ellas, sin embargo, ya de por si, es un gran avance.
Los sistemas de abstracción de datos, tienen sus raices en la tecnología RDD (Replaceable Database Drivers), presentada por Nantucket en el Clipper 5.0 allá por el año 1990.
Desde el punto de vista actual, la base de RDD, que basicamene ofrecía la posibilidad de enlazar con diferentes librerías de accceso a datos nuestro programa, puede resultar algo tosca, pero en efecto, no dista demasiado de los mecanismos que utilizamos hoy día.