جدول معاملات قواعد البيانات

جدول معاملات قواعد البيانات هو نموذج تجريدي لوصف ترتيب تنفيذ مجموعة من المعاملات الجارية في النظام. والذي غالبًا ما يكون عبارة عن قائمة عمليات (أفعال) مرتبة زمنيًا، تُنفذها مجموعة من المعاملات التي تُنفذ معًا في النظام. وإذا لم يُحدد النظام الترتيب الزمني بين عمليات معينة، فسيتم ترتيبها جزئيًا. ومن الأمثلة على هذه العمليات طلب عملية قراءة، أو القراءة، أو الكتابة، والإلغاء، والتضمين، وطلب القفل، والقفل، وما إلى ذلك. غالبًا ما يُدرج الجدول مجموعة فرعية فقط من أنواع عمليات المعاملات.

تُعد جداول المعاملات من المفاهيم الأساسية في نظرية التحكم في تزامن قواعد البيانات. عمليًا، تستخدم معظم أنظمة قواعد البيانات العامة جداول مُعاملات قابلة للتسلسل في حالة التعارض وقابلة للاسترداد بشكل صارم.Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman (1987): Concurrency Control and Recovery in Database Systems (free PDF download), Addison Wesley Publishing Company,  جيرهارد وايكوم, Gottfried Vossen (2001): Transactional Information Systems, Elsevier,  موريس هيرلي and J. Eliot B. Moss. Transactional memory: architectural support for lock-free data structures. Proceedings of the 20th annual international symposium on Computer architecture (ISCA '93). Volume 21, Issue 2, May 1993.

 الترميز 
يتضمن ترميز الشبكة ما يلي:

 الأعمدة: المعاملات المختلفة في الجدول.
 الصفوف: الترتيب الزمني للعمليات (أو الإجراءات).

وتتضمن العمليات (أو الإجراءات) ما يلي:

 دالة R(X): تقوم هذه المعاملة بقراءة الكائن X (أي أنها تسترجع البيانات المخزنة في الكائن X) لتعديل البيانات (مثل X = X + 4) أثناء عملية الكتابة بدلاً من مجرد الكتابة فوقها. وعند تمثيل الجدول كقائمة بدلاً من تمثيله كشبكة، يُمثل هذا الإجراء على النحو التالي  حيث  هو رقم يقابل معاملة محددة.
 دالة W(X): تقوم المعاملة المقابلة بالكتابة في الكائن X، أي أنها تعدل البيانات المخزنة في X. عند تمثيل الجدول كقائمة بدلاً من تمثيله كشبكة، يُمثل الإجراء على النحو التالي  حيث  هو رقم يُقابل معاملة مُحددة.
 Com.: يُمثل هذا عملية تأكيد الإجراء حيث تكون المعاملة المُقابلة قد أكملت إجراءاتها السابقة بنجاح، وجعلت جميع التغييرات والتعديلات التي أجرتها في قاعدة البيانات دائمة.

يُمكن بدلًا من ذلك تمثيل الجدول برسم بياني مُوجه خالي من الحلقات، حيث يكون هُناك بيان مُوجه بين كل زوج مُرتب من العمليات.

 مثال 
فيما يلي مثال على جدول المعاملات في قواعد البيانات:
+DT3T2T3R(X)W(X)Com.R(Y)W(Y)Com.R(Z)W(Z)Com.
في هذا المثال، تُمثل الأعمدة المعاملات المختلفة في الجدول D. يتكون الجدول D من ثلاث معاملات، وهي: T1 - T2 - T3، بحيث تقرأ T1 أولاًا وتكتب إلى الكائن X، ثم تُجري عمليات تأكيد.ها، ثم تقرأ T2 وتكتب إلى الكائن Y وتُجري عمليات تأكيدها، وأخيرًا، تقرأ T3 وتكتب إلى الكائن Z وتُجري عمليات تأكيدها. ويمكن تمثيل الجدول السابق كقائمة بالطريقة التالية:

D = R1(X) W1(X) Com1 R2(Y) W2(Y) Com2 R3(Z) W3(Z) Com3

 مدة وترتيب الإجراءات 
عادةً، ولغرض دراسة التحكم في التزامن في قواعد البيانات، تُصاغ العملية على أنها ذرية، تحدث في نقطة زمنية محددة، دون مدة محددة، بينما العمليات الفعلية المُنفذة دائمًا ما يكون لها مدة محددة. ويمكن أن تتداخل عمليات المعاملات في جدول (أي أنه يمكن تنفيذ المعاملات بشكل متزامن)، ولكن يجب أن تبقى ترتيبات الوقت بين العمليات في كل معاملة دون تغيير. يكون الجدول مُرتّبًا جزئيًا عندما تتداخل عمليات المعاملات في الجدول (أي عندما يكون الجدول قابلًا للتسلسل في حالة التعارض ولكنه غير مُتتالي). ويكون الجدول مُرتّبًا كليًا عندما لا تتداخل عمليات المعاملات في الجدول (أي عندما يكون الجدول مُتتاليًا).

 مراجع 



تصنيف:إدارة البيانات
تصنيف:علم الحاسوب
تصنيف:قواعد بيانات
تصنيف:مسائل كثيرة حدود غير قطعية كاملة
تصنيف:مسائل الحوسبة الموزعة
تصنيف:نظام معالجة المعاملات
تصنيف:نظرية الترتيب
تصنيف:نظم إدارة قواعد البيانات