Mis on andmete juurdepääsukiht?

Andmejuurdepääsukiht (DAL) on iga arvutiprogrammi konkreetne osa, mis hõlbustab juurdepääsu programmi ja mis tahes tüüpi püsimälu vahel. Programmid on kõik arvutis töötavad rakendused; püsimälu tähendab mis tahes püsivat salvestuskohta arvutis, näiteks kõvakettad. Töötamise ajal kirjutavad programmid pidevalt kõvakettale ja loevad teavet kõvakettale. Andmejuurdepääsukihi ülesanne on tagada, et iga süsteemis töötav programm saaks vajaliku teabe kätte niipea, kui ta seda vajab.

Nagu ärisuhte vahendaja või tarnija, asub andmetele juurdepääsukiht programmi ja salvestusseadme vahel. Igal arvutis töötaval programmil, mis vajab juurdepääsu kõvakettal olevale teabele, on töötavad andmejuurdepääsukihid. Selle asemel, et programmi põhiosa suhtleks otse püsiva salvestuskohaga, delegeerib see vastutuse andmete juurdepääsukihile, mis seejärel tegutseb programmi nimel ülesande täitmisel. Selle ainus “töö” on teabe edasi-tagasi segamine, vabastades ülejäänud programmi oma muude kohustuste täitmiseks.

Tüüpiline näide toimivast andmejuurdepääsukihist hõlmab programmi, mille tööks on vaja välist teavet; teisisõnu teave, mida programm intuitiivselt ei oma. Näiteks kui programm püüab arvutada ettevõtte kasumimarginaali muutusi viimase 10 aasta jooksul, ei ole tõenäoline, et see teave tegelikus programmis olemas on. See eksisteerib siiski ettevõtte finantsdokumentide andmebaasis. Kui programm mõistab, et selleks on vaja „finantsaruannet X” või „kasumiaruannet Y”, käsib see andmete juurdepääsukihil see teave leida. Andmejuurdepääsukiht tõmbab seejärel vajaliku teabe vastavast andmebaasist või tabelist, tagastades selle programmile, et see saaks jätkata tööd.

Mõned andmepääsukihti kasutavad programmid sõltuvad andmebaasist; see tähendab, et need on loodud töötama ühe kindla andmebaasitüübiga, piirates nende ülekantavust. Teised on andmebaasist sõltumatud, pakkudes võimalust töötada koos suurema hulga andmebaasitarkvaraga. Kuigi võib tunduda, et sõltuvad andmejuurdepääsukihi programmid on vähem kasulikud, ei pruugi see nii olla. Kuna need on programmeeritud töötama ühte tüüpi andmebaasidega, optimeeritakse neid tõenäoliselt tõhusamalt, pakkudes kiiremat jõudlust, töötades koos kavandatud tüüpi andmebaasisüsteemiga.