Question

Je comprends que DML englobe techniquement les verbes SQL qui simplement requête, mais ne modifient pas les données persistantes. (Voir, par exemple, wikipedia ou oracle ou orafaq )

Cependant, je voudrais souvent faire référence à « tous et seuls les verbes SQL qui modifient les données stockées / persistantes » - essentiellement INSERT, UPDATE, DELETE mais pas une SELECT plaine. Y at-il un terme officiel / standardisé, ou, peut-être séparément, un terme convaincant et gracieux, pour ce sous-ensemble de DML?

Était-ce utile?

La solution

Je ne pense pas qu'il y ait un, malheureusement, du point de vue officiel. Peut-être que nous avons besoin de faire un?

Personnellement, je pense que le terme DML est trompeur parce que le terme ne décrit pas vraiment la façon dont fonctionne SELECT, comme il (en général) ne fait pas modify quoi que ce soit. Il ne « recueille » les données relationnelles d'une manière différente dans l'espace temporaire et renvoie un ensemble spécifié de celui-ci.

Alors, si c'était mon choix, je dirais que:

DML décrirait INSERT / UPDATE / DELETE

et

DRL ( Langue de récupération de données ) décrirait SELECT .

Autres conseils

DML comprend SELECT INTO (par opposition à un SELECT) parce qu'il est un synonyme pour INSERTs. Il n'y a pas besoin de sous-catégoriser.

Après avoir réfléchi sur le chemin dans le travail, je me suis souvenu que SELECT est utilisé pour la manipulation de données. Par exemple:

SELECT t.firstname +' '+ t.lastname --String concatenation
SELECT CAST(t.column AS int) --Datatype change

Mon professeur utilisé pour les définir comme Edits (par opposition à Reads), mais je ne sais pas d'un terme standard pour DIU.

basé sur CRUD: crud , vous pourrait simplement dire CUD (créer, mettre à jour, supprimer). cependant, je ne suis pas sûr si quelqu'un l'utilise.

Selon le article de Wikipedia sur SQL,

  

Le langage de manipulation de données (DML)   est le sous-ensemble de SQL utilisé pour ajouter,   mettre à jour et de suppression des données:

et les qu'expliqué dans (INSERT, UPDATE, DELETE, merge, TRUNCATE , etc.) sont placés dans un catégorie différente que SELECT.

Alors, selon Wikipedia, DML peut inclure pas nécessairement SELECT.


Selon le SQL-92 standard, jetant un regard sur la table de-contenu révèle que DML ne comprend SELECT INTO:

     13 Data manipulation ............................................371

     (...)

     13.5 <select statement: single row> .............................382

     (...)

La définition apparaître dans la liste décrit SELECT <columns> INTO ....

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top