<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=CRUD</id>
	<title>CRUD - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=CRUD"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=CRUD&amp;action=history"/>
	<updated>2026-06-03T06:51:15Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=CRUD&amp;diff=421618&amp;oldid=prev</id>
		<title>imported&gt;Georg Hügler am 24. Oktober 2025 um 15:47 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=CRUD&amp;diff=421618&amp;oldid=prev"/>
		<updated>2025-10-24T15:47:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Weiterleitungshinweis|RUDI|Zu weiteren Bedeutungen siehe [[Rudi]].}}&lt;br /&gt;
&lt;br /&gt;
Das [[Akronym]] &amp;#039;&amp;#039;&amp;#039;CRUD&amp;#039;&amp;#039;&amp;#039; [{{IPA|kɹʌd}}] umfasst die vier grundlegenden Operationen [[Persistenz (Informatik)|persistenter Speicher]]:&amp;lt;ref&amp;gt;{{Literatur |Autor=Joe Reis, Matt Housley |Titel=Handbuch Data Engineering: Robuste Datensysteme planen und erstellen |Seiten=207 |Verlag=O&amp;#039;Reilly |Datum=2023-08-01 |ISBN=978-3-96010-768-2 |Online={{Google Buch|BuchID=ZYDLEAAAQBAJ|Seite=PA207}} |Abruf=2024-06-27 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;{{lang|en|&amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;reate}}&amp;#039;&amp;#039;, [[Datensatz]] anlegen,&lt;br /&gt;
* &amp;#039;&amp;#039;{{lang|en|&amp;#039;&amp;#039;&amp;#039;R&amp;#039;&amp;#039;&amp;#039;ead}}&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;{{lang|en|Retrieve}}&amp;#039;&amp;#039;, Datensatz lesen,&lt;br /&gt;
* &amp;#039;&amp;#039;{{lang|en|[[Update (Datenbank)|&amp;#039;&amp;#039;&amp;#039;U&amp;#039;&amp;#039;&amp;#039;pdate]]}}&amp;#039;&amp;#039;, Datensatz aktualisieren, und&lt;br /&gt;
* &amp;#039;&amp;#039;{{lang|en|&amp;#039;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;#039;elete}}&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;{{lang|en|&amp;#039;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;#039;estroy}}&amp;#039;&amp;#039;, Datensatz löschen.&lt;br /&gt;
&lt;br /&gt;
Von manchen Autoren wird alternativ das Akronym RUDI mit &amp;#039;&amp;#039;{{lang|en|insert}}&amp;#039;&amp;#039; an Stelle von &amp;#039;&amp;#039;{{lang|en|create}}&amp;#039;&amp;#039; verwendet.&amp;lt;ref&amp;gt;{{Literatur |Autor=Wolfgang Gerken |Titel=Datenbanksysteme für Dummies |Verlag=John Wiley &amp;amp; Sons |Datum=2023-03-06 |ISBN=978-3-527-72037-8 |Online={{Google Buch|BuchID=e5KgEAAAQBAJ|Seite=PA320}} |Abruf=2024-06-27}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Belege fehlen}}&lt;br /&gt;
== CRUD-Sprachkonstrukte ==&lt;br /&gt;
CRUD-Operationen können je nach Umgebung in verschiedenen Sprachkonstrukten ausgedrückt werden:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! CRUD-Operation !! [[SQL]]-92 !! [[HTTP]] ([[Representational State Transfer|REST]])&lt;br /&gt;
|-&lt;br /&gt;
| Create || &amp;lt;code&amp;gt;INSERT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;PUT&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Read (Retrieve) || &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Update || &amp;lt;code&amp;gt;UPDATE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;PATCH&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;PUT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Delete (Destroy) || &amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CRUD-Frameworks ==&lt;br /&gt;
Vielfach werden die einzelnen CRUD-Operationen mittels einer [[Persistenz (Informatik)|Persistenz]]-Schicht umgesetzt. Die Persistenz-Schicht hebt die [[Relationale Datenbank|relationale]] Repräsentation der einzelnen Informationen auf eine [[Objektorientierte Programmierung|objektorientierte]] Ebene. Werden die einzelnen Daten-Objekte zudem in einer generischen [[Grafische Benutzeroberfläche|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|Naked-Objects]]-Dokumentation entliehen und stellt den möglichen Aufbau eines solchen CRUD-Frameworks dar.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Nakedobjects.png|mini|500px|Vergleich herkömmliches Framework (links) versus CRUD-Framework (rechts) am Beispiel von [[Naked Objects]]]]&lt;br /&gt;
&lt;br /&gt;
Oftmals handelt es sich bei der grafischen Benutzeroberfläche eines CRUD-Frameworks um ein simples HTML-Interface. Typischerweise berücksichtigt das CRUD-Framework einzelne [[Transaktion (Informatik)|Transaktionsschritte]]. Dies hat zur Folge, dass Daten nur gespeichert werden, wenn innerhalb der HTML-Oberfläche der Speichern- bzw. Weiter-[[Schaltfläche|Button]] gedrückt wurde. Ist dies der Fall, so wird letztlich die Update-Operation ausgeführt.&lt;br /&gt;
&lt;br /&gt;
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 einen [[Atomare Operation|atomaren Vorgang]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
Hier einige Beispiele für CRUD-Implementierungen, nach [[Programmiersprache|Sprache]] bzw. [[Plattform (Computer)|Plattform]] gegliedert:&lt;br /&gt;
{{Mehrspaltige Liste|breite=|anzahl=3|abstand=|liste=&lt;br /&gt;
; [[Java (Programmiersprache)|Java]]&lt;br /&gt;
* [[Java Database Connectivity|JDBC]]&lt;br /&gt;
* [[JBoss Seam]]&lt;br /&gt;
* [[Naked Objects]] for Java&lt;br /&gt;
&lt;br /&gt;
; [[PHP]]&lt;br /&gt;
* [[Agavi]]&lt;br /&gt;
* [[CakePHP]]&lt;br /&gt;
* [[CRUDlex]]&lt;br /&gt;
* [[FuelPHP]]&amp;lt;ref&amp;gt;[http://fuelphp.com/docs/classes/model_crud/introduction.html FuelPHP Documentation - Model_Crud Class]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Laravel]]&lt;br /&gt;
* [[Qcodo]]&lt;br /&gt;
* [[Symfony]]&lt;br /&gt;
* [[Zikula]]&lt;br /&gt;
* [[Yii]]&lt;br /&gt;
* [[TYPO3 Flow|TYPO 3 Flow]]&lt;br /&gt;
* [[Extbase/Fluid]]&lt;br /&gt;
&lt;br /&gt;
; [[Perl (Programmiersprache)|Perl]]&lt;br /&gt;
* [[Catalyst Web Framework|Catalyst]]&lt;br /&gt;
* Gantry&lt;br /&gt;
&lt;br /&gt;
; [[Python (Programmiersprache)|Python]]&lt;br /&gt;
* [[Django (Framework)|Django]]&lt;br /&gt;
* [[SQLAlchemy]]&lt;br /&gt;
* [[TurboGears]]&lt;br /&gt;
* [[web2py]]&lt;br /&gt;
&lt;br /&gt;
; [[Groovy]]&lt;br /&gt;
* [[Grails]]&lt;br /&gt;
&lt;br /&gt;
; [[.Net-Framework]]/[[.NET (Plattform)|.NET]]&lt;br /&gt;
* [[ADO.NET]]&lt;br /&gt;
* [[Entity Framework]]&lt;br /&gt;
&lt;br /&gt;
; [[Ruby (Programmiersprache)|Ruby]]&lt;br /&gt;
* [[Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
; [[Dart (Programmiersprache)|Dart]]&lt;br /&gt;
* Dartabase Migration und Dartabase Model&lt;br /&gt;
&lt;br /&gt;
; [[JavaScript]]&lt;br /&gt;
* [[Backbone.js]]&lt;br /&gt;
* [[AngularJS]]&lt;br /&gt;
&lt;br /&gt;
; [[Embarcadero Delphi]]&lt;br /&gt;
* [[DataSnap]]}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Softwarearchitektur]]&lt;br /&gt;
[[Kategorie:Datenbanktheorie]]&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Georg Hügler</name></author>
	</entry>
</feed>