README.rdoc

Active Record – Object-relational mapping in Rails

Active Record connects classes to relational database tables to establish
an almost zero-configuration persistence layer for applications. The
library provides a base class that, when subclassed, sets up a mapping
between the new class and an existing table in the database. In the context
of an application, these classes are commonly referred to as models.
Models can also be connected to other models; this is done by defining
associations.

Active Record relies heavily on naming in that it uses class and
association names to establish mappings between respective database tables
and foreign key columns. Although these mappings can be defined explicitly,
it's recommended to follow naming conventions, especially when getting
started with the library.

Philosophy

Active Record is an implementation of the object-relational mapping (ORM)
pattern
by the same name described by Martin Fowler:

"An object that wraps a row in a database table or view,
encapsulates the database access, and adds domain logic on that data."

Active Record attempts to provide a coherent wrapper as a solution for the
inconvenience that is object-relational mapping. The prime directive for
this mapping has been to minimize the amount of code needed to build a
real-world domain model. This is made possible by relying on a number of
conventions that make it easy for Active Record to infer complex relations
and structures from a minimal amount of explicit direction.