عملیات ایجاد، خواندن، به روز رسانی و حذف برای هر برنامه پایگاه داده محوری هستند. انجام این عبارات DML (زبان دستکاری داده ها) می تواند خطرناک باشد، به خصوص اگر شما تازه وارد پایگاه های داده باشید و ندانید این عبارات چگونه کار می کنند.
در این دوره آموزشی، نحوه ایجاد عملیات CRUD و همچنین نحوه قرار دادن آن ها در رویه های ذخیره شده یا Stored Procedure به طوری که دستکاری داده ها در سمت پایگاه داده باشد و از برنامه اجرا نشود، به شما آموزش داده می شود.
سورس گیت هاب CRUD Stored Procedure در net8
Stored Procedure یا رویه های ذخیره شده
همانطور که از نام آن پیداست Stored Procedure یک رویه ای است که ذخیره می شود. به زبان ساده، این بدان معناست که دنباله ای از کد یا بلوکی از کدهای SQL ذخیره می شود و می توان از آن بارها و بارها بدون تداخل با برنامه شما استفاده کرد.
یک رویه ذخیره شده یا Stored Procedure همچنین می تواند پارامترهایی را از یک منبع خارجی (مانند یک برنامه کاربردی) بپذیرد و بر اساس مقدار یا مقادیر ارسال شده مطابق با آن عمل کند.
CRUD Stored Procedure چیست؟
یک CRUD Stored Procedure مجموعه ای از عبارات SQL است که در یک بلوک نامگذاری شده محصور شده است و به توسعه دهندگان این امکان را می دهد تا عملیات ایجاد، خواندن، به روز رسانی و حذف را روی جدول پایگاه داده به طور موثر و ایمن انجام دهند.
چرا باید از CRUD Stored Procedure استفاده کرد؟
دلایل مختلفی برای استفاده از Stored Procedure یا رویه های ذخیره شده برای انجام عملیات CRUD به جای دستورات SQL ad-hoc وجود دارد:
عملکرد
پس از اولین اجرای یک رویه ذخیره شده، طرح اجرای رویه ها در حافظه پنهان رویه سرور SQL ذخیره می شود و برای همه فراخوانی های بعدی رویه ذخیره شده مجددا استفاده می شود.
هنگامی که هر دستور SQL در SQL Server اجرا میشود، موتور رابطهای ابتدا از طریق حافظه پنهان رویه بررسی میکند تا تأیید کند که یک برنامه اجرایی موجود برای دستور SQL مشخص شده وجود دارد و از هر طرح موجود مجدداً استفاده میکند و هزینههای سربار مراحل تجزیه، بهینهسازی و کامپایل مجدد را ذخیره میکند. برای دستور SQL. اگر برنامه اجرا وجود نداشته باشد که در مورد دستورات SQL ad-hoc وجود دارد، SQL Server یک برنامه اجرایی جدید برای پرس و جو ایجاد می کند.
کد SQL را از لایه های دیگر برنامه جدا می کند
با حذف دستورات SQL از کد برنامه، تمام SQL را می توان در پایگاه داده نگهداری کرد و چیزی جز فراخوانی رویه ها در برنامه کلاینت ذخیره نمی شود. استفاده از رویه های ذخیره شده برای کپسوله کردن دسترسی به پایگاه داده نیز یک راه موثر برای کاهش coupling پایگاه داده است.
از حملات SQL injection جلوگیری می کند
استفاده از رویه های ذخیره شده به جای الحاق رشته ها برای ساخت پرس و جوهای پویا از داده های ورودی کاربر برای تمام دستورات SQL، احتمال حملات SQL injection را کاهش می دهد زیرا هر چیزی که در یک پارامتر قرار می گیرد در این فرآیند نقل قول می شود.
نتیجه گیری
میتوانید با توسعه عملیات CRUD با استفاده از Stored Procedure ها، با جداول پایگاه داده خود تعامل مؤثری داشته باشید. رویه های ذخیره شده یا Stored Procedure ها خطر SQL injection را کاهش می دهند، عملکرد پایگاه داده را افزایش می دهند و اجازه استفاده مجدد از کد را می دهند.
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید