سؤال

أنا أفهم أن DML يشمل تقنيا أفعال SQL التي استفسر فقط ولكن لا تعدل البيانات المستمرة. (انظر، على سبيل المثال، ويكيبيديا أو وحي أو orafaq.)

ومع ذلك، غالبا ما أرغب في الرجوع إلى "جميع أفعال SQL فقط والتي تعدل البيانات المخزنة / المستمرة" - أساسا INSERT, UPDATE, DELETE لكن ليس عادي SELECT. وبعد هل هناك مصطلح رسمي / موحد، أو ربما بشكل منفصل، مصطلح Cogent ورشيقة، لهذه الفرعية من DML؟

هل كانت مفيدة؟

المحلول

لا أعتقد أن هناك واحدا، للأسف، من منظور رسمي. ربما نحتاج إلى جعل واحدة؟

شخصيا، أعتقد أن مصطلح DML مضلل لأن المصطلح لا يصف حقا طريقة تحديد Works، كما هو الحال (عادة) في الواقع تعديل اى شى. فقط "يجمع" البيانات العلائقية بطريقة مختلفة في المساحة المؤقتة وإرجاع مجموعة محددة منه.

لذلك، إذا كان اختياري، أود أن أقول ذلك:

DML سوف تصف إدراج / التحديث / حذف

و

درل (لغة استرجاع البيانات) سوف تصف الاختيار.

نصائح أخرى

DML يشمل SELECT INTO (على عكس فقط SELECT) لأنه هو مرادف لإدراج. ليست هناك حاجة إلى الفئات الفرعية.

بعد التفكير في الأمر في الطريق إلى العمل، تذكرت أن الاختيار هو تستخدم لمعالجة البيانات. علي سبيل المثال:

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

اعتاد أستاذي تحديدها كتحرير (مقارنة بالقراءة)، لكنني لا أعرف مصطلح قياسي ل IUD.

بناء على CRUD: إنشاء وقراءة وتحديث وحذف, ، هل يمكن أن أقول فقط CUD (إنشاء، تحديث، حذف). ومع ذلك، لست متأكدا مما إذا كان أي شخص يستخدم ذلك.

بحسب ال مقالة ويكيبيديا على SQL,

لغة معالجة البيانات (DML) هي مجموعة فرعية من SQL المستخدمة لإضافة البيانات وتحديثها وحذفها:

و ال البيانات التي تمت مناقشتها هناك (إدراج، تحديث، حذف، دمج، اقتطاع، إلخ) وضعت في فئة مختلفة من اختيار.

لذلك، وفقا ل Wikipedia، قد لا يشمل DML بالضرورة تحديد.


بحسب ال SQL-92 قياسي, ، فإن اللقط على طاولة محتويات تكشف أن DML لا يشمل تحديد الدخول إلى:

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

     (...)

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

     (...)

التعريف المدرج هناك وصف SELECT <columns> INTO ... .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top