Ogólny termin dla INSERT
, UPDATE
, DELETE
i MERGE
jest „zmiana” (mimo że jest potencjalnie mylące - i nie jest idealny - że UPDATE
jest jedynie podzbiorem „update”). Alternatywnym terminem jest "przypisanie relacyjne".
termin rodzajowy dla SELECT
, INSERT
, UPDATE
, DELETE
, MERGE
(i coś jeszcze zakończone średnikiem) jest znany jako „oświadczenie”.
Ściśle mówiąc, "zapytanie" to instrukcja SELECT
, która zwraca zestaw wyników (co na przykład wyklucza oświadczenia SELECT..INTO..FROM
). Jednak użycie terminu "zapytanie" w odniesieniu do aktualizacji, choć nieformalne, jest niestety bardzo powszechne. Na przykład, mimo że "zapytanie o aktualizację" jest oksymoronem, gdy wykonuję wyszukiwanie w Google dla tej witryny przy użyciu tego dokładnego terminu (site:stackoverflow.com "update query"
), otrzymuję 17 300 odsłon!
UPDATE (pun indended :)
@David Marx: Nie zgadzam się z twierdzeniem, że jest to stosowne odnieść INSERT/DELETE/MERGE jako 'aktualizacji'. Byłoby to niezrozumiałe. Tylko aktualizacja jest aktualizacją.
Zgodziłem się w mojej oryginalnej odpowiedzi, że sytuacja jest potencjalnie myląca. Mamy szczęście na Stackoverflow, aby móc formatować odpowiedzi i komentarze, dzięki czemu słowo kluczowe UPDATE
można odróżnić od aktualizacji logicznej; pisanie słów kluczowych dużymi literami (wymagane przez Full Standard SQL-92 :) również pomaga.
Jednakże, czytając ogólną bazę danych i literaturę z dziedziny informatyki, mogę powiedzieć, że "aktualizacja" jest rzeczywiście poprawnym zbiorczym terminem. I poniżej zapewnić ten cytat za:
"Wstęp do teorii relacyjnych baz danych" (2010), Hugh Darwen [dostępny jako free pdf do pobrania - Google it):
Poszczególne podmioty aktualizacji oczekiwano w relacyjnym DBMS są zwykle nazywane INSERT
, DELETE
i UPDATE
, a są to nazwy używane w Samouczku D (również w SQL) [s.28]
To przykro mi, że słowo kluczowe UPDATE
stało się tak szerokie, że zostało przyjęte jako nazwa tylko jednego konkretnego operatora do aktualizacji baz danych . Proszę nie strzelać do posłańca! [P.168]
chociaż [relacyjną] Przypisanie teoretycznie jest wystarczająca dla celów aktualizujące, jest zazwyczaj bardziej dogodne stosowanie skróconych ekspresję różnicy między bieżącą wartością docelową relvar i nowej wartości. Czasami ... ta różnica to tylko jedna lub więcej krotek do istniejącego zestawu; czasami jest to tylko zmiana niektórych wartości atrybutów niektórych istniejących krotek; a czasami jest to usunięcie niektórych z istniejących krotek . Skróty dla tych trzech konkretnych przypadkach zostały skierowane jako INSERT
, UPDATE
i DELETE
odpowiednio, od czasu niepamiętnych czasów - innymi słowy, jeszcze przed pojawieniem się relacyjnych baz danych, choć oczywiście przed tym pojawieniem się celem aktualizacji były pliki, a nie relvars lub tabele SQL [s.165]
No, prawie wszystkich książek SQL mam czerwony, mówi 'polecenie INSERT/UPDATE/DELETE' – Rahul
mi potrzebne do stworzenia klas abstrakcyjnych dla mojego zespołu w celu wdrożyć jednostkę pracy, wzór polecenia z Entity Framework. Chciałem, aby klasy abstrakcyjne posiadały szablonową metodę Execute, która zajmowała się ustawieniami i saveChanges, więc nazewnictwo było ważne. Rzeczy, które wymyśliłem: AbstractMutateCommand, AbstractUpdateCommand, AbstractWriteCommand. Wybrał ostatni. –
Szukam tego samego - terminu dla 'select/insert/update/delete', ale ** nie ** dla wywołania procedury. Myślę, że nazwę to "oświadczenie". –