Вопрос

Я понимаю, что DML технически включает в себя SQL-глаголы, которые просто запрашивают, но не изменяют постоянные данные.(См., например, википедия или Oracle или орафак)

Однако я часто хочу ссылаться на "все и только те SQL-глаголы, которые изменяют сохраненные / постоянные данные" - в основном INSERT, UPDATE, DELETE но не равнина SELECT.Существует ли официальный / стандартизированный термин или, возможно, отдельно, убедительный и изящный термин для этого подмножества DML?

Это было полезно?

Решение

Я не думаю, что таковой существует, к сожалению, с официальной точки зрения.Может быть, нам нужно что-нибудь придумать?

Лично я считаю, что термин DML вводит в заблуждение, потому что этот термин на самом деле не описывает способ работы SELECT, поскольку он (обычно) на самом деле не изменять что угодно.Он только "собирает" реляционные данные другим способом во временном пространстве и возвращает указанный их набор.

Так что, если бы это был мой выбор, я бы сказал, что:

DML описал бы ВСТАВКУ / ОБНОВЛЕНИЕ / УДАЛЕНИЕ

и

DRL ( ДХО ) (язык поиска данных) описал бы ВЫБОР.

Другие советы

DML включает в себя SELECT INTO (в отличие от просто SELECT) потому что это синоним для вставок.Нет необходимости разбивать на категории.

Подумав об этом по дороге на работу, я вспомнил, что ВЫБРАТЬ является используется для манипулирования данными.Например:

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

Мой профессор обычно определял их как Правки (в отличие от чтения), но я не знаю стандартного термина для ВМС.

на основе CRUD: Создавать, читать, обновлять и удалять, вы могли бы просто сказать CUD (создавать, обновлять, удалять).однако я не уверен, использует ли это кто-нибудь.

В соответствии с Статья в Википедии о SQL,

Язык обработки данных (DML) является подмножеством SQL, используемого для добавления, обновления и удаления данных:

и тот заявления, обсуждавшиеся там (ВСТАВКА, ОБНОВЛЕНИЕ, УДАЛЕНИЕ, СЛИЯНИЕ, УСЕЧЕНИЕ и т.д.) помещаются в другая категория чем ВЫБИРАТЬ.

Итак, согласно Википедии, DML не обязательно может включать SELECT .


В соответствии с Стандарт SQL-92, просмотр оглавления показывает, что DML действительно включает SELECT В:

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

     (...)

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

     (...)

Приведенное там определение описывает SELECT <columns> INTO ... .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top