CRUD als basis voor gegevensbeheer
De term CRUD is nauw verbonden met het beheer van digitale gegevens. CRUD is een afkorting, afgeleid van de namen van de vier fundamentele bewerkingen in databasetoepassingen:
- Create (gegevensrecord aanmaken)
- Read of Retrieve (gegevensrecord lezen)
- Update (gegevensrecord bijwerken)
- Delete of Destroy (gegevensrecord verwijderen)
Eenvoudig gezegd bestaat de term CRUD uit alle functies die een gebruiker nodig heeft om gegevens aan te maken en te beheren. Verschillende datamanagementprocessen zijn gebaseerd op CRUD, waarbij de operations (bewerkingen) specifiek zijn aangepast aan de eisen van het systeem en de gebruiker, ongeacht of het gaat om het beheren van databases of het gebruik van applicaties. De operations vormen de typische en onmisbare toegangstools waarmee experts databaseproblemen kunnen controleren, terwijl CRUD voor een gebruiker betekent dat ze op elk moment een account kunnen aanmaken (create) en gebruiken (read), bijwerken (update) of verwijderen (delete). In verschillende taalomgevingen worden CRUD-bewerkingen overigens verschillend uitgevoerd, zoals weergegeven in de volgende tabel:
| CRUD-bewerking |
SQL |
RESTful http |
XQuery |
| Create |
INSERT |
POST, PUT |
insert |
| Read |
SELECT |
GET, HEAD |
copy/modify/return |
| Update |
UPDATE |
PUT, PATCH |
replace, rename |
| Delete |
DELETE |
DELETE |
delete |
CRUD-frameworks: toegangslaag voor databases
Als afzonderlijke gegevensobjecten met een grafische gebruikersinterface worden gevisualiseerd en via de vermelde CRUD-bewerkingen kunnen worden gewijzigd, spreken we van een CRUD-framework of CRUD-grid. De interfaces zijn meestal HTML-interfaces. Een CRUD-framework vereist meerdere transactiestappen, waardoor bijvoorbeeld gegevens niet via eenvoudige invoer worden overgedragen, maar pas na het klikken op een knop ‘Opslaan’ of ‘Doorgaan’. Je kunt de bewerkingen van een CRUD-framework ook met een grote vertraging laten uitvoeren, zonder het datarecord in deze periode voor andere gebruikers te vergrendelen. Dit is met name van belang in systemen waarin meerdere gebruikers dezelfde gegevens tegelijkertijd moeten kunnen lezen.
Voor de uitvoering van de operations worden zogenaamde persistentielagen gebruikt, die meestal als uitbreidingen (modules) in het framework zijn opgenomen of daarin kunnen worden geïmplementeerd. Deze splitsen de relationele, tabelachtige weergave van de datasets af en presenteren ze in plaats daarvan op objectgeoriënteerd niveau. CRUD-frameworks maken de ontwikkeling en het gebruik van applicaties eenvoudiger door de toegang tot het gebruikte databanksysteem te optimaliseren. Er bestaan talloze frameworks met een CRUD-concept, gebaseerd op verschillende talen en platforms. We geven een paar voorbeelden:
| Taal of platform |
Framework |
| Java |
JDBC (The Java Database Connectivity), Hibernate, JBoss Seam, Isis |
| PHP |
Yii, CakePHP, Zikula, Symfony, TYPO3 Flow |
| Perl |
Catalyst, Gantry |
| Python |
Django, SQLAlchemy, web2py |
| Groovy |
Grails |
| .NET |
NHibernate, ADO.NET/Entity Framework |
| Ruby |
Ruby on Rails |
| JavaScript |
Backbone.js, AngularJS |