الفرق بين DDL وDML في نظام إدارة قواعد البيانات (DBMS).
الاختلافات الرئيسية بين DDL و DML
- تساعدك لغة تعريف البيانات (DDL) على تحديد بنية قاعدة البيانات أو مخططها، بينما تسمح لك لغة معالجة البيانات (أمر DML) بإدارة البيانات المخزنة في قاعدة البيانات.
- يتم استخدام أمر DDL لإنشاء مخطط قاعدة البيانات، بينما يتم استخدام أمر DML لملء قاعدة البيانات ومعالجتها
- بمقارنة DDL مقابل DML، تؤثر عبارات DDL على الجدول بأكمله، بينما تؤثر أوامر DML فقط على صف واحد أو أكثر.
- في DDL، لا يمكن التراجع عن عبارة SQL، بينما في DML، يمكن التراجع عن عبارة SQL.
- DDL هي طريقة تعريفية، في حين أن DML هي طريقة حتمية.
- أوامر DDL المهمة هي: 1) إنشاء، 2) تغيير، 3) إسقاط، 4) اقتطاع، وما إلى ذلك، في حين أن أوامر DML المهمة هي: 1) إدراج، 2) تحديث، 3) حذف، 4) دمج، وما إلى ذلك.

لقد قمت هنا بتحليل الفرق بين DDL وDML وسوف أقوم بتقييم إيجابيات وسلبيات كل منهما بشكل شامل.
ما هو DDL؟
تساعدك لغة تعريف البيانات على تحديد بنية قاعدة البيانات أو مخططها. تساعدك أوامر DDL على إنشاء بنية قاعدة البيانات وكائنات قاعدة البيانات الأخرى. يتم تنفيذ أوامره تلقائيًا، لذا يتم حفظ التغييرات في قاعدة البيانات بشكل دائم. الشكل الكامل لـ DDL هو لغة تعريف البيانات.
أوامر DDL
خمسة أنواع من أوامر DDL هي:
خلق
يتم استخدام عبارات CREATE لتحديد مخطط هيكل قاعدة البيانات:
بناء الجملة:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
مثلا:
Create database university; Create table students; Create view for_students;
إسقاط
أوامر Drops تزيل الجداول وقواعد البيانات من RDBMS.
بناء الجملة:
DROP TABLE ;
فمثلا:
Drop object_type object_name; Drop database university; Drop table student;
ALTER
يسمح لك أمر Alters بتغيير بنية الملف قاعدة بيانات.
بناء الجملة:
لإضافة عمود جديد في الجدول
ALTER TABLE table_name ADD column_name COLUMN-definition;
لتعديل عمود موجود في الجدول:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
فمثلا:
Alter table guru99 add subject varchar;
اقتطاع
يستخدم هذا الأمر لحذف كافة الصفوف من الجدول وتحرير المساحة التي تحتوي على الجدول.
بناء الجملة:
TRUNCATE TABLE table_name;
على سبيل المثال:
TRUNCATE table students;
مثال أمر DDL
خلق
بناء الجملة:
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
هنا،
- تشير المعلمة tableName إلى اسم الجدول الذي ستقوم بإنشائه.
- تشير المعلمات column_1، column_2... إلى الأعمدة التي سيتم إضافتها إلى الجدول.
- يجب تحديد العمود كـ NULL أو NOT NULL. إذا لم تحدد، ملقم SQL سوف تتخذ NULL كافتراضي
على سبيل المثال:
CREATE TABLE Students ( Student_ID Int, Student_Name Varchar(10) )
ALTER
بناء الجملة:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
على سبيل المثال:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
إسقاط
بناء الجملة:
DROP TABLE <tableName>;
المعلمة tableName هي اسم الجدول الذي سيتم حذفه.
على سبيل المثال:
DROP TABLE COURSE_NAMES;
لماذا نستخدم أوامر DDL؟
وهنا سأشرح لماذا نفضل طريقة DDL:
- يسمح لك بتخزين البيانات المشتركة
- استقلالية البيانات تحسنت من النزاهة
- يسمح لعدة مستخدمين
- تحسين الوصول إلى البيانات الأمنية بكفاءة
ما هو DML؟
أوامر DML تسمح لك بإدارة البيانات المخزنة في قاعدة البيانات، على الرغم من أن أوامر DML ليست ثابتة تلقائيًا. علاوة على ذلك، فهي ليست دائمة. لذا، من الممكن التراجع عن العملية. الشكل الكامل لـ DML هو لغة معالجة البيانات.
أوامر DML
أود تسليط الضوء على بعض أوامر DML المهمة:
- INSERT
- قم
- حذف
INSERT
هذا عبارة عن استعلام SQL. يستخدم هذا الأمر لإدراج البيانات في صف الجدول.
بناء الجملة:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
فمثلا:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
قم
يُستخدم هذا الأمر لتحديث أو تعديل قيمة عمود في الجدول.
بناء الجملة:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
فمثلا:
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
حذف
يستخدم هذا الأمر لإزالة صف واحد أو أكثر من الجدول.
بناء الجملة:
DELETE FROM table_name [WHERE condition];
فمثلا:
DELETE FROM students WHERE FirstName = 'Jhon';
مثال أمر DML
INSERT
In PL / SQLيمكننا إدراج البيانات في أي جدول باستخدام SQL أمر إدراج في. سيأخذ هذا الأمر اسم الجدول وعمود الجدول وقيم الأعمدة كمدخلات ويدرج القيمة في الجدول الأساسي.
يمكن لأمر INSERT أيضًا أخذ القيم مباشرة من جدول آخر باستخدام عبارة "SELECT" بدلاً من إعطاء القيم لكل عمود. من خلال عبارة "SELECT"، يمكننا إدراج العديد من الصفوف التي يحتوي عليها الجدول الأساسي.
بناء الجملة:
BEGIN
INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>)
VALUES(<valuel><value2>,...:<value_n>);
END;
يُظهر بناء الجملة أعلاه الأمر INSERT INTO. اسم الجدول وقيمه عبارة عن حقول إلزامية، في حين أن أسماء الأعمدة ليست إلزامية إذا كانت عبارات الإدراج تحتوي على قيم لجميع أعمدة الجدول.
تعتبر الكلمة الأساسية "VALUES" إلزامية إذا تم تقديم القيم بشكل منفصل، كما هو موضح أعلاه.
بناء الجملة:
BEGIN
INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>)
SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;
END;
يُظهر بناء الجملة أعلاه الأمر INSERT INTO الذي يأخذ القيم مباشرةً من الملف باستخدام الأمر SELECT.
لا ينبغي أن تكون الكلمة الأساسية "VALUES" موجودة في هذه الحالة، حيث لا يتم تقديم القيم بشكل منفصل.
حذف
يوجد أدناه بناء الجملة لحذف الجدول
بناء الجملة:
DROP TABLE <TableName>;
المعلمة TableName هي اسم الجدول الذي سيتم حذفه.
على سبيل المثال:
DROP TABLE COURSE_NAMES;
اختر
لعرض البيانات في SQL Server، نستخدم عبارة SELECT.
بناء الجملة:
SELECT expression FROM tableName [WHERE condition];
على سبيل المثال:
SELECT * FROM Course;
لماذا نستخدم أوامر DML؟
وهنا، انطلاقا من خبرتنا الجماعية، نستعرض فوائد DML:
- تسمح لك عبارات DML بتعديل البيانات المخزنة في قاعدة البيانات.
- يمكن للمستخدمين تحديد البيانات المطلوبة.
- يقدم DML العديد من النكهات والإمكانيات المختلفة بين بائعي قواعد البيانات.
- إنه يوفر تفاعلًا بشريًا فعالاً مع النظام.
الفرق بين DDL وDML في نظام إدارة قواعد البيانات (DBMS).
اسمحوا لي أن أشرح الفرق الرئيسي بين أوامر DDL وDML DBMS:

