Un livello di accesso ai dati (DAL) è una parte specifica di ogni programma per computer che facilita l’accesso tra il programma e qualsiasi tipo di memoria permanente. I programmi sono tutte le applicazioni in esecuzione sul computer; l’archiviazione permanente si riferisce a qualsiasi posizione di archiviazione permanente sul computer, come i dischi rigidi. Durante l’esecuzione, i programmi scrivono e leggono costantemente informazioni da e verso il disco rigido. La funzione del livello di accesso ai dati è garantire che qualsiasi programma in esecuzione sul sistema sia in grado di ottenere le informazioni di cui ha bisogno non appena ne ha bisogno.
Come un intermediario o un fornitore in una relazione d’affari, il livello di accesso ai dati si trova tra il programma e il dispositivo di archiviazione. Ogni programma in esecuzione sul computer che deve accedere alle informazioni sul disco rigido ha livelli di accesso ai dati funzionanti. Invece del corpo principale del programma che comunica direttamente con la posizione di memorizzazione persistente, delega la responsabilità al livello di accesso ai dati, che quindi agisce per conto del programma per svolgere l’attività. Il suo unico “lavoro” è quello di mischiare le informazioni avanti e indietro, liberando il resto del programma per adempiere alle sue altre responsabilità.
Un tipico esempio di un livello funzionante di accesso ai dati riguarda un programma che richiede informazioni esterne per funzionare; in altre parole, informazioni che il programma non possiede intuitivamente. Ad esempio, se un programma sta cercando di calcolare i cambiamenti nel margine di profitto di un’azienda negli ultimi 10 anni, è improbabile che tali informazioni siano presenti all’interno del programma effettivo. Tuttavia, esisterà all’interno di un database di documenti finanziari dell’azienda. Quando il programma si rende conto che richiede “Rendiconto finanziario X” o “Rapporto sugli utili Y”, indica al livello di accesso ai dati di trovare tali informazioni. Il livello di accesso ai dati quindi preleva le informazioni necessarie dal database o dalla tabella appropriati, restituendole al programma in modo che possa continuare a funzionare.
Alcuni programmi che utilizzano un livello di accesso ai dati dipendono dal database; ciò significa che sono progettati per funzionare con un tipo di database specifico, limitando la loro trasferibilità. Altri sono indipendenti dal database, offrendo la possibilità di funzionare con una gamma più ampia di software di database. Sebbene possa sembrare che i programmi del livello di accesso ai dati dipendenti siano meno utili, non è necessariamente così. Poiché sono programmati per funzionare con un tipo di database, è probabile che vengano ottimizzati in modo più efficiente, fornendo prestazioni più veloci mentre funzionano con il tipo di sistema di database previsto.