🗄️ شرح SQL وقواعد البيانات

المعاملات (Transactions) و ACID

ما هي المعاملة؟

المعاملة (Transaction) مجموعة عمليات تُنفَّذ كوحدة واحدة: إمّا تنجح كلها أو لا يحدث شيء.

المثال الكلاسيكي: تحويل أموال بين حسابين — خصم من واحد وإضافة لآخر.

BEGIN;

UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;

COMMIT;

ROLLBACK

إذا حدث خطأ، نتراجع عن كل شيء:

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
-- اكتشفنا مشكلة
ROLLBACK;   -- إلغاء كل التعديلات

خصائص ACID

الحرفالخاصيةالمعنى
AAtomicity (الذرّية)الكل أو لا شيء
CConsistency (الاتساق)تبقى القواعد سليمة
IIsolation (العزل)المعاملات لا تتداخل
DDurability (الديمومة)بعد COMMIT تبقى البيانات حتى لو انقطع التيار

لماذا المعاملات مهمّة؟

بدونها، خطأ في منتصف عملية متعدّدة الخطوات قد يترك البيانات في حالة فاسدة (خُصم المبلغ ولم يُضَف).

💡 معظم لغات الخوادم (PHP, Node, Python) تبدأ المعاملات عبر مكتبة قاعدة البيانات (PDO, Sequelize...).

🎯 التالي: الأمان وحقن SQL.