زبان دستکاری دادهها (DML) چیست؟
زبان دستکاری دادهها (DML) زیرمجموعهای از زبان پرسوجوی ساختاریافته (SQL) است که بهطور خاص برای مدیریت و دستکاری دادهها در یک پایگاه داده طراحی شده است. این زبان بر عملیاتی تمرکز دارد که مستقیماً با دادههای ذخیرهشده در جداول تعامل دارند، برخلاف تعریف یا کنترل ساختار خود پایگاه داده.
سیستم مدیریت پایگاه داده، چارچوبی از توابع یا گویشها را برای اصلاح یا تغییر دادهها ارائه میدهد که زبان دستکاری دادهها نامیده میشود. دستکاری دادهها میتواند با تایپ کردن کوئریهای SQL یا با استفاده از یک رابط گرافیکی که معمولاً Query-by-Example نامیده میشود، انجام شود. دستکاری دادهها شامل وارد کردن دادهها به جداول، تغییر دادههای جدول و حذف دادهها از جدول است.
←برای خرید کرک لایسنس تبلو Tableau با تمام ویژگی ها کلیک کنید
DML چیست؟
DML مخفف Data Manipulation Language است. جداول و فرمولها هنگام برقراری ارتباط با دادههای ذخیره شده تا یک نقطه در پایگاه داده از طریق SQL (زبان جستجوی ساختار یافته) مفید هستند، اما زمانی فرا میرسد که واقعاً میخواهیم برخی از تعاملات نسبتاً پیچیده داده را اجرا کنیم. در این شرایط به زبان دستکاری دادهها نیز نیاز خواهیم داشت.
زبان دستکاری دادهها راهی برای اطلاعرسانی دقیق به یک پایگاه داده است که با مکالمه به روشی که برای درک آن از ابتدا ساخته شده است، دقیقاً همان کاری را که میخواهیم انجام دهد، به ما اطلاع میدهد. وقتی صحبت از تعامل با دادههای موجود، چه اضافه کردن، جابجایی یا حذف دادهها، میشود، این زبان راهی مناسب برای انجام این کار فراهم میکند.
کنترل تراکنش برای دستورات DML مورد نیاز است. هر تغییری که یک دستور DML در پایگاه داده ایجاد کند، تراکنش نامیده میشود. بنابراین، هر تنظیمی که توسط دستور زبان دستکاری دادهها انجام شود، باید توسط دستورات TCL (زبان کنترل تراکنش) کنترل شود. DML زیرمجموعهای از دستورات SQL است که اطلاعات ذخیره شده در جداول را تغییر میدهد. زیرا عمدتاً بر عملکرد پایگاه داده تمرکز دارد و همچنین از ماهیت فقط-افزودنی ذخیرهسازی HDFS (سیستم فایل توزیع شده Hadoop) استفاده میکند.
به طور کلی، دستورات زبان دستکاری دادهها در یکی از چهار دسته اصلی قرار میگیرند:
- INSERT دادههای جدید را به یک جدول اضافه میکند.
- UPDATE دادههای موجود در یک جدول را تغییر میدهد.
- DELETE یک رکورد را از یک جدول خارج میکند.
- SELECT اطلاعات را از یک یا چند جدول خارج میکند.
انواع زبان دستکاری دادهها
اساساً دو نوع زبان دستکاری دادهها وجود دارد. این موارد در زیر ذکر شده است. ما آنها را در تفاوت بین قالببندی و قالببندی شرح دادهایم.
- High-Level or Non-Procedural DML به معنی زبان دستکاری دادهها سطح بالا یا غیررویهای
- Low-Level or Procedural DML به معنی زبان دستکاری دادهها سطح پایین یا رویهای
DML سطح بالا یا غیررویهای در مقابل DML سطح پایین یا رویهای
| High-Level or Non-Procedural DML | Low-level or Procedural DML |
|---|---|
|
همچنین به عنوان DML تنظیمشده در هر زمان یا DML سریگرا نیز شناخته میشود. |
همچنین به عنوان DML آهنگ در هر زمان برچسب گذاری شده است. |
|
میتواند به تنهایی برای تعیین دقیق عملیات پیچیده در پایگاه داده مورد استفاده قرار گیرد. |
باید با یک زبان برنامهنویسی عمومی یکپارچه شود. |
|
ماهیت تجویزی دارد. |
در طبیعت ضروری و اجتنابناپذیر است. |
|
این امر مستلزم آن است که کاربر به وضوح بیان کند که به چه دادههایی نیاز دارد، بدون اینکه مشخص کند چگونه و چه زمانی میتواند آن دادهها را به دست آورد. |
این امر مستلزم آن است که کاربر به وضوح بیان کند که به چه دادههایی نیاز دارد و چگونه میتواند آن دادهها را به دست آورد. |
|
برای مثال: هر دستور SQL یک دستور تجویزی است. |
برای مثال: SQL PL مربوط به DB2، PL/SQL مربوط به Oracle. |
ویژگیهای زبان دستکاری دادهها
این دستور، کوئریهای دادهای فقط تفسیری را انجام میدهد. در یک طرح پایگاه داده برای فراخوانی و دستکاری اطلاعات استفاده میشود. زبان دستکاری دادهها این یک گویش است که برای انتخاب، درج، حذف و بهروزرسانی دادهها در یک پایگاه داده استفاده میشود. دستورات زبان دستکاری دادهها (DML) به شرح زیر است:
دستور SELECT
این دستور برای استخراج دادهها از پایگاه داده استفاده میشود. به کاربران پایگاه داده کمک میکند تا از طریق یک سیستم عامل به دادههای مهم مورد نیاز خود دسترسی پیدا کنند. این دستور یک مجموعه نتیجه ردیابی را از یک یا چند جدول ارسال میکند.
Syntax :
SELECT * FROM <table_name>;
Example:
SELECT * FROM students; OR SELECT * FROM students where due_fees <=20000;
دستور INSERT
این دستور برای وارد کردن اطلاعات یا مقادیر در یک ردیف استفاده میشود. میتوانیم با استفاده از این دستورالعمل، یک یا چند رکورد را به یک جدول واحد در یک مخزن متصل کنیم. این اغلب برای اتصال یک برچسب استفاده نشده به اسناد استفاده میشود.
Syntax:
INSERT INTO <table_name> ('column_name1' <datatype>, 'column_name2' <datatype>)
VALUES ('value1', 'value2');
Example :
INSERT INTO students ('stu_id' int, 'stu_name' varchar(20), 'city' varchar(20))
VALUES ('1', 'Nirmit', 'Gorakhpur');
دستور UPDATE
این دستور برای تغییر رکوردهای جدول موجود استفاده میشود. در یک جدول، دادههای یک یا چند رکورد را تغییر میدهد. این دستور برای تغییر دادههایی که از قبل در یک جدول وجود دارند استفاده میشود.
Syntax:
UPDATE <table_name> SET <column_name = value> WHERE condition;
Example:
UPDATE students SET due_fees = 20000 WHERE stu_name = 'Mini';
دستور DELETE
این دستور تمام آرشیوها را از یک جدول حذف میکند. این دستور برای پاک کردن برخی یا تمام رکوردهای جدول قبلی استفاده میشود. اگر شرط ‘WHERE’ را مشخص نکنیم، تمام ردیفها پاک یا حذف میشوند.
Syntax:
DELETE FROM <table_name> WHERE <condition>;
Example:
DELETE FROM students WHERE stu_id = '001';
مزایای زبان دستکاری دادهها
- دستورات DML میتوانند دادههای موجود یا ذخیره شده در پایگاه داده را تغییر دهند.
- این امر ارتباط مؤثر انسان با دستگاه را فراهم میکند.
- کاربر میتواند مشخص کند که چه دادههایی مورد نیاز است.
- هدف DML ایجاد تنوع و قابلیتهای مختلف بین فروشندگان ارائه دهنده پایگاههای داده است.
معایب زبان دستکاری دادهها
- ما نمیتوانیم از DML برای تغییر ساختار پایگاه داده استفاده کنیم.
- نمای جدول را محدود میکند، یعنی میتواند برخی از ستونها را در جداول پنهان کند.
- بدون داشتن دادههای ذخیره شده در شیء به دادهها دسترسی پیدا کنید.
- با استفاده از DML نمیتوان لیستها یا بخشها را ساخت یا پاک کرد.
نتیجهگیری
دستورات DML به شما امکان میدهند دادههای ذخیره شده در اشیاء پایگاه داده را پرس و جو، ویرایش، اضافه و حذف کنید. دستورات اصلی زبان دستکاری دادهها عبارتند از SELECT، INSERT، DELETE و UPDATE. با استفاده از دستورات DML، میتوانید اقدامات قدرتمندی را روی دادههای واقعی ذخیره شده در سیستم خود انجام دهید. معمولاً دستورات DML SELECT را خواهید دید که در مدلهای داده برای انجام تجزیه و تحلیل دادهها یا ایجاد جداول و نماهای جدید نوشته شدهاند. از بسیاری جهات، DML هوایی است که ما افراد داده تنفس میکنیم.
مقاله های مرتبط:
1– توسعه پایگاه داده استاندارد SQL Server
2- DBMS یا سیستم مدیریت پایگاه داده چیست؟
3- 11 روش برتر برای طراحی پایگاه داده
4-داشبورد سازی در نرم افزار تبلو و تجسم داده ها
