Magento uses an active record pattern strategy for persistence. In this system, the model object contains a resource model that maps an object to one or more database rows. A resource model is responsible for performing functions such as:
Executing all CRUD (create, read, update, delete) requests. The resource model contains the SQL code for completing these requests.
Performing additional business logic. For example, a resource model could perform data validation, start processes before or after data is saved, or perform other database operations.
If you expect to return multiple items from a database query, then you would implement a special type of resource model known as a collection. A collection is a class that loads multiple models into an array-like structure based on a set of rules. This is similar to a SQL WHERE clause.