Opprett, les, oppdater og slett

Fra Wikipedia, den frie encyklopedi

I programmering er opprett, les, oppdater og slett (ofte referert til som CRUD, fra engelsk: create, read, update and delete) de fire grunnleggende operasjonene for vedvarende lagring av data.[1]

Historie[rediger | rediger kilde]

Begrepet ble sannsynligvis først popularisert av James Martin i sin bok fra 1983 Managing the data-base environment.

Konsept[rediger | rediger kilde]

Data kan legges inn på et område på en lagringsmekanisme.

  • Den grunnleggende egenskapen til en lagringslokasjon er at innholdet både er lesbart og oppdaterbart
  • Før et lagringssted kan leses eller oppdateres må det bli opprettet, som vil si allokert og initialisert med innhold
  • På et senere tidspunkt kan det hende at lagringsstedet må ødelegges, som vil si at det er ferdigstilt og deallokert

Sammen utgjør disse fire operasjonene de grunnleggende operasjonene for lagringsadministrasjon kjent som CRUD: create, read, update, delete.

Database[rediger | rediger kilde]

Forkortelsen CRUD refererer til hovedoperasjonene som implementeres av databaser, og hver av bokstavene i akronymet kan avbildes til standard SQL-kommandoer:[2]

CRUD SQL
Create INSERT
Read SELECT
Update UPDATE
Delete DELETE

Selv om relasjonsdatabaser er vanlige å bruke som et vedvarende lag i programvare finnes det også mange andre vedvarende lag. CRUD-funksjonalitet kan for eksempel implementeres med dokumentdatabaser, objektdatabaser, XML-databaser, tekstfiler eller binære filer.

Noen stordata-systemer implementerer ikke oppdatering, men har i stedet bare tidsstemplet innsetting (journalføring) og lagrer en helt ny versjon av objektet hver gang.

RESTful API-er[rediger | rediger kilde]

Forkortelsen CRUD brukes også om RESTful API-er, og kan avbildes til HTTP-metoder på følgende måte:

CRUD HTTP
Create POST, PUT dersom man har id eller uuid
Read GET
Update PUT
Delete DELETE

CRUD-operasjoner i HTTP samvarer med metodene GET (for read), PUT (for create og update), POST (for create, hvis man ikke har id eller uuid) og DELETE (delete) ettersom de har semantikk for lagringsadministrasjon, hvilket betyr at de lar brukeragenter direkte manipulere tilstandene til målressurser.[3] POST-metoden derimot er en prosessoperasjon som har målressurs-spesifikk semantikk som vanligvis overskrider omfanget av CRUD-operasjoner.[4]

Se også[rediger | rediger kilde]

Referanser[rediger | rediger kilde]

  1. ^ Martin, James. Managing the Data-base Environment. Englewood Cliffs, New Jersey: Prentice-Hall. s. 381. ISBN 0-135-50582-8. 
  2. ^ Maryam Sulemani. «CRUD operations explained: Create, read, update, delete». Besøkt 14. desember 2021. 
  3. ^ Fielding, Roy. «Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, Section 4». Internet Engineering Task Force (IETF). Besøkt 14. februar 2018. 
  4. ^ Roy T. Fielding. «It is okay to use POST». roy.gbiv.com. Besøkt 14. april 2020.