Design patterns aren't just for application code. In this extract from Data Access Patterns: Database Interactions in Object-Oriented Applications, Clifton Nock explains the Data Accessor pattern, which decouples application logic from the physical data access implementation by defining an abstraction that exposes only logical operations to the application code.
This chapter is from the book
Encapsulates physical data access details in a single component, exposing only logical operations. Application code maintains
knowledge about the underlying data model, but is decoupled from data access responsibilities.