Una capa de acceso a datos (DAL) es una parte específica de cada programa de computadora que facilita el acceso entre el programa y cualquier tipo de almacenamiento persistente. Los programas son cualquier aplicación que se ejecute en la computadora; El almacenamiento persistente se refiere a cualquier ubicación de almacenamiento permanente en la computadora, como los discos duros. Mientras se ejecutan, los programas escriben y leen información constantemente hacia y desde el disco duro. La función de la capa de acceso a datos es garantizar que cualquier programa que se ejecute en el sistema pueda obtener la información que necesita tan pronto como la necesite.
Como un intermediario o proveedor en una relación comercial, la capa de acceso a datos se encuentra entre el programa y el dispositivo de almacenamiento. Cada programa que se ejecuta en la computadora y que necesita acceder a información en el disco duro tiene capas de acceso a datos en funcionamiento. En lugar de que el cuerpo principal del programa se comunique directamente con la ubicación de almacenamiento persistente, delega la responsabilidad en la capa de acceso a los datos, que luego actúa en nombre del programa para llevar a cabo la tarea. Su único «trabajo» es intercambiar información de un lado a otro, liberando al resto del programa para que cumpla con sus otras responsabilidades.
Un ejemplo típico de una capa funcional de acceso a datos implica un programa que requiere información externa para funcionar; en otras palabras, información que el programa no posee intuitivamente. Por ejemplo, si un programa intenta calcular cambios en el margen de beneficio de una empresa durante los últimos 10 años, es poco probable que esa información exista dentro del programa real. Sin embargo, existirá dentro de una base de datos de registros financieros de la empresa. A medida que el programa se da cuenta de que requiere un «Estado financiero X» o «Informe de ganancias Y», le dice a la capa de acceso a datos que encuentre esa información. Luego, la capa de acceso a los datos extrae la información necesaria de la base de datos o tabla correspondiente y la devuelve al programa para que pueda seguir funcionando.
Algunos programas que utilizan una capa de acceso a datos dependen de la base de datos; esto significa que están diseñados para trabajar con un tipo de base de datos específico, lo que limita su transferibilidad. Otros son independientes de la base de datos, lo que brinda la capacidad de funcionar con una gama más amplia de software de base de datos. Aunque puede parecer que los programas de la capa de acceso a datos dependientes son menos útiles, no es necesariamente el caso. Como están programados para trabajar con un tipo de base de datos, es probable que se optimicen de manera más eficiente, proporcionando un rendimiento más rápido mientras funcionan con el tipo de sistema de base de datos previsto.