Active Record

Active Record

In der Software-Entwicklung ist Active Record ein Architekturmuster für objektorientierte Software die Daten in einer Relationalen Datenbank speichert.

Inhaltsverzeichnis

Wirkungsweise

Benannt wurde es von Martin Fowler in seinem Buch Patterns of Enterprise Application Architecture[1]. Ein Objekt stellt nach diesem Muster in der Regel Schnittstellen zum Einfügen, Ändern und Löschen bereit. Diese beziehen sich dann direkt auf die zugrundeliegende(n) Tabelle(n).

Active Record ist ein Ansatz, auf Daten zuzugreifen, die in einer Datenbank liegen. Zu einer Datenbanktabelle wird dabei eine entsprechende Klasse erstellt. Ein Objekt, bzw eine Instanz dieser Klasse entspricht dann einer Zeile in der Tabelle. Das Erzeugen eines neuen Objekts führt demnach zu einer neuen Zeile in der Tabelle. Jedes Objekt das geladen wird bezieht seine Informationen aus der Datenbank. Wenn ein Objekt geändert wird, so wird auch die korrespondierende Zeile in der Tabelle geändert. Die Klasse implementiert Zugriffsmethoden für jedes Attribut, bzw. jede Spalte der Tabelle.

Implementierungen

Es gibt zahlreiche Software Frameworks die das Active Record Muster implementieren. Wenn es z.B. eine Datenbanktabelle produkte mit den Spalten name und preis gibt, und das Active Record Muster als Klasse Produkt implementiert ist, dann erzeugt der folgende Pseudo-Code eine neue Zeile in der Tabelle produkte mit den gegebenen Attributen.

produkt = new Produkt()
produkt.name = "Beispielprodukt"
produkt.preis = 1.99
produkt.save()

Das entspricht etwa dem SQL Befehl:

 INSERT INTO produkte(name, preis) VALUES ('Beispielprodukt', 1.99);

Umgekehrt kann die Klasse Produkt auch verwendet werden um ein Produkt zu laden:

produkt = Produkt.findFirst("name", "Beispielprodukt")

Das erzeugt ein neues Produkt-Objekts, das dem ersten Produkt aus der produkte Tabelle entspricht, das den Namen "Beispielprodukt" hat. Das entsprechende SQL dazu könnte z.B. so aussehen:

 SELECT * FROM parts WHERE name = 'Beispielprodukt' LIMIT 1; -- MySQL oder PostgreSQL

Einzelnachweise

  1. Martin Fowler: Patterns of enterprise application architecture. Addison-Wesley 2003, ISBN 978-0-321-12742-6

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Active record — (patron de conception) En génie logiciel, le patron de conception (design pattern) active record (enregistrement actif en anglais) est une approche pour lire les données d une base de données. Les attributs d une table ou d une vue sont… …   Wikipédia en Français

  • Active Record (Patron De Conception) — En génie logiciel, le patron de conception (design pattern) active record (enregistrement actif en anglais) est une approche pour lire les données d une base de données. Les attributs d une table ou d une vue sont encapsulés dans une classe.… …   Wikipédia en Français

  • Active record (motif de conception) — Active record (patron de conception) En génie logiciel, le patron de conception (design pattern) active record (enregistrement actif en anglais) est une approche pour lire les données d une base de données. Les attributs d une table ou d une vue… …   Wikipédia en Français

  • Active record pattern — In computer science, the active record pattern is a design pattern frequently found in software that stores its data in relational databases. It was named by Martin Fowler in his book Patterns of Enterprise Application Architecture .Active record …   Wikipedia

  • Active record (patron de conception) — En génie logiciel, le patron de conception (design pattern) active record (enregistrement actif en anglais) est une approche pour lire les données d une base de données. Les attributs d une table ou d une vue sont encapsulés dans une classe.… …   Wikipédia en Français

  • Active measures — (Russian: Активные мероприятия ) were a form of political warfare conducted by the Soviet security services (Cheka, OGPU, NKVD, KGB, and SVR) to influence the course of world events, in addition to collecting intelligence and producing… …   Wikipedia

  • Active — may mean:* Active lifestyle * Active volcano * Sky Active, Sky s Interactive Service * Active grammatical voice * Active component, in electronics * The active partner in a sexual activity * An active in a fraternity or sorority * ACTIVE Active… …   Wikipedia

  • Active Records — is a record sublabel of RCA. Label focuses mainly in heavy metal music.Bands* Atheist * Budgie * Candlemass * Therion * DestinyReferences* cite web last = first = authorlink = coauthors = year = 2006 url =… …   Wikipedia

  • Active Major League Baseball playoff appearance streaks — The following is a list of Major League Baseball teams with the most consecutive (active) seasons appearing in the playoffs. This refers to teams which have made the playoffs after the 162+ game regular season either by winning one of the six… …   Wikipedia

  • Active Directory Service — Der Verzeichnisdienst von Microsoft Windows 2000/Windows Server 2003 heißt Active Directory (AD). Ab der aktuellen Version Windows Server 2008 wird die Kernkomponente als Active Directory Domain Services (ADDS) bezeichnet. Bei einem Verzeichnis… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”