Un strat de acces la date (DAL) este o porțiune specifică a fiecărui program de calculator care facilitează accesul între program și orice tip de stocare persistentă. Programele sunt orice aplicație care rulează pe computer; stocarea persistentă se referă la orice locație de stocare permanentă de pe computer, cum ar fi hard disk-urile. În timp ce rulează, programele scriu și citesc în mod constant informații pe și de pe hard disk. Funcția stratului de acces la date este de a se asigura că orice program care rulează pe sistem este capabil să obțină informațiile de care are nevoie de îndată ce are nevoie.
La fel ca un intermediar sau furnizor într-o relație de afaceri, stratul de acces la date se află între program și dispozitivul de stocare. Fiecare program care rulează pe computer care trebuie să acceseze informațiile de pe hard disk are straturi de acces la date de lucru. În loc ca corpul principal al programului să comunice direct cu locația de stocare persistentă, acesta deleagă responsabilitatea stratului de acces la date, care apoi acționează în numele programului pentru a îndeplini sarcina. Singura sa „lucrare” este să amestece informațiile înainte și înapoi, eliberând restul programului pentru a-și îndeplini celelalte responsabilități.
Un exemplu tipic de nivel funcțional de acces la date implică un program care necesită informații externe pentru a funcționa; cu alte cuvinte, informații pe care programul nu le deține în mod intuitiv. De exemplu, dacă un program încearcă să calculeze modificări ale marjei de profit a unei companii în ultimii 10 ani, este puțin probabil ca aceste informații să existe în cadrul programului propriu-zis. Totuși, va exista într-o bază de date a înregistrărilor financiare ale companiei. Pe măsură ce programul realizează că necesită „Financial State X” sau „Earnings Report Y”, îi spune stratului de acces la date să găsească informațiile respective. Stratul de acces la date sifonează apoi informațiile necesare din baza de date sau tabel corespunzătoare, returnându-le programului pentru a putea continua să funcționeze.
Unele programe care folosesc un nivel de acces la date depind de baza de date; aceasta înseamnă că sunt proiectate să funcționeze cu un anumit tip de bază de date, limitând transferabilitatea acestora. Altele sunt independente de baze de date, oferind capacitatea de a funcționa cu o gamă mai largă de software pentru baze de date. Deși ar putea părea că programele dependente de nivel de acces la date sunt mai puțin utile, nu este neapărat cazul. Deoarece sunt programate să funcționeze cu un singur tip de bază de date, este probabil ca acestea să fie optimizate mai eficient, oferind performanțe mai rapide în timp ce funcționează cu tipul de sistem de bază de date dorit.