«کراد» یا همان CRUD در واقع یک کلمه نیست، بلکه علامت اختصاری است که از حروف اول چهار عمل اصلی در دنیای دیتابیس یا فضای ذخیرهسازی دادهها تشکیل شده است. این ۴ عمل اصلی شامل «Create» (ایجاد)، «Read» (خواندن یا دریافت)، «Update» (بروزرسانی یا ویرایش) و «Delete» یا «Destroy» (حذف) میشود. در این مقاله قصد داریم توضیح دهیم که CRUD چیست و بررسی کنیم هر یک از این ۴ عمل دقیقاً چه کاری انجام میدهند. همچنین نحوه کارکرد عملیات ایجاد، خواندن، ویرایش و حذف را در محیطی واقعی بررسی میکنیم.
CRUD چیست؟
CRUD به ۴ عملیات پایهای اشاره دارد که هر نرمافزاری باید قادر به انجام آنها باشد و شامل «Create» (ایجاد)، «Read» (خواندن یا دریافت)، «Update» (بهروزرسانی یا ویرایش) و «Delete» یا «Destroy» (حذف) میشود. در چنین برنامههایی، کاربران باید بتوانند دادهها را ایجاد کنند، از طریق رابط کاربری به دادهها دسترسی داشته باشند و آنها را بخوانند، دادهها را ویرایش یا بهروزرسانی و در نهایت آنها را حذف کنند. در برنامههای کامل و تمام عیار، برنامههای CRUD از ۳ بخش تشکیل شدهاند:
- رابط برنامهنویسی (API یا سرور)
- پایگاهداده
- رابط کاربری (UI)
API شامل کدها و متُدهاست، پایگاه داده اطلاعات را ذخیره و به کاربر در بازیابی آنها کمک میکند، در حالی که رابط کاربری به کاربران اجازه میدهد با برنامه تعامل داشته باشند. میتوان با هر یک از زبانهای برنامه نویسی موجود، برنامه CRUD نوشت و لازم نیست حتماً برنامه Full Stack باشد. میتوان برنامه CRUD را صرفاً با جاوا اسکریپت در سمت کلاینت (Client-side) هم نوشت.
در واقع، برنامهای که با آن نحوه کارکرد عملیات ایجاد، خواندن، ویرایش و حذف را به شما نشان خواهیم داد، تنها با جاوا اسکریپت سمت کلاینت نوشته شده است. هر یک از حروف اختصار CRUD با یک متد درخواست HTTP مرتبط است.
عملیات CRUD | متُد درخواست HTTP |
Create | POST |
Read | GET |
Update | PUT یا PATCH |
Delete | DELETE |
عملیات Create در CRUD چیست و چطور کار میکند؟
در CRUD، عملیات ایجاد یا Create همانطور که از نامش پیداست، یعنی ساخت و ایجاد یک ورودی یا رکورد جدید. این ورودی میتواند یک حساب کاربری، اطلاعات کاربر، یک پست یا یک تسک (کار) باشد. همانطور که قبلاً اشاره شد، پروتکل HTTP که عملیات CREATE را پیادهسازی میکند، متد POST است.
در یک پایگاهداده SQL، برای ایجاد، از دستور INSERT
استفاده میشود. در پایگاهداده غیرِ رابطهای مانند MongoDB، برای ایجاد از متدinsert()
استفاده میشود. تصویر متحرک (GIF) زیر نشان میدهد که چگونه عملیات CREATE
چگونه در یک رابط کاربری کار میکند:
همانطور که مشاهده می کنید، کاربر اطلاعات را در فیلدهای مربوطه وارد میکند و سپس با کلیک بر روی دکمه «Submit»، یک رکورد جدید در فهرست کارها ایجاد میشود. در پشت صحنه، درخواست HTTP به روش POST به سرور ارسال میشود تا رکورد جدید در پایگاهداده ذخیره شود.
عملیات READ در CRUD چیست و چطور کار میکند؟
عملیات READ یعنی دسترسی پیدا کردن به ورودیها یا رکوردهای موجود در رابط کاربری و دیدن آنها. باز هم، این ورودیها میتوانند هر چیزی از اطلاعات کاربر گرفته تا پستهای شبکههای اجتماعی و موارد دیگر باشند.
این دسترسی میتواند به این معنی باشد که کاربر بلافاصله پس از ایجاد رکوردها به آنها دسترسی پیدا کند، یا اینکه بتواند برای یافتن آنها جستجو کند. امکان جستجو برای این منظور پیادهسازی میشود که کاربر بتواند رکوردهای مورد نیاز خود را فیلتر کند. پروتکل HTTP که عملیات READ
را پیادهسازی میکند، متد GET است.
در یک پایگاهداده SQL، برای خواندن از دستور SELECT
استفاده میشود. در یک پایگاهداده غیر رابطهای مانند MongoDB، برای خواندن از متدهایfind()
یاfindById()
استفاده میکنیم. تصویر زیر نشان میدهد که عملیات READ
در رابط کاربری چگونه کار میکند:
همانطور که مشاهده میکنید، کاربر میتواند با استفاده از جعبه جستجو، رکوردهای خاصی را جستجو و فیلتر کند. سپس لیست فیلتر شده رکوردها در قسمت زیرین رابط کاربری نمایش داده میشود. در پشت صحنه، یک درخواست HTTP به روش GET به سرور ارسال میشود تا رکوردهای مورد نظر از پایگاهداده خوانده و بازیابی شوند.
عملیات UPDATE در CRUD چیست و چطور کار میکند؟
UPDATE عملیاتی است که به ما اجازه میدهد دادههای موجود را اصلاح یا ویرایش کنیم، یعنی ویرایش دادهها را انجام دهیم. برخلاف READ، عملیات UPDATE دادههای موجود را با ایجاد تغییرات در آنها، ویرایش میکند.
برای پیادهسازی عملیات UPDATE، میتوانید بسته به نیاز از پروتکلهای HTTP به نام PUT
و همچنین PATCH
استفاده کنید. PUT
زمانی باید استفاده شود که میخواهید کل رکورد بهروزرسانی شود و PATCH
زمانی که نمیخواهید کل رکورد تغییر کند مورد استفاده قرار میگیرد.
در یک پایگاه داده SQL، از دستور UPDATE
برای بهروزرسانی یک رکورد استفاده میشود. در یک پایگاه داده غیر رابطهای مانند مونگودیبی، میتوانید ویژگی بهروزرسانی را با استفاده از متدfindByIdAndUpdate()
پیادهسازی کنید. GIF زیر نشان میدهد که چگونه عملیات UPDATE
در رابط کاربری کار میکند:
همانطور که مشاهده میکنید، کاربر میتواند روی یکی از رکوردهای موجود کلیک کند تا فیلدهای آن رکورد قابل ویرایش شوند. سپس کاربر میتواند تغییرات مورد نظر را اعمال کند و با کلیک کردن روی دکمه «Update»، رکورد را بهروزرسانی نماید. در پشت صحنه، یک درخواست HTTP به روش PUT یا PATCH به سرور ارسال میشود تا رکورد مربوطه در پایگاه داده ویرایش و بهروزرسانی شود.
عملیات DELETE چیست و چطور کار میکند؟
حذف به این معنی است که یک رکورد یا ورودی را از رابط کاربری و پایگاه داده حذف کنید. DELETE پروتکل HTTP برای پیادهسازی عملیات حذف است. در یک پایگاه داده SQL، از دستور DELETE برای حذف رکورد استفاده میشود. در پایگاه داده غیر رابطهای مانند مونگودیبی، میتوانید عملیات حذف را با استفاده از متد findByIdAndDelete() پیادهسازی کنید. تصویر GIF زیر نشان میدهد که چگونه عملیات DELETE در رابط کاربری کار میکند:
همانطور که مشاهده میکنید، کاربر میتواند بر روی دکمه حذف در کنار هر رکورد کلیک کند تا آن رکورد از لیست حذف شود. در پشت صحنه، یک درخواست HTTP به روش DELETE به سرور ارسال میشود تا رکورد مورد نظر از پایگاه داده نیز حذف شود. عملیات حذف باید با احتیاط انجام شود، زیرا پس از حذف رکورد، دیگر امکان بازیابی آن وجود ندارد. معمولاً در برنامههای تجاری، به جای حذف کامل رکورد، یک فیلد وضعیت یا غیرفعالسازی برای آن در نظر گرفته میشود تا در صورت نیاز، بتوان آن را مجدد فعال کرد.
جمعبندی
این مقاله به ما نشان داد که CRUD به چه معناست و هر یک از عملیات انفرادی در یک برنامه CRUD چه کاری انجام میدهند. میتوانیم در مورد CRUD به این شکل فکر کنید:
- یک حساب کاربری شبکه اجتماعی ایجاد و اطلاعات خود را وارد میکنیم: عملیات CREATE (ایجاد)
- به اطلاعاتی که وارد کردهایم دسترسی پیدا میکنیم و دیگران میتوانند ما را جستجو کنند: عملیات READ (خواندن)
- در گوگل استخدام میشویم و وضعیت استخدامی خود را به «شاغل» تغییر میدهیم: UPDATE (بروزرسانی)
- از میزان سمی بودن شبکههای اجتماعی خسته میشویم و حساب کاربری خود را حذف میکنیم: DELETE (حذف)
برای اینکه یاد بگیرید چگونه میتوانید برنامه CRUD خودتان را بنویسید، میتوانید از این آموزش [+] استفاده کنید.
پس در این مقاله با مفهوم CRUD آشنا شدیم که شامل چهار عملیات اصلی ایجاد (Create)، خواندن (Read)، ویرایش (Update) و حذف (Delete) در دنیای برنامهنویسی و ذخیرهسازی دادهها است. هر یک از این عملیات با یک متُد درخواست HTTP مرتبط است و در برنامههای کاربردی مُدرن برای مدیریت دادهها و تعامل با پایگاههای داده استفاده میشوند. همچنین مشاهده کردیم که چگونه هر عملیات در رابط کاربری و پایگاه داده پیادهسازی میشود.