A variedade de linguagens e ambientes de programação e de
fornecedores de bancos de dados constitui um problema de
portabilidade para desenvolvedores, que precisam compatibilizar
diferentes peculiaridades quando seus programas manipulam
bases de dados.
Esse problema é amenizado, na prática, pelo uso de interfaces ou
drivers, genéricos, cujo modelo mais difundido é: