Sloj pristupa podacima (DAL) je specifičan dio svakog računalnog programa koji olakšava pristup između programa i bilo koje vrste trajne pohrane. Programi su sve aplikacije koje se izvršavaju na računalu; trajna pohrana odnosi se na bilo koje trajno mjesto za pohranu na računalu, kao što su tvrdi diskovi. Dok rade, programi neprestano pišu i čitaju informacije na i s tvrdog diska. Funkcija sloja pristupa podacima je osigurati da bilo koji program koji se izvodi na sustavu može dobiti informacije koje su mu potrebne čim mu zatrebaju.
Poput posrednika ili dobavljača u poslovnom odnosu, sloj pristupa podacima stoji između programa i uređaja za pohranu podataka. Svaki program koji radi na računalu koji treba pristupiti informacijama na tvrdom disku ima radne slojeve pristupa podacima. Umjesto da glavno tijelo programa komunicira izravno s trajnom lokacijom za pohranu, on delegira odgovornost sloju pristupa podacima, koji tada djeluje u ime programa kako bi izvršio zadatak. Njegov jedini “posao” je miješanje informacija naprijed-natrag, oslobađajući ostatak programa za izvršavanje svojih drugih odgovornosti.
Tipičan primjer funkcionalnog sloja pristupa podacima uključuje program koji zahtijeva vanjske informacije za rad; drugim riječima, informacije koje program intuitivno ne posjeduje. Na primjer, ako program pokušava izračunati promjene u profitnoj marži tvrtke u posljednjih 10 godina, malo je vjerojatno da će te informacije postojati unutar stvarnog programa. Međutim, postojat će unutar baze podataka financijskih zapisa tvrtke. Kako program shvaća da mu je potreban “Financijski izvještaj X” ili “Izvješće o zaradi Y”, on govori sloju za pristup podacima da pronađe te informacije. Sloj za pristup podacima tada izvlači potrebne informacije iz odgovarajuće baze podataka ili tablice, vraćajući ih programu kako bi mogao nastaviti s radom.
Neki programi koji koriste sloj pristupa podacima ovise o bazi podataka; to znači da su dizajnirani za rad s jednom specifičnom vrstom baze podataka, ograničavajući njihovu prenosivost. Drugi su neovisni o bazi podataka, pružajući mogućnost funkcioniranja sa širim rasponom softvera baze podataka. Iako se može činiti da su ovisni programi sloja pristupa podacima manje korisni, to nije nužno slučaj. Budući da su programirani za rad s jednom vrstom baze podataka, vjerojatno će biti učinkovitije optimizirani, pružajući brže performanse dok funkcioniraju s predviđenom vrstom sustava baze podataka.