Dataåtkomstlager
Ett dataåtkomstlager ( DAL ) i datorprogram är ett lager i ett datorprogram som ger förenklad åtkomst till data som lagras i beständig lagring av något slag, till exempel en entitetsrelationell databas . Denna förkortning används ofta i Microsoft- miljöer.
Till exempel kan DAL returnera en referens till ett objekt (i termer av objektorienterad programmering ) komplett med dess attribut istället för en rad med fält från en databastabell . Detta gör att klient- (eller användar-) moduler kan skapas med en högre abstraktionsnivå . Denna typ av modell skulle kunna implementeras genom att skapa en klass av dataåtkomstmetoder som direkt refererar till en motsvarande uppsättning databaslagrade procedurer. En annan implementering skulle potentiellt kunna hämta eller skriva poster till eller från ett filsystem. DAL döljer denna komplexitet i det underliggande datalagret från den yttre världen.
Till exempel, istället för att använda kommandon som infoga , ta bort och uppdatera för att komma åt en specifik tabell i en databas, kan en klass och några lagrade procedurer skapas i databasen. Procedurerna skulle anropas från en metod inuti klassen, som skulle returnera ett objekt som innehåller de begärda värdena. Eller så kan kommandona infoga, ta bort och uppdatera utföras inom enkla funktioner som registeranvändare eller loginuser lagrade i dataåtkomstlagret.
Även affärslogikmetoder från en applikation kan mappas till dataåtkomstlagret. Så, till exempel, istället för att göra en fråga till en databas för att hämta alla användare från flera tabeller, kan applikationen anropa en enda metod från en DAL som abstraherar dessa databasanrop.
Applikationer som använder ett dataåtkomstlager kan vara antingen databasserverberoende eller oberoende. Om dataåtkomstskiktet stöder flera databastyper, kan applikationen använda alla databaser som DAL kan prata med. I båda fallen ger ett dataåtkomstlager en centraliserad plats för alla anrop till databasen, och gör det således lättare att portera applikationen till andra databassystem (förutsatt att 100 % av databasinteraktionen görs i DAL för en given Ansökan).
för objektrelationell mappning tillhandahåller datalager på detta sätt, efter mönstren för Active Record eller Data Mapper . ORM /active-record - modellen är populär med webbramverk.