En entreprise, les logiciels les plus fréquemment développés sont des interfaces utilisateurs permettant la gestion d'un ensemble de données tel que les données clients d'une entreprise. Ils veulent pouvoir ajouter, supprimer et modifier les informations de leurs clients. Une base de données permet de stocker leur information.
Lors de la démocratisation de l'informatique, dans les premiers programmes de gestion, l'interface utilisateur lisait, modifiait la base de données et enregistrait celle-ci. Très vite, avec l'évolution de ces logiciels, les développeurs ont très vite aperçu les limites de cette technique.