ایجاد، خواندن، روزآمدی و حذف

ایجاد، خواندن، روزآمدکردن (به‌روزرسانی) و حذف  که به اختصار (CRUD) نیز خوانده می‌شوند؛ چهار تابع بنیادین ذخیره ماندگار هستند. ممکن است از واژه‌های جایگزین در زمان تعریف چهار تابع اساسی CRUD استفاده شود، مثل «بازیابی » به جای خواندن، و اصلاح  به جای روزآمدکردن، و تخریب  به جای حذف. گاهی از واژه CRUD برای توصیف قراردادهای واسط کاربری که دیدن، جستجو، و تغییر اطلاعات را ساده‌سازی می‌کنند، استفاده می‌شود، این کار معمولاً از طریق فرم‌ها و گزارش‌های کامپیوتری انجام می‌شود. این اصطلاح (CRUD) احتمالاً اولین بار توسط جیمز مارتین در کتاب سال ۱۹۸۳ ایشان به نام «مدیریت محیط پایگاه داده» رواج یافته‌است. گاهی این کوته‌نوشت را به CRUDL گسترش می‌دهند تا «لیست کردن » دیتاست‌های بزرگ را پوشش دهد، و این موضوع پیچیدگی‌های اضافی پیش می‌آورد، مثلاً موقعی که دیتاست‌ها بسیار بزرگ هستند و نمی‌توان آنها را در حافظه نگهداشت، باید از صفحه‌بندی استفاده کرد.

 کاربردها در پایگاه داده 
کوته‌نوشت CRUD به همه «توابع عمده» ای که در نرم‌افزار کاربردی پایگاه داده رابطه‌ای پیاده‌سازی شده‌است، اشاره دارد. هر حرف موجود در این مخفف، را می‌توان به یک بیانیه زبان پرسمان ساخت‌یافته (SQL) استاندارد، متدهای پروتکل انتقال ابرمتن (HTTP) (که در ساخت واسط کاربری RESTful استفاده می‌شوند) یا یک عملیات خدمت توزیع‌شده داده (DDS) نگاشت داد:
OperationSQLHTTPRESTful WSDDSMongoDBCreateINSERTPUT / POSTPOSTwriteInsertRead (Retrieve)SELECTGETGETread / takeFindUpdate (Modify)UPDATEPUT / POST / PATCHPUTwriteUpdateDelete (Destroy)DELETEDELETEDELETEdisposeDelete
مقایسه عملیات‌های پایگاه داده محور CRUD با متدهای HTTP ایراداتی هم دارد. اگر بخواهیم دقیق‌تر بگوییم، هم PUT و هم POST می‌توانند منابع را بسازند یا روزآمد کنند؛ تفاوت کلیدی آن است که برخلاف POST، متد PUT خودتوان است، یعنی چندین درخواست مشابه باید تأثیر مشابهی با یک درخواست منفرد داشته باشد. درنتیجه، PUT یک عملیات «جایگزین» است، که می‌توان استدلال کرد که معادل روزآمدسازی یا «update» نیست.

اگرچه یک پایگاه داده رابطه‌ای یک لایه ماندگاری معمول در نرم‌افزارهای کاربردی می‌باشد، لایه‌های ماندگاری فراوان دیگری هم وجود دارد. برای مثال، عملیات CRUD را می‌توان در پایگاه داده شیء یا پایگاه داده اکس‌ام‌ال، یا فایل‌های متنی صاف، یا فرمت فایل سفارشی هم پیاده‌سازی کرد. بعضی از سامانه‌ها (داده‌ای بزرگ) UPDATE را پیاده‌سازی نمی‌کنند، بلکه فقط یک INSERT مهرزمان‌دار (وقعه‌نامه) دارند، یعنی در واقع یک ورژن جدید از شیء را ذخیره‌سازی می‌کنند. درنتیجه، آنها تراکنش ندارند، و ممکن است سازگاری‌شان را از دست بدهند.

 واسط کاربری 
CRUD همچنین با مرحله واسط کاربری بیشتر برنامه‌های کاربردی مرتبط است. مثلا در نرم‌افزار کتاب آدرس، که واحد ذخیره‌سازی مبنایی، یک «ورودی تماس» است. در اینجا به صورت یک حداقلی، نرم‌افزار باید به کاربر اجازه این موارد را بدهد:
 ساخت یا اضافه کردن ورودی جدید؛
 خواندن، بازیابی، جستجو، یا دیدن ورودی موجود؛
 روزآمدی یا اصلاح ورودی موجود؛
 حذف، غیرفعال‌سازی، یا برداشتن ورودی موجود.

بدون حداقل این چهار عملیات، نرم‌افزار را نمی‌توان کامل درنظر گرفت. به دلیل آنکه این عملیات‌ها بسیار بنیادین هستند، معمولاً مستندسازی شده، و تحت یک عنوان جامع توصیف می‌شوند، مثل «مدیریت تماس»، «مدیریت محتوا» یا «نگهداری از محتوا» (یا «مدیریت سند» به صورت کلی، بر اساس واحد ذخیره‌سازی اساسی برای کاربرد خاص).

 انواع دیگر 
دیگر انواع CRUD شامل این موارد است:
 BREAD: browse, read, edit, add, delete
 DAVE: delete, add, view, edit
 CRAP: create, replicate, append, process

 جستارهای وابسته 
 الگوی ثبت کنشور
 زبان دست‌کاری داده‌ها

 پانویس 

 منابع 


رده:مقاله‌های خرد پایگاه داده‌ها
رده:سامانه‌های مدیریت پایگاه داده‌ها