فعالسازی حذف نرم در Azure SQL
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۱۷ ۲۰:۳۳
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
IsDeleted در هر پرس و جو، راهکاری شکننده است. از دست دادن یک فیلتر میتواند دادهها را در معرض خطر قرار دهد. Row Level Security (RLS) قوانین دید را در داخل پایگاه داده اعمال میکند، بنابراین کد برنامه نمیتواند آنها را دور بزند.
در این آموزش، یک جدول Todos ایجاد میشود که در آن حذف نرم در لایه پایگاه داده اعمال میشود. مراحل شامل ایجاد کاربر و لاگین، ایجاد جدول و دادههای نمونه، تعریف حذف نرم با استفاده از یک رویه ذخیره شده (DeleteTodo) و اعمال Row Level Security برای کنترل دید کاربران به ردیفها است. تابع fn_SoftDeletePredicate برای اعمال RLS تعریف شده است که فقط ردیفهایی را به کاربر TodoDbUser نشان میدهد که IsDeleted آنها برابر با 0 باشد.
این روش به توسعهدهندگان C# و سایر زبانهای برنامهنویسی که با Azure SQL کار میکنند، این امکان را میدهد تا از حذف دائمی دادهها جلوگیری کرده و در صورت نیاز، آنها را بازیابی کنند. استفاده از RLS به جای فیلتر کردن در کد برنامه، امنیت و کارایی را بهبود میبخشد.
در نهایت، این مقاله یک راهکار عملی برای پیادهسازی حذف نرم در Azure SQL ارائه میدهد که به توسعهدهندگان کمک میکند تا دادههای خود را با خیال راحت مدیریت کنند و از دست رفتن ناخواسته آنها جلوگیری کنند. این تکنیک به ویژه در سناریوهایی که با هوش مصنوعی و یادگیری ماشین کار میکنید، مفید است.