Is a component for managing relational data as objects.
- the data model of a relational database is mapped to an object model
- translates into SQL the language-integrated queries in the object model and sends them to the database for execution
- translates database result back to objects