دعنا نناقش الفرق بين عبارات Commit و ROLLBACK في SQL بمساعدة مخطط المقارنة الموضح أدناه.
رسم بياني للمقارنة
أساس للمقارنة | ارتكب | التراجع |
---|---|---|
الأساسية | COMMIT بالتحقق من صحة التعديلات التي تجريها المعاملة الحالية. | يحذف ROLLBACK التعديلات التي تم إجراؤها بواسطة المعاملة الحالية. |
تأثير | بعد تنفيذ العبارة COMMIT ، لا يمكن المعاملة ROLLBACK. | بمجرد تنفيذ ROLLBACK ، تصل قاعدة البيانات إلى حالتها السابقة ، أي قبل تنفيذ العبارة الأولى من المعاملة. |
حادثة | يحدث COMMIT عندما يتم تنفيذ المعاملة بنجاح. | يحدث ROLLBACK عندما يتم إحباط المعاملة في منتصف التنفيذ. |
بناء الجملة | ارتكب؛ | التراجع. |
تعريف اللجنة
COMMIT هي عبارة SQL ، والتي تشير إلى إكمال المعاملة بنجاح . عند اكتمال تنفيذ العملية دون أي مقاطعة ، تصبح التعديلات التي يتم إجراؤها على قاعدة البيانات ، من خلال المعاملة دائمة. وهو ما يعني أن قاعدة البيانات لا يمكنها استعادة حالاتها السابقة التي كانت عليها قبل تنفيذ البيان الأول للمعاملة.
إن صيغة جملة COMMIT كما يلي:
ارتكب؛
عندما ينتهي آخر بيان من المعاملة تصبح المعاملة جزئية . بعد ذلك ، تضمن بروتوكولات الاسترداد ، أنه حتى فشل النظام ، لن يتمكن من قاعدة البيانات ، لجعل التعديلات دائمة. بمجرد التحقق من ذلك ، وصلت نقطة الالتزام في المعاملة وأخيراً تدخل المعاملة في حالة الالتزام . بمجرد دخول المعاملة في حالة الالتزام ، لا يمكن التراجع عنها ، وتبدأ عملية جديدة.
تعريف ROLLBACK
مثل COMMIT ، ROLLBACK هو أيضًا عبارة SQL ، ويشير إلى أن المعاملة لم تكتمل بنجاح . وبالتالي ، يتم إحباط المعاملة التراجع عن التغييرات التي تم إجراؤها بواسطة المعاملة. بعد تنفيذ ROLLBACK ، لا يتم إجراء أي تعديلات ، من خلال المعاملة الحالية.
بناء الجملة من ROLLBACK هو على النحو التالي:
التراجع
المعاملة ROLLBACK تصبح ضرورية في حالة حدوث خطأ أثناء تنفيذ معاملة. يمكن أن يكون الخطأ هو فشل النظام ، انقطاع التيار الكهربائي ، الخطأ في كشف المعاملات ، تعطل النظام. في حالة انقطاع التيار الكهربائي أو تعطل النظام ، يحدث ROLLBACK عند إعادة تشغيل النظام مرة أخرى. يمكن أن يحدث ROLLBACK فقط إذا لم يتم تنفيذ COMMIT.
الاختلافات الرئيسية بين COMMIT و ROLLBACK في SQL
- الاختلاف الرئيسي بين عبارات COMMIT و ROLLBACK من SQL هو أن تنفيذ العبارة COMMIT يجعل كل التعديل الذي تم إجراؤه بواسطة المعاملة الحالية تصبح دائمة. على الجانب الآخر ، يؤدي تنفيذ ROLLBACK إلى مسح جميع التعديلات التي تم إجراؤها بواسطة المعاملة الحالية.
- بمجرد تنفيذ جملة COMMIT ، لا يمكن أن يكون التعديل الذي تم إجراؤه بواسطة المعاملة ROLLBACK. ومع ذلك ، بمجرد تنفيذ العبارة ROLLBACK ، تصل قاعدة البيانات إلى حالتها السابقة.
- يتم تنفيذ CommIT على التنفيذ الناجح لعبارات المعاملة. ومع ذلك ، يتم تنفيذ ROLLBACK عندما لا يتم تنفيذ المعاملة بنجاح.
استنتاج:
للتأكد من حفظ التغييرات التي تم إجراؤها بواسطة المعاملة بشكل دائم في قاعدة البيانات ، استخدم CommIT بعد الإتمام الناجح للمعاملة. في حالة مواجهة المعاملة لأي خطأ أثناء التنفيذ ، عندئذٍ للتراجع عن التغييرات التي تمت بواسطة المعاملة ، يتم استخدام ROLLBACK.