CRUD
DasAkronymCRUD [kɹʌd] umfasst die vier grundlegenden Operationenpersistenter Speicher[1]
- Create,Datensatz anlegen,
- Read oderRetrieve, Datensatz lesen,
- Update, Datensatz aktualisieren, und
- Delete oderDestroy, Datensatz löschen.
Von manchen Autoren wird alternativ das Akronym RUDI mitinsert an Stelle voncreate verwendet.[2]
CRUD-Sprachkonstrukte
[Bearbeiten |Quelltext bearbeiten]CRUD-Operationen können je nach Umgebung in verschiedenen Sprachkonstrukten ausgedrückt werden:
CRUD-Operation | SQL-92 | HTTP (REST) |
---|---|---|
Create | INSERT | PUT oderPOST |
Read (Retrieve) | SELECT | GET |
Update | UPDATE | PATCH oderPUT |
Delete (Destroy) | DELETE | DELETE |
CRUD-Frameworks
[Bearbeiten |Quelltext bearbeiten]Vielfach werden die einzelnen CRUD-Operationen mittels einerPersistenz-Schicht umgesetzt. Die Persistenz-Schicht hebt dierelationale Repräsentation der einzelnen Informationen auf eineobjektorientierte Ebene. Werden die einzelnen Daten-Objekte zudem in einer generischenGUI 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 derNaked-Objects-Dokumentation entliehen und stellt den möglichen Aufbau eines solchen CRUD-Frameworks dar.

Oftmals handelt es sich bei der grafischen Benutzeroberfläche eines CRUD-Frameworks um ein simples HTML-Interface. Typischerweise berücksichtigt das CRUD-Framework einzelneTransaktionsschritte. 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 Verhalten für die verbleibenden CRUD-Operationen auf. Es handelt sich bei einer CRUD-Operation folglich um einenatomaren Vorgang.
Atomare Operationen sind in diesem Zusammenhang von Interesse, da moderneSoftware-Anwendungen oftmals alsMehrbenutzersystem 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.
Beispiele
[Bearbeiten |Quelltext bearbeiten]Hier einige Beispiele für CRUD-Implementierungen, nachSprache bzw.Plattform gegliedert:
Einzelnachweise
[Bearbeiten |Quelltext bearbeiten]- ↑Joe Reis, Matt Housley:Handbuch Data Engineering: Robuste Datensysteme planen und erstellen. O'Reilly, 2023,ISBN 978-3-96010-768-2,S. 207 (eingeschränkte Vorschau in der Google-Buchsuche [abgerufen am 27. Juni 2024]).
- ↑Wolfgang Gerken:Datenbanksysteme für Dummies. John Wiley & Sons, 2023,ISBN 978-3-527-72037-8 (eingeschränkte Vorschau in der Google-Buchsuche [abgerufen am 27. Juni 2024]).
- ↑FuelPHP Documentation - Model_Crud Class