Active Record je architektonický vzor pro práci s databází.
Implementací vzoru Active Record je objekt který nese data i chování.
Část dat má perzistentní podobu a potřebuje být uloženo v databázi.
Třída je odvozena od základní třídy, která implementuje rozhraní pro persistenci objektu – základní CRUD operace (create, read, update a delete).
Objekt, který obsahuje řádek v databázové tabulce nebo pohledu, zapouzdřuje přístup k databázi, a přidává doménovou logiku.
– Martin Fowler, 2002
Relace jsou reprezentovány jako objektově-orientovaný kód.
- třídy odpovídají tabulkám v databázi.
- objekty odpovídají řádkům v tabulkách.
- atributy objektu odpovídají sloupcům v řádku.
Každý objekt Active Record je odpovědný za
- ukládání dat do databáze
- načítání dat z databáze
- dodržování doménové logiky aplikované na vlastní data
Třída implementující vzor Active Record běžně umožňuje
- vytvoření objektu podle vráceného výsledku volání SQL dotazu
- vytvoření nového objektu pro pozdější vložení dat do tabulky
- statické metody zahrnující často používané SQL dotazy, které vracejí objekty Active Record
- vložení a aktualizaci dat z objektu do databáze
- získání a nastavení jednotlivých polí
- implementaci některých částí aplikační logiky