Data Access Patterns: Database Interactions in Object-Oriented Applications