[1][2] The interface of an object conforming to this pattern would include functions such as Insert, Update, and Delete, plus properties that correspond more or less directly to the columns in the underlying database table.
The wrapper class implements accessor methods or properties for each column in the table or view.
Typically, foreign key relationships will be exposed as an object instance of the appropriate type via a property.
Another critique of the active record pattern is that, due to the strong coupling of database interaction and application logic, an active record object does not follow the single responsibility principle and separation of concerns.
[citation needed] Typically that part is data access and why several ORMs implement the active record pattern.