Zum Inhalt springen

CRUD

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 15. November 2005 um 13:52 Uhr durch 62.245.222.66 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

CRUD [kɹʌd] ist ein Akronym aus der Informatik. Das Akronym umschreibt die grundlegenden Datenbankoperationen Create (Datensatz anlegen), Retrieve (Datensatz abfragen), Update (Datensatz aktualisieren), und Delete (Datensatz löschen).

Versucht man die genannten Operationen auf SQL-92 konforme Sprachkonstrukte abzubilden, so hat dies wie in der nachfolgenden Tabelle zu erfolgen.

Create: insert into
Retrieve: select * from
Update: update
Delete: delete from

Vielfach werden die einzelnen CRUD-Operationen mittels einer Persistenz-Schicht umgesetzt. Die Persistenz-Schicht hebt die relationale Repräsentation der einzelnen Informationen, auf eine objektorientierte Ebene. Werden die einzelnen Daten-Objekte zudem in einer generische GUI visualisiert, sodass jedes Objekt durch eine der genannten CRUD-Operationen manipuliert werden kann, so spricht man in diesem Kontext auch von einem CRUD-Framework. Die nachfolgende Illustration ist der naked objects Dokumentation entliehen und stellt den möglichen Aufbau eines solchen CRUD-Frameworks dar.

Vergleich herkömmliches Framework (links) versus CRUD-Framework (rechts) am Beipiel von naked objects

Oftmals handelt es sich bei der grafischen Benutzeroberfläche eines CRUD-Frameworks um ein simples HTML-Interface. Typischerweise berücksichtigt das CRUD-Framework einzelne Transaktionsschritte. Dies hat zur Folge, dass Daten nur gespeichert werden, wenn innerhalb der HTML-Oberfläche der Speichern- bzw. Weiter-Button gedrückt wurde. Ist dies der Fall, so wird letztlich die Update-Operation ausgeführt.

Das CRUD-Framework weist selbstverständlich ein äquivalentes Veralten für die verbleibenden CRUD-Operationen auf. Es handelt sich bei einer CRUD-Operation folglich um einen atomaren Vorgang.

Atomare Operationen sind in diesem Zusammenhang von Interesse, da moderne Software-Anwendungen oftmals als Mehrbenutzersystem realisiert werden. Ein CRUD-Framework erlaubt Lesen und Schreiben eines Datensatzes auch dann, wenn beide Operationen zeitlich stark versetzt erfolgen. Trotzdem ist es anderen Personen gestattet während dieser Zeit denselben Datensatz auszulesen. Folglich wurde der Datensatz nicht gesperrt.

Mögliche CRUD-Frameworks

Open Source Frameworks