CRUD هو اختصار لـ ( CREATE و READ و UPDATE و DELETE)، وتصف هذه المصطلحات العمليات التنفيذية الأساسية الأربع لإنشاء عناصر تخزين البيانات الثابتة في تطبيقات الويب، والتي يمكن استخدامها عند انقطاع الاتصال بالويب وإدارتها خاصة في قواعد البيانات العلائقية. فعندما يقوم المطورون ببناء واجهات برمجة التطبيقات من المهم توفير نموذج إداري يحتوي على الأربع الوظائف الأساسية الموجودة ب CRUD، حيث يجب أن يكون النموذج قادرًاعلى إنشاء الموارد وقراءتها، وتحديثها، وحذفها حتى يكتمل.
ويستخدم CRUD على نطاق واسع في تطبيقات قواعد البيانات. ويتضمن ذلك أنظمة إدارة قواعد البيانات العلائقية (RDBMS) مثل: Oracle و MySQL، و PostgreSQL. ويتضمن أيضًا قواعد بيانات الغير العلائقية NoSQL، مثل: (MongoDB و Apache Cassandra و AWS DynamoDB). كما يمكن إجراء عمليات مشابهة ل CRUD على هياكل البيانات الثابتة مثل الملفات. على سبيل المثال: يمكنك إنشاء مستند Microsoft Word و تحديثه وقراءته وحتى حذفه من مستكشف الملفات. ومع ذلك فإن الملفات ليست موجهة نحو التسجيل (أو موجهة للمستندات في حالة MongoDB أو Couchbase). حيث ترتبط مصطلحات CRUD بشكل خاص بالعمليات الموجهة نحو التسجيل بدلاً من عمليات الملفات الثابتة.
تعريف آخر لمفهوم CRUD: يشيرCRUD هنا إلى العمليات الأساسية الأربع التي يجب أن يكون تطبيقات برمجيات الويب قادرة على تنفيذها - مثل( الإنشاء والقراءة والتحديث والحذف). فعند إنشاء إحدى برمجيات الويب يجب أن يكون المستخدمون قادرين على إنشاء البيانات،والوصول إلى البيانات الموجودة في واجهة المستخدم من خلال قراءة البيانات، وتحديث البيانات أو تحريرها، وحذف البيانات.
أما في التطبيقات الكاملة تتكون تطبيقات CRUD من 3 أجزاء: API (أو خادم)، وقاعدة بيانات ، وواجهة مستخدم (UI). حيث تحتوي واجهة برمجة التطبيقات على الكود والطرق، وتخزن قاعدة البيانات وتساعد المستخدم على استرداد المعلومات، بينما تساعد واجهة المستخدم المستخدمين على التفاعل مع التطبيق. بالإضافة إلى أنه يمكنك إنشاء تطبيق CRUD بأي من لغات البرمجة الموجودة هناك.
ما هي عمليات CRUD الأساسية؟
إنشاء ( create)
تمكنك العملية الإنشاء من إضافة سجلاً جديد إلى قاعدة البيانات. حيث يشار في نظام إدارة قواعد البيانات العلائقية -RDBMS- إلى صف جدول قاعدة البيانات على أنه سجل، بينما تسمى الأعمدة سمات أو حقولا. وتتيح العملية CREATE إضافة واحد أو أكثر من السجلات الجديدة بقيم حقول مميزة في جدول.
تنطبق نفس المبدأ على قواعد بيانات غير العلائقية NoSQL. في حال كانت قاعدة بيانات NoSQL موجهة نحو المستند، فسيتم إضافة مستند جديد (على سبيل المثال: مستند بتنسيق JSON بسماته) إلى المجموعة، وهو ما يعادل جدول إدارة قواعد البيانات العلائقية RDBMS.
وبالمثل في قواعد بيانات NoSQL مثل: DynamoDB تضيف عملية الإنشاء عنصرًا جديدا (وهو ما يعادل سجلًا ) إلى جدول.
قراءة (read)
تقوم العملية READ بإرجاع السجلات (أو المستندات أو العناصر) من جدول قاعدة البيانات (أو المجموعة أو الحاوية) بناءً على بعض معايير البحث.
كما يمكن لعملية القراءة أيضا إرجاع كافة السجلات وبعض أو كل الحقول.
تحديث (update)
يتم استخدام العملية تحديث - UPDATE- لتعديل السجلات الموجودة في قاعدة البيانات. فعلى سبيل المثال، يمكن أن يكون هذا التعديل هو تغيير العنوان في قاعدة بيانات العملاء، أو تغيير السعر في قاعدة بيانات المنتج.
وعلى غرار القراءة يمكنك تطبيق التحديثات عبر جميع السجلات أو القليل منها فقط، بناءً على المعايير المحددة.
كما يمكن لعملية UPDATE تعديل التغييرات واستمرارها في حقل واحد أو حقول متعددة من السجل.
وفي حالة تحديث حقول متعددة، يضمن نظام قاعدة البيانات تحديثها جميعًا أو عدم تحديثها على الإطلاق.
لا تنفذ بعض أنظمة البيانات الضخمة UPDATE ولكنها تسمح فقط بعملية إنشاء ذات طابع زمني، مع إضافة نسخة جديدة من الصف في كل مرة.
الحذف (delete)
عمليات الحذف تسمح للمستخدم بإزالة السجلات من قاعدة البيانات. ويؤدي الحذف الثابت إلى إزالة السجل تمامًا، بينما يقوم الحذف الناعم بوضع علامة على السجل ولكنه يتركه في مكانه.
على سبيل المثال تعتبر هذه العملية مهمة في تطبيقات تسجيل كشوف المرتبات، حيث يلزم الاحتفاظ بسجلات التوظيف حتى بعد مغادرة الموظف للشركة.
كيف يتم تنفيذ العمليات الأربعة وفقا لنظام إدارة البيانات؟
الإنشاء-create:
في قاعدة بيانات العلائقية SQL يكون الإنشاء هو INSERT.
في قاعدة البيانات NoSQL مثل MongoDB ، يمكنك الإنشاء باستخدام طريقة insert ().
القراءة- read:
في قاعدة بيانات SQL ، القراءة تعني اختيار select.
في قاعدة بيانات NoSQL مثل MongoDB ، تقرأ باستخدام طريقة find () أو findById ().
التحديث-update:
في قاعدة بيانات SQL ، يمكنك استخدام UPDATE لتحديث إدخال.
في قاعدة بيانات NoSQL مثل MongoDB ، يمكنك تنفيذ ميزة التحديث باستخدام طريقة findByIdAnd Update ().
الحذف- delete:
في قاعدة بيانات SQL ، يتم استخدام DELETE لحذف إدخال.
في قاعدة بيانات NoSQL مثل MongoDB ، يمكنك تنفيذ الحذف باستخدام طريقة findByIdAnd Delete ().
أمثلة على استخدام CRUD في تطبيقات الويب:
لنأخذ مثال متجر التجارة الإلكترونية: عندما ينشئ المستخدم سجلاً للعميل، يمكنه قراءة المخزون من خلال استعراض كتالوج المنتج.
عندما تقدم طلبًا يقوم النظام الخلفي بتحديث المخزون مؤقتًا ليعكس العدد المنخفض من العناصر المتاحة.
عندما تشتري العنصر يصبح التحديث دائمًا، ويمكن للمستخدمين الآخرين الذين يقرؤون عدد العناصر المتاحة رؤية التغيير. وفي الوقت نفسه ، تقوم عملية أخرى بإنشاء سجل في قاعدة بيانات شركة الشحن ، لإخطارهم بطلب الإرسال.
إذا قام المستخدم بإزالة عنصر من عربة التسوق ، فإن السجل المؤقت المضاف إلى جدول "المبيعات" هو DELETED.
مثال اخر: في وكالة السفر عبر الإنترنت، يمكن للمستخدم إنشاء طلب حجز وقراءة الرحلات الجوية المتاحة للمسار المطلوب وإجراء عملية شراء.
سيؤدي هذا إلى تحديث قائمة المقاعد المتاحة للرحلة وإنشاء سجلات متعددة في جدول "خط سير الرحلة". إذا أنهى المستخدم الجلسة في منتصف الطريق ، فسيتم حذف جميع الصفوف المتعلقة بهذه المعاملة.
في هذا المقال حاولنا تبسيط مفهوم CRUD، وكيف يتم تنفيذ عملياته الأساسية، وكيف تنشأ تطبيق ويب مطور باستخدام CRUD بالطريقة التقليدية وكيف يعمل مع أنظمة إدارة البيانات المختلفة.