CRUD: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Nuova pagina: In informatica, '''create''', '''read''', '''update''', e '''delete''' ('''CRUD''') –in italiano, creazione, lettura, aggiornamento e rimozione– sono le quattro operazioni basilari della gestione persistente dei dati.<ref name="james-martin">{{cite book |last=Martin |first=James |author-link=James Martin (author) |year=1983 |title=Managing the Data-base Environment |publisher=Prentice-Hall |place=Englewood...
(Nessuna differenza)

Versione delle 17:42, 14 dic 2021

In informatica, create, read, update, e delete (CRUD) –in italiano, creazione, lettura, aggiornamento e rimozione– sono le quattro operazioni basilari della gestione persistente dei dati.[1] La popolarità del termine deriva dal libro del 1983 Managing the Data-base environment dell'informatico James Martin.

Concetti basilari

I dati possono trovarsi in una certa area del meccanismo di archiviazione.

  • La caratteristica fondamentale di quest'area è che il suo contenuto sia leggibile ed aggiornabile.
  • Prima che l'area di archiviazione venga letta o aggiornata, essa dev'essere creata; ciò consiste nell'allocamento di memoria ed inizializzazione tramite un certo contenuto.
  • Ad un certo punto successivo alla creazione, l'area di archiviazione deve poter essere distrutta; ciò consiste nel deallocamento della memoria ad essa riservata.

Le quattro operazioni basilari per permettere queste attività sono le cosiddette CRUD: Create (creazione), Read (lettura), Update (aggiornamento), e Delete (rimozione).

Database

L'acronimo CRUD si riferisce alle principali operazioni implementate nei database. Ogni lettera dell'acronimo può essere mappata in un'istruzione SQL standard:

CRUD SQL
Create INSERT
Read SELECT
Update UPDATE
Delete DELETE

Oltre ai database relazionali, anche altre tecnologie possono usate come livello di persistenza in un applicazione software. Le funzionalità CRUD possono essere implementate, per esempio, con basi di dati document-oriented, object-oriented, XML, testuali o file binari.

Nota: alcuni sistemi di big data non implementano la funzionalità UPDATE, ma per l'inserimento dei dati forniscono solo un'INSERT a cui è associato un timestamp e salvano una versione dell'"oggetto" completamente nuova ad ogni aggiornamento.

API RESTful

L'acronimo CRUD è usato anche in relazione alle API RESTful. Ogni lettera dell'acronimo è associata ad un metodo HTTP:

CRUD HTTP
Create PUT
Read GET
Update PUT
Delete DELETE

Nel protocollo HTTP, i metodi GET (lettura), PUT (creazione e aggiornamento) e DELETE (rimozione) sono considerate operazioni CRUD in quanto aventi una precisa semantica relativa alla gestione dell'archiviazione dei dati. Esse permettono infatti allo user agent di manipolare direttamente lo stato della risorsa Web d'interesse.[2] La semantica del metodo POST, d'altro canto, non corrispondead alcuna semantica delle operazioni CRUD.[3]

Alternative

Tra alternative a CRUD, solitamente usate per scopi specifici, troviamo:

  • CRUDL (create, read, update, delete, list)
  • BREAD (browse, read, edit, add, delete)[4]
  • DAVE (delete, add, view, edit)[5]
  • CRAP (create, replicate, append, process)[6]

Note

  1. ^ (EN) James Martin, Managing the Data-base Environment, Prentice-Hall, 1983, p. 381, ISBN 0-135-50582-8.
  2. ^ (EN) Roy Fielding, Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, Section 4, su tools.ietf.org, Internet Engineering Task Force (IETF), giugno 2014.
  3. ^ (EN) Roy T. Fielding, It is okay to use POST, su roy.gbiv.com, 20 marzo 2009. URL consultato il 14 aprile 2020.
    «POST only becomes an issue when it is used in a situation for which some other method is ideally suited: e.g., retrieval of information that should be a representation of some resource (GET), complete replacement of a representation (PUT), or any of the other standardized methods that tell intermediaries something more valuable than “this may change something.” The other methods are more valuable to intermediaries because they say something about how failures can be automatically handled and how intermediate caches can optimize their behavior. POST does not have those characteristics, but that doesn’t mean we can live without it. POST serves many useful purposes in HTTP, including the general purpose of “this action isn’t worth standardizing.”»
  4. ^ (EN) Paul M. Jones, BREAD, not CRUD, su paul-m-jones.com, 2008.
  5. ^ (EN) Beginning Django E-Commerce, 21 giugno 2010, p. 41, ISBN 978-1-4302-2536-2.
  6. ^ (EN) CRAP and CRUD: From Database to Datacloud - Direct2DellEMC, in Direct2DellEMC, 13 novembre 2012.

Voci correlate

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica