Il termine generico per un INSERT
, UPDATE
, DELETE
e MERGE
è un "aggiornamento" (anche se è potenzialmente confusione - e non ideale - che UPDATE
è solo un sottoinsieme di "aggiornamento"). Un termine alternativo è "assegnazione relazionale".
Il termine generico per SELECT
, INSERT
, UPDATE
, DELETE
, MERGE
(e qualsiasi altra cosa terminato da un punto e virgola) è conosciuto come una "dichiarazione".
A rigor di termini, una "query" è una dichiarazione SELECT
che restituisce un gruppo di risultati (che ad esempio precludere SELECT..INTO..FROM
dichiarazioni). Tuttavia, usare il termine "query" per riferirsi a un aggiornamento, sebbene informale, è purtroppo molto comune. Ad esempio, anche se "query di aggiornamento" è un ossimoro, quando faccio una ricerca su Google per questo sito usando quel termine esatto (site:stackoverflow.com "update query"
) ottengo 17.300 visite!
UPDATE (gioco di parole indended :)
@ David Marx: Non sono d'accordo con il reclamo che è opportuno fare riferimento di inserimento/cancellazione/MERGE come un 'aggiornamento.' Sarebbe estremamente confuso lo . Solo UPDATE è un aggiornamento.
Sono d'accordo nella mia risposta originale che la situazione è potenzialmente confusa. Siamo fortunati su Stackoverflow per essere in grado di formattare risposte e commenti in modo che una parola chiave UPDATE
possa essere differenziata da un aggiornamento logico; scrivere parole chiave in maiuscolo (come richiesto da Full Standard SQL-92 :) aiuta anche.
Tuttavia, dalla lettura del database generale e della letteratura informatica, posso dirvi che "aggiornamento" è effettivamente il termine collettivo corretto. Ho seguito fornisco una citazione per questo:
"Introduzione alla teoria dei database relazionali" (2010), Hugh Darwen [disponibile come free download PDF - Google):
I diversi operatori aggiornamento previsto in un DBMS relazionale sono di solito chiamati INSERT
, DELETE
e UPDATE
e quelli sono i nomi utilizzati nell'esercitazione D (anche in SQL) [p.28]
E 'deplorevole che la parola chiave UPDATE
è diventato così ampiamente accettato come il nome di un solo operatore particolare per l'aggiornamento dei database . Per favore non sparare al messaggero! [P.168]
sebbene [relazionale] assegnazione è teoricamente sufficiente per scopi aggiornamento, di solito è più conveniente usare un'abbreviazione esprime la differenza tra il valore corrente del bersaglio relvar e il nuovo valore. A volte ... questa differenza è solo l'aggiunta di una o più tuple al set esistente, ; a volte è solo modifiche ad alcuni dei valori degli attributi di alcune delle tuple esistenti ; e talvolta è solo la rimozione di alcune delle tuple esistenti. Abbreviazioni per questi tre casi particolari sono stati deferiti come INSERT
, UPDATE
e DELETE
, rispettivamente, da tempo immemorabile, - in altre parole, anche prima dell'avvento relazionali banche dati, anche se naturalmente prima che dell'avvento gli obiettivi delle aggiornamenti erano file, non relvars o tabelle SQL [p.165]
beh, quasi tutti i manuali di SQL che ho rosso, dice 'comando INSERT/UPDATE/DELETE' – Rahul
avevo bisogno di creare classi astratte per la mia squadra in ordine implementare l'Unità di lavoro, modello di comando con Entity Framework. Volevo che le classi astratte avessero un metodo Execute di template che si occupasse di setup e saveChanges, quindi la denominazione era importante. Le cose che mi sono venute in mente: AbstractMutateCommand, AbstractUpdateCommand, AbstractWriteCommand. Ho scelto l'ultimo. –
Sto cercando lo stesso - un termine per "seleziona/inserisci/aggiorna/cancella", ma ** non ** per la chiamata di procedura. Penso che lo chiamerò "dichiarazione". –