| أساس المقارنة | DDL | DML |
|---|---|---|
| خفيف | تساعدك لغة تعريف البيانات (DDL) على تحديد بنية قاعدة البيانات أو مخططها. | تتيح لك لغة معالجة البيانات (أمر DML) إدارة البيانات المخزنة في قاعدة البيانات. |
| استعمل | يتم استخدام أمر DDL لإنشاء مخطط قاعدة البيانات. | يتم استخدام أمر DML لملء قاعدة البيانات ومعالجتها |
| تصنيف | لم يتم تصنيف DDL كذلك. | يتم تصنيف DML على أنها DMLs إجرائية وغير إجرائية. |
| استخدامات الأوامر |
الأوامر شائعة الاستخدام ضمن لغة DDL هي:
|
الأوامر شائعة الاستخدام ضمن لغة DML هي:
|
| يعرف | ويحدد عمود الجدول. | يقوم بإضافة أو تحديث صف الجدول |
| تأثير | تؤثر عبارات DDL على الجدول بأكمله. | يؤثر DML على صف واحد أو أكثر. |
| العودة | لا يمكن التراجع عن بيان SQL | يمكن أن يكون بيان SQL التراجع |
كيفية الاختيار بين DDL وDML
نلاحظ أنه بينما يتم استخدام DDL لتحديد بنية قاعدة البيانات، فإن DML تدور حول البيانات الموجودة بداخلها، حيث يخدم كل منها أدوارًا مهمة.
