Terminologia: DML “que modifica as coisas”
-
19-09-2019 - |
Pergunta
Eu entendo que DML engloba tecnicamente verbos SQL que apenas consulta, mas não modificam dados persistentes. (Ver, por exemplo, wikipedia ou oracle ou orafaq )
No entanto, muitas vezes eu gostaria de referir-se a "todos e apenas os verbos SQL que modificam armazenados / dados persistentes" - basicamente INSERT
, UPDATE
, DELETE
mas não a SELECT
simples. Existe uma / termo oficial padronizado, ou, talvez, separadamente, um convincente e prazo graciosa, para este subconjunto de DML?
Solução
Eu não acho que há um, infelizmente, de uma perspectiva oficial. Talvez tenhamos de fazer um up?
Pessoalmente, acho que o termo DML é enganosa porque o termo realmente não descrever a maneira SELECIONE obras, uma vez que (geralmente) não faz realmente Modificar qualquer coisa. Ele apenas "recolhe" os dados relacionais de uma forma diferente em espaço temporário e retorna um conjunto especificado do mesmo.
Então, se foi a minha escolha, eu diria que:
DML descreveria INSERT / UPDATE / DELETE
e
DRL ( dados linguagem de recuperação ) descreveria SELECT .
Outras dicas
DML inclui SELECT INTO
(em oposição a apenas SELECT
) porque é uma sinônimo para inserções. Não há nenhuma necessidade de subcategorizar.
Depois de pensar sobre isso no caminho para o trabalho, eu me lembrei que selecione é usado para manipulação de dados. Por exemplo:
SELECT t.firstname +' '+ t.lastname --String concatenation
SELECT CAST(t.column AS int) --Datatype change
Meu professor usado para defini-los como edições (em oposição a Lê), mas eu não sei de um termo padrão para DIU.
baseado em CRUD: Criar, ler, atualizar e de exclusão, você poderia apenas dizer CUD (criar, atualizar, excluir). no entanto, eu não tenho certeza se os usos ninguém que.
De acordo com o href="http://en.wikipedia.org/wiki/SQL" rel="nofollow noreferrer"> artigo ,
O Data Manipulation Language (DML) é o subconjunto de SQL usado para adicionar, atualizar e excluir dados:
e os declarações discutido há (INSERT, UPDATE, DELETE, MERGE, TRUNCATE , etc) são colocados em um diferente categoria que SELECT.
Assim, de acordo com a Wikipedia, DML podem não necessariamente incluir SELECT.
De acordo com a SQL-92 padrão , olhando para o conteúdo da tabela de-revela que DML que incluem SELECT INTO:
13 Data manipulation ............................................371 (...) 13.5 <select statement: single row> .............................382 (...)
A definição listado lá descreve SELECT <columns> INTO ...
.