O padrão DAO surgiu para resolver um problema recorrente em sistemas cadastrais, onde comandos SQL dispersos, em meio ao código do aplicativo, diminuem o reuso e aumentam a dificuldade de manutenção. Esse padrão tem como objetivo concentrar os comandos SQL em classes específicas, onde o método alterar, por exemplo, receberia uma entidade como parâmetro e invocaria um comando do tipo:
A CREATE
B INSERT
C DELETE
D SELECT
E UPDATE